Skip to main content
Versioning Policy: SportsAPI Pro maintains three independent API versions — V1, V2, and V3 — each sourced from different providers. These are not sequential upgrades. All versions are permanently supported with no planned deprecation. You can use whichever version best fits your needs.

September 2026

DocsThree public overview pages now summarise the football surface for evaluation and sharing:
  • Football Stats API — player and team statistics, xG, shotmaps, per-tier archive depth, and the endpoints behind each data group.
  • Football API — live scores, fixtures, lineups, statistics and odds overview.
  • Player Stats API — season and per-match stat lines, ratings, transfers, national-team data.
All figures match the verified Football Coverage reference: 6,400 competitions, identical access on every plan, archive depth scaling with competition tier.

August 2026

DocsFootball Coverage re-verified live on 1 September 2026: the flat catalogue now returns 6,400 competitions (up from 5,956) across 272 categories.New in that page:
  • Amateur tiers are separate categoriesNetherlands Amateur (categoryId 1587, 38 competitions) and Germany Amateur (122, 367 competitions) are not returned under the main country categories 35 and 30.
  • Archive depth by tier, measured per competition: Tweede Divisie 9 seasons (18/19), Derde Divisie 6 (21/22), Vierde Divisie 5 (22/23), Regionalliga Nord/West 19 (08/09), Regionalliga Südwest/Nordost 15 (12/13), Bayern 14 (12/13), Oberliga level 19 (08/09). Dutch 1e–5e Klasse and German Kreisliga levels are current season only.
  • Friendlies and continental depth: International Friendlies 24 seasons (2003), Club Friendlies 17 (2010), UEFA Champions League 31 (96/97).
  • “Hoofdklasse” does not exist as a named competition; that level maps to Vierde Divisie and regional 1e Klasse divisions.
  • A copy-paste script that maps seasons-available for every league worldwide via /api/tournaments/api/tournaments/{id}/seasons.
DocsThe WebSocket reference now states the verified live-acceptance guarantees for match:{matchId}:odds, measured in production on 31 August 2026:
  • Provider: bet365 (provider 1) only — the upstream call is odds/1/all. No provider selector, no multi-provider stream; a provider parameter is ignored. Multi-bookmaker odds remain REST-only on V4 (179-book catalogue).
  • Frames are complete snapshots, never deltas — full { markets[], eventId, liveStreamUrl } on every frame.
  • Cadence corrected: ~300ms after a match event via the NATS-triggered fetch, otherwise a change-gated ~30s refresh. The previous “sub-second” claim for odds was inaccurate; measured gaps were 24–30s while prices moved and 63–149s while they did not.
  • timestamp is our server fetch/emit time in epoch ms, not a bookmaker-side fetch time.
  • Suspension/closure: suspended: true on the market object inside the next snapshot; removal from markets[] means closed. No dedicated suspend frame.
  • Missed updates: no sequence number or replay buffer — resubscribe and the immediate snapshot is authoritative. Recommended watchdog: re-establish if lastFrameAt exceeds ~90s during a live match.
  • Player props: no WebSocket channel and no usable REST feed today. The retired V1 /bets/proposition page is now marked as such.
DocsA dedicated Football Coverage page now documents which competitions we carry and how to list them from the API. Verified live on 31 August 2026: 5,956 football competitions across 272 country and regional categories.It also confirms, from the request-limiting code path, that coverage is identical on Free, Pro, Ultra and Mega — plans only change the daily request allowance (100 / 7,500 / 75,000 / 150,000). Data depth still varies by competition tier, not by plan.Discovery endpoints documented: /api/tournaments (flat catalogue), /api/countries, /api/countries/all, /api/categories/{categoryId}/tournaments, /api/leagues?country={slug}, /api/live-tournaments and /api/scheduled-tournaments/{date}, plus a copy-paste CSV export script.
FixedThree routing issues reported against the canonical path front door are resolved:
  • V3 sportshttps://api.sportsapipro.com/v3/{sport}/{today|live|yesterday|tomorrow} dropped the sport segment when rewriting to the upstream feed, so period windows returned 404. The sport is now re-injected for every V3 route except the sport-less globals (sports, match/{id}, search).
  • Water Polo V2https://api.sportsapipro.com/v2/waterpolo/... returned 404 because the service did not accept the /api prefix emitted by the path form. Both /live and /api/live now resolve identically.
  • Upstream timeouts — proxy timeouts previously surfaced as 502. They now return 504 with code: "upstream_timeout", so retry logic can distinguish a slow upstream from a genuine bad-gateway failure.
