Skip to main content

Overview

The Backdated Search & Fetch API answers one question no live search API can: “what did the web know on date X?” Every request carries an as_of date. Search returns only documents crawled on or before that date, and fetch returns the article’s bytes as they were archived at that time — not today’s version of the page. The backing corpus is a frozen archive, so the same as_of query returns the same results forever. This is the same engine behind the BackSearchToolset you can declare in an environment — exposed here as a standalone HTTP API for use from any language or agent loop.
Why not a live search API with a date filter? Live APIs (Brave, Exa, Perplexity, Anthropic, etc.) filter today’s index by a publish-date field and then hand you today’s bytes — so ranking is computed with hindsight and a page edited since the cutoff leaks its later content. This API never touches the live web: it searches an immutable crawl, so results are reproducible and carry no post-cutoff lookahead. That makes it suitable for leakage-free evals, forecasting benchmarks, and defensible point-in-time backtests.

Base URL & authentication

Authenticate with your OpenReward API key in the x-api-key header — the same or_... key the rest of the platform uses. No separate key is needed.
Search runs over a fixed historical corpus. Choose as_of dates inside the covered window — dates outside it return no results. Current coverage: December 2025 → June 2026, news sources, rolling forward roughly one month behind real time. Confirm the live window with the OpenReward team.

Pricing

Pay-as-you-go against your prepaid OpenReward balance — 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. Track usage with orwd usage or GET /v1/billing/api-usage.

POST /search

Full-text + semantic search over the archive, cut off at as_of.

Request body

Response

Example

hybrid handles paraphrase that lexical search misses — a query for “Eastern European territorial dispute escalation” surfaces Russia/Ukraine coverage even when those keywords aren’t present.

POST /fetch

Retrieve a page’s content as it was archived on or before as_of — the point-in-time counterpart to search. Returns the extracted article text, not today’s version of the URL.

Request body

Response

If there is no capture of the URL on or before as_of, the API returns 404 (and does not bill the request).

Example

as_of gates on crawl date, not the article’s stated publish date. A page that was first archived after your cutoff will not be returned even if it claims an earlier publish date — this is deliberate, and it’s what guarantees no post-cutoff content leaks in.

Budget & errors

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 — requests, billable cost, and anything metered-but-not-yet-priced (pendingRequests).

Query parameters

Response

cost counts only usage that has already been priced. Requests from the last few minutes show under pendingRequests with cost: 0 until the rater runs — so the request count is always live even when the charge hasn’t landed yet.

Adding credits

Top up from the dashboard — the simplest path. Open your organization’s billing page at openreward.ai/<your-org>/billing (for example, openreward.ai/GeneralReasoning/billing), choose an amount, and pay by card. The credit is available immediately. Top up via the API — create a Stripe checkout session and send the user to the returned URL:
Check your remaining balance any time:
An org-scoped API key draws down the organization’s shared balance; a personal key draws down your own. Top up whichever the key belongs to.

See also

  • Backdated Web Tools — the same engine as an environment toolset (BackSearchToolset) or SDK classes (Backsearch / Backfetch).