Sports coverage

One row per supported sport. Coverage level reflects what the surface looks like today, not what is planned. There is a free tier; Free keys get 250 req/day (500 with GitHub).pricing lists what each plan covers. Signed webhook delivery is available on Edge and higher plans.

Live
Real-time scores plus active endpoint surface.
Historical
Archive loaded, live updates resume next season.
Partial
Some endpoints active, others pending; see the per-sport page.
Off-season
Loaded and served, but the competition is between seasons — no new rows today.
Sparse
Live and served, on a small share of matches — check the per-league counts.
Coming soon
Routes not yet wired; documented for forward planning.
SportCoverageKey endpointsLanding
Soccer

Premier League, La Liga, Serie A, Bundesliga, Ligue 1, UEFA Champions League, MLS, FIFA World Cup 2026

Corrected 2026-09-11 (previously undersold by 11 seasons): match and /v1/stored/matches coverage reach back to the 2014-15 season, not 2023-24: twelve full, complete prior seasons (380 finished matches each; 306-308 for the Bundesliga's 18-team format; Ligue 1 drops from 380 to 308 when it shrank to 18 clubs in 2023-24) before the 2026-27 season now in progress. Expected-goals leaderboards (/v1/leagues/{id}/xg-leaders) reach the same 2014-15 start and are dense throughout (500+ players/season every league every season). xG is league-level only, keyed by player name rather than player_id. Player-level box-score season stats (appearances, minutes, goals, tackles, etc., via soccer_player_season_stats) are a narrower population: dense only from 2023-24 onward, with zero rows for any earlier season even though match and xG data exist there. /v1/standings itself holds only the current and immediately preceding season (2025-26, 2026-27) regardless of match history depth; a season-scoped standings request for an earlier year returns nothing. Corrected 2026-09-11 (previously undersold by 11 seasons): match and /v1/stored/matches coverage reach back to the 2014-15 season, not 2023-24: twelve full, complete prior seasons (380 finished matches each; 306-308 for the Bundesliga's 18-team format; Ligue 1 drops from 380 to 308 when it shrank to 18 clubs in 2023-24) before the 2026-27 season now in progress. Expected-goals leaderboards (/v1/leagues/{id}/xg-leaders) reach the same 2014-15 start and are dense throughout (500+ players/season every league every season). xG is league-level only, keyed by player name rather than player_id. Player-level box-score season stats (appearances, minutes, goals, tackles, etc., via soccer_player_season_stats) are a narrower population: dense only from 2023-24 onward, with zero rows for any earlier season even though match and xG data exist there. /v1/standings itself holds only the current and immediately preceding season (2025-26, 2026-27) regardless of match history depth; a season-scoped standings request for an earlier year returns nothing. Corrected 2026-09-11 (previously undersold by 11 seasons): match and /v1/stored/matches coverage reach back to the 2014-15 season, not 2023-24: twelve full, complete prior seasons (380 finished matches each; 306-308 for the Bundesliga's 18-team format; Ligue 1 drops from 380 to 308 when it shrank to 18 clubs in 2023-24) before the 2026-27 season now in progress. Expected-goals leaderboards (/v1/leagues/{id}/xg-leaders) reach the same 2014-15 start and are dense throughout (500+ players/season every league every season). xG is league-level only, keyed by player name rather than player_id. Player-level box-score season stats (appearances, minutes, goals, tackles, etc., via soccer_player_season_stats) are a narrower population: dense only from 2023-24 onward, with zero rows for any earlier season even though match and xG data exist there. /v1/standings itself holds only the current and immediately preceding season (2025-26, 2026-27) regardless of match history depth; a season-scoped standings request for an earlier year returns nothing. Corrected 2026-09-11 (previously undersold by 11 seasons): match and /v1/stored/matches coverage reach back to the 2014-15 season, not 2023-24: twelve full, complete prior seasons (380 finished matches each; 306-308 for the Bundesliga's 18-team format; Ligue 1 drops from 380 to 308 when it shrank to 18 clubs in 2023-24) before the 2026-27 season now in progress. Expected-goals leaderboards (/v1/leagues/{id}/xg-leaders) reach the same 2014-15 start and are dense throughout (500+ players/season every league every season). xG is league-level only, keyed by player name rather than player_id. Player-level box-score season stats (appearances, minutes, goals, tackles, etc., via soccer_player_season_stats) are a narrower population: dense only from 2023-24 onward, with zero rows for any earlier season even though match and xG data exist there. /v1/standings itself holds only the current and immediately preceding season (2025-26, 2026-27) regardless of match history depth; a season-scoped standings request for an earlier year returns nothing. Corrected 2026-09-11 (previously undersold by 11 seasons): match and /v1/stored/matches coverage reach back to the 2014-15 season, not 2023-24: twelve full, complete prior seasons (380 finished matches each; 306-308 for the Bundesliga's 18-team format; Ligue 1 drops from 380 to 308 when it shrank to 18 clubs in 2023-24) before the 2026-27 season now in progress. Expected-goals leaderboards (/v1/leagues/{id}/xg-leaders) reach the same 2014-15 start and are dense throughout (500+ players/season every league every season). xG is league-level only, keyed by player name rather than player_id. Player-level box-score season stats (appearances, minutes, goals, tackles, etc., via soccer_player_season_stats) are a narrower population: dense only from 2023-24 onward, with zero rows for any earlier season even though match and xG data exist there. /v1/standings itself holds only the current and immediately preceding season (2025-26, 2026-27) regardless of match history depth; a season-scoped standings request for an earlier year returns nothing. Corrected 2026-09-11: the previously-listed 2024-25 season has no matches in production at all. Real coverage is the complete 2025-26 season (189 finished matches) plus the 2026-27 group stage now under way (20 finished so far). Corrected 2026-09-11: the previously-listed 2025 season has no matches in production: every loaded match is from the 2026 season (247 finished, April-September).

Live
  • /v1/matches
  • /v1/standings
  • /v1/stored/matches
  • /v1/leagues/{id}/xg-leaders
  • /v1/wc2026/matches
/soccer-api
Basketball

NBA, WNBA

Corrected 2026-09-11 (previously undersold by 4 seasons): match coverage reaches back to 2019-20 (979-1,363 finished games per season through 2025-26), not 2023-24. /v1/standings holds only the current season (2025-26) regardless of match history depth. Starting lineups are a closed off-season archive: 1,300 games carry lineup rows, but the newest was written 2026-06-06 and ZERO have landed in the last 30 days (the NBA season is over, and the upstream feed that wrote them is not currently subscribed). Historical lineups and anything derived from them remain valid; new lineups resume with the season. This is off_season, not live. The single 2026 season is loaded. Final scores, period linescores where present, and current moneyline odds are available. The exact counts and denominators come from the reviewed WNBA coverage snapshot shown on /wnba-api. No opening or closing odds snapshots, standings adapter, team or player box-score statistics, props, lineups, or injuries are loaded yet.

Live
  • /v1/nba/games
  • /v1/nba/games/{id}/matchup
  • /v1/nba/leaders
  • /v1/nba/players/{id}/props
  • /v1/matches?sport=basketball&league=wnba
/nba-api
Ice Hockey

NHL

Extended 2026-10-10 to the vendor's field-complete floor: match-level game data now reaches back to the 1997-98 season. 36,061 finished games from 1997-10-01 onward across 29 seasons (2004-05 was not played, so the 29 seasons span the 30 season-years from 1997-98 to 2026-27), of which 34,532 predate the 2025-26 season. The full archive is served at /v1/matches?league=nhl&season=, /v1/stored/matches and /v1/nhl/games; Free covers the current season, Solo and Trio five seasons, and Edge and Pro the whole 29. /v1/nhl/leaders is a separate season-grain surface: licensed counting stats cover season-start years 2023 through 2025, while the internally computed expected-goals model currently covers 2025. An unavailable xG season returns 404 rather than falling back to a non-redistributable archive.

Live
  • /v1/nhl/games/{id}/matchup
  • /v1/nhl/leaders
  • /v1/nhl/players/{id}/props
/nhl-api
Baseball

MLB

Corrected 2026-09-28: Game logs cover 1990 through 2026. Per-game player batting and pitching lines are a narrower, separately-loaded population: a 60-game random sample per season measured 100% coverage for every season 2015 through 2026 and 0% for every sampled season 1990 through 2014. Of 2,621 finished 2026 games, 2,451 (93.5%) have stored starter flags and 1,184 (45.2%) have a latest odds row, so lineups and odds are both partial. /v1/standings holds only the current season (2026) regardless of match history depth.

Live
  • /v1/matches
  • /v1/standings
  • /v1/stored/matches
/mlb-api
American Football

NFL, NCAAF, NCAAF FCS

Six complete seasons, 2020 through 2025, each loaded through the playoffs and Super Bowl: 1,693 games with final scores, 294,989 plays (291,603 carrying EPA), and 112,316 weekly player-stat rows. The 2026 season is now under way and is the seventh listed season: 64 of its 272 scheduled games have finished as of 2026-09-24, and scores populate as it is played. NCAA FBS, a decade of history: 9,204 games from 2016 through the 2026 schedule (2016-08-27 to 2026-11-28), every one resolving to one of 138 FBS programs. That total now includes 1,024 FBS-vs-FCS 'buy games', excluded entirely as of last sweep because FCS opponents had no resolvable roster; now carried since the NCAAF FCS league (see below) went live. Per-game player stats are live for 2016–2025: 93% of finished games (8,188 of 8,798) carry real box-score-level stats via /v1/players/:id/stats: 4,092,224 player_stats rows across those 8,188 games. The 2025 season alone: 1,121 finished games, 1,119 with a final linescore, real multi-book odds archived for 716 of them (64%) via /v1/odds/historical: closing-line snapshots plus a T-24h snapshot, the backtesting surface (a response names the snapshot types it actually contains in meta.snapshot_types_present). Note that /v1/matches/:id/odds serves CURRENT pricing only and returns nothing for these finished games; the archive is reachable through /v1/odds/historical alone. A closed, off-season archive today; 2026 pricing resumes closer to kickoff, same as NFL. Standings (274 rows) are complete. There is no play-by-play for college football. Elo ratings are live for 134 teams. The 2026 season is scheduled (406 games) and kicks off 29 August 2026. NCAA FCS (Football Championship Subdivision), a SEPARATE league from NCAAF (FBS), sharing the same american_football sport_id as a sibling division, not a merged one. 139 teams. A decade of regular-season history, 2016–2025 (weeks 1–15 only; the 24-team FCS postseason playoff is not loaded, a real gap, not implied coverage). 7,113 games touch an FCS team: 6,089 FCS-vs-FCS games filed under this league, plus 1,024 FBS-vs-FCS 'buy games' filed under NCAAF (FBS) since they're part of the FBS team's own schedule too. Both kinds show up on either team's own record via /v1/teams/:id/form and /v1/teams/:id/h2h-intelligence (team-scoped, not league-scoped), but a league-scoped browse (?league=ncaaf-fcs) surfaces the 6,089 FCS-vs-FCS games only; the shared buy games live under NCAAF's own league listing. Per-game player stats are strong for 2021-2025 (88-99% of games); the upstream source's own historical FCS box-score collection only reaches back to 2021, so coverage before that is sparse at the source (0% for 2016-2020 pure FCS-vs-FCS games, confirmed directly against that source, not a gap on our end). The 1,024 shared FBS-vs-FCS buy games are covered back to 2016 (~99%) since they're captured via the FBS ingest. End-to-end across all 7,113 games that touch an FCS team, that's about 58% (4,141 games, 1,087,323 player_stats rows across 42,761 players), a real structural ceiling at the upstream source, not a partial rollout in progress. No standings, no Elo ratings, and no odds are loaded for FCS today. Corrected 2026-09-11: added the 2026 season, now under way (89 finished FCS-vs-FCS games so far); it was previously omitted from this list even though NCAAF (FBS) already listed its own 2026 season.

Live
  • /v1/nfl/games
  • /v1/nfl/games/{id}/plays
  • /v1/nfl/players/{id}/stats
  • /v1/nfl/players/{id}/game-log
  • /v1/nfl/rosters
/nfl-api
Cricket

Test Cricket, ODI Cricket, T20I Cricket, IPL, Big Bash League, Women's Big Bash League, Bangladesh Premier League, Caribbean Premier League, Pakistan Super League, The Hundred Men's Competition, The Hundred Women's Competition, Women's Super Smash, SA20

915 of 920 finished Tests (99.5%) carry full batting and bowling scorecards. 185 fixtures are scheduled ahead, through 2027-04-08. 3,173 of 3,210 finished ODIs (98.8%) carry full batting and bowling scorecards. 47 fixtures are scheduled ahead, through 2027-04-03. Seasons held are NOT contiguous: the years listed are the years we hold, and 2011-2012, 2019-2023 and 2025 are absent. Scorecard coverage is the weakest of any cricket competition we hold: 320 of 760 finished matches (42.1%), against ~100% everywhere else, because the international-T20 scorecard archive is only partly loaded (#877). Also the only cricket competition with retrievable odds, and they are thin: 26 finished matches return moneyline prices via /v1/matches/:id/odds and 78 carry a raw price row internally. Cricket pricing is written only when a match reaches a book: 2 days out of the last 21 carried any cricket price at all. 19 seasons, 2008-2026: 1,243 of 1,258 finished matches (98.8%) carry full batting and bowling scorecards. No IPL odds are retrievable: 8 finished matches carry a raw price row internally and none is reachable through a public endpoint, so the honest label is coming_soon. No fixtures scheduled ahead; the archive runs through the 2026 final. 15 seasons, 2011-12 through 2025-26. All 662 finished matches carry full batting and bowling scorecards at /v1/cricket/matches/{id}/scorecard. No fixtures scheduled ahead; this is a complete archive, not a live feed. 11 seasons, 2015-16 through 2025-26. All 519 finished matches carry full batting and bowling scorecards at /v1/cricket/matches/{id}/scorecard. No fixtures scheduled ahead; this is a complete archive, not a live feed. 12 seasons, 2011-12 through 2025-26. All 469 finished matches carry full batting and bowling scorecards at /v1/cricket/matches/{id}/scorecard. No fixtures scheduled ahead; this is a complete archive, not a live feed. Seasons held are not contiguous. 14 seasons, 2013-2026. All 419 finished matches carry full batting and bowling scorecards at /v1/cricket/matches/{id}/scorecard. No fixtures scheduled ahead; this is a complete archive, not a live feed. 11 seasons, 2016-2026. All 357 finished matches carry full batting and bowling scorecards at /v1/cricket/matches/{id}/scorecard. No fixtures scheduled ahead; this is a complete archive, not a live feed. 6 seasons, 2021-2026. All 194 finished matches carry full batting and bowling scorecards at /v1/cricket/matches/{id}/scorecard. No fixtures scheduled ahead; this is a complete archive, not a live feed. 6 seasons, 2021-2026. All 181 finished matches carry full batting and bowling scorecards at /v1/cricket/matches/{id}/scorecard. No fixtures scheduled ahead; this is a complete archive, not a live feed. 5 seasons, 2021-22 through 2025-26. All 148 finished matches carry full batting and bowling scorecards at /v1/cricket/matches/{id}/scorecard. No fixtures scheduled ahead; this is a complete archive, not a live feed. 4 seasons, 2022-23 through 2025-26. All 130 finished matches carry full batting and bowling scorecards at /v1/cricket/matches/{id}/scorecard. No fixtures scheduled ahead; this is a complete archive, not a live feed.

Live
  • /v1/cricket/matches
  • /v1/cricket/matches/{id}/scorecard
  • /v1/cricket/series
  • /v1/cricket/players/{id}
/cricket-api
MMA

UFC

Fight cards and bout matchups (the two fighters, event date, and status) are served across the loaded UFC event archive, plus MMA moneyline odds. Bout RESULTS (winner/method/round), fighter profiles, and win–loss records are not available yet, because our combat odds feed carries no usable MMA result, so finished bouts return the matchup and status without a score. Real results are coming via a dedicated combat-results source.

Partial
  • /v1/fight-cards
  • /v1/fight-cards/{id}
  • /v1/bouts/{id}
/mma-api
Boxing

Professional Boxing

Live now: 12,213 fighter profiles (name, nationality, physicals, weight class, external cross-reference ids) at /v1/athletes?sport=boxing and /v1/athletes/{id}?sport=boxing. Win–loss records are not loaded yet and return as null, never a fabricated 0-0-0-0. Bout results SHIPPED 2026-08-14: 219 bouts across 29 Nevada-sanctioned cards, served at /v1/fight-cards, /v1/fight-cards/{id} and /v1/bouts/{id}, carrying the official winner, method, round and the judges' scorecards structured rather than summed. Coverage is Nevada-only: cards staged outside the US, including the UK and Saudi Arabia events that host many marquee title fights, are not covered, and no single US commission covers the whole country. New cards are loaded manually rather than on a cron, so a recent event can lag until the next run.

Partial
  • /v1/athletes?sport=boxing
  • /v1/athletes/{id}?sport=boxing
  • /v1/fight-cards
  • /v1/fight-cards/{id}
  • /v1/bouts/{id}
/boxing-api
Formula 1

F1 World Championship

The 2026 race calendar is served today: 60 scheduled sessions via /v1/matches?sport=formula1. Corrected 2026-09-11: the season has moved on since this was last written: 36 sessions now carry status 'finished' (not 0), but RESULTS are still not retrievable through any endpoint a caller can reach; none of those finished rows carries a linescore. /v1/f1/sessions/{id}/results is a live route and now holds 73 sessions of 2026 per-driver classifications (not 24), but still no endpoint returns the session_canonical_id it requires, so a caller cannot reach them. No pre-2026 data of any kind. scores/stats/historical are therefore coming_soon.

Partial
  • /v1/matches?sport=formula1
  • /v1/f1/sessions/{id}/results
/formula-1-api

For the full endpoint surface across every sport see /openapi.json or the interactive explorer on each per-sport landing page. The homepage coverage matrix breaks the same surface down by data type (scores, odds, lineups, ...).