New: GET /reference/sports — a quota-free, key-free catalogue of every sport slug per version, including the version-specific spellings (waterpolo on V2/V6 vs water-polo on V3, hockey vs ice-hockey on V4).
NoticeEnd-to-end verification of the 2026 F1 season (uniqueStage 40, season 214140) confirmed that motorsport stages and sub-stages carry winner and nothing else. There is no results[] array, no positions 2-N, no gaps, lap times, grid or per-race championship points, and /results, /classification, /standings, /laps and /startgrid all return 404.The motorsport race reference previously implied a finishing results[] block was embedded in the stage payload. That was inaccurate and has been corrected. Top-N settlement is not supportable on Motorsport V2 today; only “who won” is. Constructor championship tables remain available at the season level.
DocsThe coverage matrix previously listed Portugal Primeira Liga (uniqueTournament.id 238, V1 competition 73) and Eredivisie (uniqueTournament.id 37) below the premium tier. Live verification shows both return the full premium data set:
  • Shotmaps with xg and xgot on every shot (verified on matches 14288988 and 14053822)
  • Full match statistics (40+ metrics)
  • Lineups with expectedGoals, expectedGoalsOnTarget, expectedAssists
  • Squads via /api/teams/{teamId}/players
  • Transfer history, and 39 discoverable seasons for Eredivisie
The troubleshooting coverage matrix, the Football V2 overview, the match reference, the canonical ID table and the season-ID guide have all been updated.
NoticeThe V6 global transfers feed and the V6 competition transfers route are returning upstream errors. Until the feed is restored, use:
Competition 73 (Portugal Primeira Liga) returns 351 transfer records. The V6 transfers reference now carries this notice; the documented response schema remains valid for when the feed returns.
NewV6 responses return logo / image / photo values as bare filenames (e.g. 3315dd709ea94735a8a138478133a2a3.png!w80). The reference previously told you to prefix them with https://img.sportsapipro.com/...; that host was not serving traffic and returned a Cloudflare 522 for every request. There was no other V6 image route.V6 images are now served from the same host as your V6 data:
  • {type}: teams, competitions, tournaments, players, coaches, referees, venues, countries.
  • The !w80 thumbnail suffix is passed through and works.
  • Omit the type (/v6/{sport}/images/{filename}) to have the asset type resolved automatically.
  • Authenticated and quota-counted, like V2 images. Cached 24 hours. Missing assets return 404 {"error":"Image not found upstream"}; unknown types return 400.
