Polymarket API reference / Data API v2
GET/v2/status

Get data freshness

How fresh the data behind this API is. `/readyz` answers whether this pod can reach its datastore; this answers how far behind chain head what you are reading is. Two halves, because each is blind exactly where the other sees: * `serving`; the projections that turn ingested rows into what the feeds read (`activity_feed` enrichment, `custody_balances` ingestion, the PnL engine).

Base URL
https://data-api.polymarket.com
Auth
Public, no key
Rate limit
100 req / 10s (10 per second)
Limit applies to
/v2/status

Things to know

Every v2 response wraps its payload in a data field. Paginated reads return an opaque cursor in pagination and do not accept offset. Under load the API answers 429 with a Retry-After header.

Example

curl -X GET "https://data-api.polymarket.com/v2/status"

Response fields

FieldTypeDescription
age_secondsintegerHow old the snapshot is, in seconds. Normally under the refresh interval; a value that keeps climbing means the refresher is not completing, and the freshness figures below are that stale ON TOP of…
computed_atstringWhen this snapshot was taken, RFC 3339 in UTC.
ingestionobjectIngestion health: one cursor per `(contract, event)` stream. Every figure here is over the LIVE streams only.
servingobjectWhat API consumers actually experience: the projections behind the feeds. One headline number and the name of whichever mechanism produced it, so a single stalled projection cannot hide behind two…

Responses

StatusMeaning
200Serving and ingestion freshness
503No freshness measured yet, a timeout, or a serving dependency outage; retry after `Retry-After` when present
Polymarket's API serves current state only, so it cannot show what a market's book looked like after it resolved. PolyTest records Up/Down markets while they run and keeps the snapshots. Try it free, or read the full rate limit reference.

From Polymarket's published OpenAPI spec and rate-limit tables, synced 2026-10-04.