Which point-in-time windows we actually observed, per relation
What the /v1/as-of/* reads can and cannot answer, measured rather than asserted. FREE, for the same reason /v1/coverage is: you must be able to find out what we hold before paying for it.
REPORTED PER RELATION AND NEVER BLENDED. The three relations have genuinely different shapes, and a single "point-in-time coverage" number would be wrong about all of them: the prop archive is deep, running back to 2023, while the odds board is shallow and begins in 2026-05. Every row is one (relation, sport) pair and meta.blending says the rows are not averaged.
EVERY COUNT TRAVELS WITH ITS DENOMINATOR. events_total is the denominator and denominator_subject says what it counts, because that differs per relation: matches for odds, events for player props, player identities for availability. events_with_series and events_with_pre_event_obs are reported SEPARATELY, so a window holding a series that was only ever observed after kickoff reports 1 and 0 rather than collapsing to "covered".
AN ABSENT WINDOW IS "coverage": "none", NEVER 0. A window that was never measured and a window with genuinely nothing in it are different facts, so only a measured window carries counts and a computed_at. A sport with no coverage at all is listed with an empty windows array rather than omitted: an omitted sport reads as an oversight, an absent one reads as a fact.
Request
- Base URL: https://api.bigballsdata.com
- URL: https://api.bigballsdata.com/v1/as-of/coverage
- Auth: one of:
- API key in header x-api-key
- HTTP bearer
Query parameters
Narrow to one relation. Omit for all three.
Narrow to one sport. Omit for every sport we report on, including those with no coverage.
Response
ok. { data, meta }. Each data entry is one (relation, sport) with as_of_floor, as_of_ceiling, windows, gaps and denominator_subject.
Changes
No recorded changes to this operation across all 2 revisions of this API.