Data coverage

Coverage you can
verify before buying.

We distinguish what is available now from what depends on a future licensed feed. No inflated competition counts and no silent gaps.

Available in beta
Licensed and CC0 sources
CompetitionsCatalog and country metadata
SeasonsHistorical labels and available date ranges
TeamsStats API IDs and name search
FixturesDates, rounds, participants
ResultsFull-time scores
Requires licensed source
Roadmap
Live eventsTimeline and live player stats
Lineups & playersSquads, injuries, suspensions
Advanced statsShotmaps, xG, heatmaps
OddsPre-match and live bookmakers
Coverage varies by competition

Inspect coverage
competition by competition.

These are data-backed pages, not an aspirational league directory. Every linked competition is available through today’s authenticated beta contract.

Source policy

Swap the feed, keep the contract.

Coverage is not uniform, and we publish that rather than hide it. Fixtures and results reach far more competitions than match statistics do: a competition can carry results while carrying no corners, shots or possession. Every statistics response therefore states coverage.statistics_available for the match you asked about, so an uncovered competition returns an explicit answer instead of an error. OpenFootball’s community-maintained CC0 data remains a historical bootstrap, not a live feed. The beta serves each dataset as Stats API observed it at the latest successful ingestion, with no promised maximum age or refresh interval. GET /api/v1/coverage/summary reports that ingestion and artifact-retrieval time, while source_updated_at stays null and freshness_guaranteed stays false.

Source mappings support reviewed provider migrations. Unique reschedules and corrections can keep a stable ID; ambiguous matches are never guessed. If a fixture disappears from a complete snapshot, it is hidden as an inactive tombstone rather than mislabeled as canceled, and the same ID is restored if it reappears.

See the available endpoint contract →