The img.sportsapipro.com host is retired and the V6 reference has been corrected.
DocsThe reference previously documented GET /api/managers/{managerId}/career. That route does not exist and returns 404 for every manager ID. The working endpoint is:
It returns the full managerial career history: teams managed, start/end dates, and win/draw/loss records per club.Verified coverage: career history is available on Football V2 only. On baseball, handball, rugby, basketball, hockey, volleyball and American football V2, both /career and /career-history return 404 — those pages now carry an explicit note. Manager details (/api/managers/{id}), manager images and manager events endpoints are unaffected on every sport.Also corrected in openapi-football-v2.json and the dashboard Live Demo endpoint list.
DocsThe Cycling V2 reference previously listed a full templated endpoint set (tournament/*, players/*, manager/*, venue/*, rider history sub-routes). Those endpoints were never live for cycling and return 404. They have been removed.What is accurate now:
  • Race and stage content is served by V3: GET https://v3.cycling.sportsapipro.com/api/v1/cycling/{today|live|yesterday|tomorrow}. Each league is a classification (... - Overall = General Classification, ... - Stage N = that stage’s result) and each event is one rider’s placing, where homeTeam.name is the rider and homeTeam.shortName is the position. awayTeam and score objects are unused.
  • V2 cycling is an entity feed only: /api/search, /api/countries, /api/countries/all and /api/teams/{id}. Riders are modelled as teams (Tadej Pogačar is 307884); there is no /api/players/{id} for cycling.
  • V2 /api/live, /api/today, /api/schedule/{date}, /api/live-tournaments and /api/scheduled-tournaments/{date} answer 200 with empty arrays on every date, including Grand Tour dates. Treat them as unavailable for cycling.
  • Not available on any version: live GPS/telemetry, power and gradient data, per-rider in-stage splits, cycling odds, and multi-season historical backfill. V1, V4 and V6 do not carry cycling.
New page: Cycling races on V3.
FixedThe V6 baseball feed does not provide match sub-resources. Requests to /lineups, /stats, /incidents, /h2h, /commentary and /tables previously hit the origin and surfaced a misleading Cloudflare 502 Bad Gateway, which looked like an outage or an authentication problem.They now return 501 with an explicit body naming the limitation and the working alternative:
V6 baseball /match/{matchId}, /team-stats and /odds are unchanged and fully supported. Other sports are unaffected.
DocsGET /api/match/{matchId}/lineups returns a data.confirmed flag. Before the card is posted, confirmed is false and the player arrays contain only the announced probable starting pitcher — a 200 response with one player is expected pre-game, not an error. Once confirmed is true you get the full batting order, pitchers and substitutes plus per-player statistics and supportStaff.Recommended cadence: poll every 5 minutes from ~3 hours before first pitch and stop when confirmed flips to true. Lineups are published when received from the upstream feed; there is no fixed publication-delay SLA.Coverage: confirmed lineups are available for MLB. KBO and CPBL return an upstream 404 for /lineups, and NPB is not currently carried. Schedules, scores and odds are unaffected for those leagues.
FixedThe documented statistic IDs for V6 football team stats (/api/v1/match/{matchId}/team-stats) were verified against live fixtures and corrected. Two IDs were previously documented reversed.Also clarified:
  • The matchStats object keys — 0, 1, 2 — are the authoritative period indicators (full match, 1st half, 2nd half). The inner period field is always 0 and is an upstream artifact; ignore it.
  • An absent stat ID means the metric was not provided for that fixture. A present "0" is a real zero.
  • 183 duplicates 128 (total shots), and 123 / 124 remain unconfirmed.
No API behavior changed — only the documentation was wrong. If you mapped IDs from the old table, swap 103 and 104; no other migration is needed.
AddedYou no longer have to depend on the docs file for the stat ID mapping:
  • No API key required and it does not count against your daily quota.
  • Response: { version, sport, endpoint, notes, stats }, where stats maps each ID to { name, unit, confirmed }.
  • Cached for one hour. Pin against version and refresh when it changes.
  • IDs are append-only: new IDs may appear, existing meanings never change.
Full reference: Match Team Stats.

May 2026

AddedDedicated convenience endpoints for the FIFA World Cup 2026 are now live on Football V2. No need to discover tournamentId / seasonId first.New convenience endpoints (base: https://api.sportsapipro.com/v2/football):
  • GET /api/world-cup-2026 — tournament info
  • GET /api/world-cup-2026/info — season info (host countries, 48-team format)
  • GET /api/world-cup-2026/teams — all 48 qualified teams
  • GET /api/world-cup-2026/groups — all 12 groups with standings
  • GET /api/world-cup-2026/matches?page=0 — upcoming matches (30/page)
  • GET /api/world-cup-2026/matches/round/:round — matches by round
  • GET /api/world-cup-2026/rounds — round structure
  • GET /api/world-cup-2026/knockout — bracket / draw tree
New generic season endpoints (work for any tournament):
  • GET /api/tournament/:tournamentId/season/:seasonId/teams
  • GET /api/tournament/:tournamentId/season/:seasonId/events/next/:page
Full reference: FIFA World Cup 2026. Underlying canonical IDs: tournamentId=16, seasonId=58210. First match June 11, 2026 — Mexico vs South Africa.

June 2025

ChangedMigrated MCP infrastructure to Mintlify’s native documentation-search MCP for improved reliability and always up-to-date context.New MCP Server URL:
Update your Codex, Cursor, or Claude Desktop MCP configuration to point to this new URL.Impact: Existing MCP configurations using the old URL will need to be updated. No authentication changes required.

May 2025

AddedPublished machine-readable context files to give AI coding assistants full understanding of SportsAPI Pro:Feed these to any AI tool (ChatGPT, Claude, Cursor, Windsurf) for accurate API integration help.

April 2025

AddedThe V2 API now covers 25+ sports with a standardized endpoint structure across all of them. New sports added include:
  • Cycling, Motorsport, Esports, Aussie Rules
  • Floorball, Bandy, Minifootball
  • Beach Volleyball, Water Polo
All V2 sports follow the same consistent pattern: /match, /tournament, /team, /player, /manager, /global.
ChangedV2 API responses now use consistent terminology across all sports:
  • Events (not “games”)
  • homeTeam / awayTeam (not “competitors”)
  • tournament (not “competition”)
  • startTimestamp (Unix epoch integer)

March 2025

AddedReal-time WebSocket connections are now available for Football V2, enabling live score updates, match events, and statistics pushed directly to your application.See the Football V2 WebSocket docs for connection details and event types.

February 2025

AddedPublished a comprehensive guide for integrating SportsAPI Pro with AI coding tools including Cursor, Windsurf, Codex, and Claude Desktop.See the AI Tools Setup guide for configuration instructions.
AddedNew fantasy-related endpoints added to Football V2 for player ratings, form data, and fantasy-relevant statistics.

Stay Updated: For breaking changes or major updates, we notify active users via email. You can also check this page regularly or subscribe to updates through the dashboard.
Last modified on September 20, 2026