Overview
BackSearch answers one question no live search API can: “what did the web know on date X?” Every request carries anas_of date. Search returns only documents archived on
or before that date, and fetch returns a page as it was captured at that
time. The archive never moves, so the same query with the same as_of returns
the same results forever.
This is the same engine behind the BackSearchToolset
you can declare in an environment, available here as a standalone HTTP API.
The cutoff gates on when a page was archived, not on the date the page
claims for itself. A self-reported publish date is exactly the field a
backdated crawl cannot trust, so gating on the capture is what guarantees
nothing after the cutoff leaks in. Sources that carry an official date gate on
that instead: SEC filings on their filing date, arXiv papers on the date each
version was posted, and Wikipedia on the date of its monthly snapshot.
Base URL & authentication
or_...) in the x-api-key header.
There is no separate credential to obtain.
What is in the archive
Six corpora sit behind one endpoint. A search fans out across the corpora marked as default below; any corpus can also be named explicitly with thecorpus field (see Corpus routing).
- News is a continuous crawl of news domains. Each hit carries both the
crawl date (what
as_ofgates on) and the article’s own publish date. - SEC filings are EDGAR filings including 10-Ks, 10-Qs, 8-Ks, 13Fs and Form 4s. They gate on the official filing date, and fetch returns the full text of the filing with tables rendered as markdown.
- Wikipedia is a snapshot of English Wikipedia taken on the first of each month. A cutoff resolves to the newest snapshot on or before it, for both search and fetch.
- General web is a broad crawl captured in periodic windows rather than continuously, starting June 2025. Fetch returns extracted text only.
- Live captures are pages BackSearch fetched from the live web on demand to fill a coverage gap for a recent cutoff, then persisted with their capture date. See Recent cutoffs.
- arXiv holds every paper since the first postings in August 1991, with
each revision as its own capture. A cutoff between v1 and v2 returns v1.
Fetch returns the LaTeX source of that version. arXiv is not part of the
default fan-out because papers are noise on most non-academic queries; name
it in
corpusto search it.
Rolling sources are refreshed continuously and trail the present by a few
days. An
as_of before a source’s first capture simply returns nothing from
that source rather than an error, so a run that silently finds no evidence is
usually a date past the edge of the archive.Pricing
Pay-as-you-go against your prepaid OpenReward balance, with no subscription.
Only successful requests are billed. A search that errors, or a fetch that finds
no capture on or before
as_of (a 404), is not charged. When your balance
is exhausted the API returns 402 Payment Required. Top up to
continue.
POST /search
Hybrid lexical + semantic search over the archive, cut off atas_of.
Request body
Corpus routing
- With no
corpus, a search fans out across every corpus marked as default: news, SEC filings, Wikipedia, general web and live captures. - Naming corpora replaces the default set rather than extending it.
["cc_arxiv"]searches arXiv alone;["cc_arxiv", "cc_news"]searches arXiv and news. - An unrecognised corpus name is silently ignored, and matching is
case-sensitive. A typo therefore returns ordinary default results rather than
an error. Read each hit’s
corpusfield to confirm what served it. - Routing applies under
hybridanddense. Underbm25thecorpusfield has no effect and hits come back withcorpus: null.
Response
Example
- curl
- Python
- arXiv only
Recent cutoffs and live fallback
The rolling corpora trail the present by a few days, so a cutoff within the last two days can fall into a gap the archive has not filled yet. When such a search finds nothing usable, BackSearch fills it: first from the live-capture corpus (fallback: "corpus"), then from a cache of earlier live lookups
("cache"), and as a last resort from a live web provider ("live"). Pages
found this way are stored in cc_web_live with their capture date, so the
same query at the same cutoff is reproducible from then on.
This path never engages for a cutoff older than two days. A backdated as_of
is always answered from the frozen archive alone.
POST /fetch
Retrieve a page’s content as it was archived on or beforeas_of, the
point-in-time counterpart to search.
Request body
Response
Per-source behaviour
If there is no capture of the URL on or before
as_of, the API returns 404
and does not bill the request. The detail string names the sources that were
checked.
Example
- curl
- Python
- With a summary
Errors
Other endpoints
Checking your usage
GET https://api.openreward.ai/v1/billing/api-usage returns metered search and
fetch usage for the account behind your API key.
Query parameters
Response
- curl
- CLI
Adding credits
To top up open your organization’s billing page atopenreward.ai/<your-org>/billing (for example,
openreward.ai/GeneralReasoning/billing).
See also
- Backdated Web Tools — the same engine as
an environment toolset (
BackSearchToolset) or SDK classes (Backsearch/Backfetch). - Introducing BackSearch — background and design notes.

