Skip to main content
Every V1 endpoint returns the same envelope so you can write one parser for the whole API.

Envelope

data envelope extras

Many endpoints share these helper fields inside data:
  • lastUpdateId lets you skip identical payloads on the next poll by passing ?lastUpdateId=....
  • ttl is the suggested seconds before re-requesting.
  • sports / countries / competitions / competitors are denormalized lookups so a single response can render without follow-up calls.

Status groups

statusGroup on every game object summarizes phase: statusText is the human label (Scheduled, Halftime, 1st Half, Ended, …) and shortStatusText is the compact form (FT, HT, 1H, LIVE).

Datetimes

All V1 datetimes are ISO 8601 with timezone offset:
(V2 uses Unix epoch in startTimestamp — that’s a V2-only convention.)

Errors

Errors come straight from the backend without wrapping, with the matching HTTP status:
See Error Handling for retry and backoff guidance.

Cache TTLs

The server caches every response. Public TTLs: cacheHit: true means you hit cache. To force a fresh request, vary a query param (?_=Date.now()), but please don’t — the cache is what keeps the API fast.

Pagination

Endpoints that paginate return a paging object inside data:
Pass ?page=N (zero-indexed) to advance.
Last modified on June 12, 2026