Skip to main content

Base URL

Authentication

All requests require an x-api-key header:

Motorsport-Specific Notes

  • Events are races/sessions — not matches. Each session (FP1, FP2, FP3, Qualifying, Sprint, Race) is a separate event
  • Race weekends — 4-6 sessions per Grand Prix weekend (Friday-Sunday)
  • Categories — Championship types (F1=36, MotoGP=1325, Moto2=1580, Moto3=1581, IndyCar=1527)
  • Score format — Finishing positions (P1-P20+), championship points
  • Participants — 20+ drivers/riders on track simultaneously
  • Off-weekends — During breaks there may be 0 events

Canonical IDs and Routing

Motorsport uses a different upstream namespace than team sports. Championships are unique-stage (not unique-tournament), race weekends are stage (not event), and both drivers and constructors are accessed through team/{id}.
Each Grand Prix weekend is a parent stage; Practice, Qualifying, Sprint Qualifying, Sprint Race, and Race are child sub-stages retrievable via GET /api/match/{weekendId}/substages. See Race Weekend Sub-Stages for the full workflow.
| Driver or constructor profile | /api/motorsport/team/{teamId} | | Race calendar | /api/motorsport/tournament/{uniqueStageId}/season/{seasonId}/races | | Recent results for a driver | /api/motorsport/players/{driverId}/events/last/0 | | Constructors’ Championship | /api/motorsport/tournament/{uniqueStageId}/season/{seasonId}/standings | | Constructors’ Championship (alias, identical payload) | /api/motorsport/tournament/{uniqueStageId}/season/{seasonId}/standings/teams |
There is no Drivers’/Riders’ Championship endpoint in Motorsport V2. Both standings paths return the same constructor table. Verified September 2026 against F1 (tournament 40, season 214140 — 11 constructor rows) and MotoGP (tournament 17, season 220597 — 14 team rows): every row is a constructor (team.type: 0), and /standings/drivers, /standings/riders, /standings/competitors, /standings/individual, /standings/players, /standings/total, /driver-standings and /competitor-standings all return 404.

Key IDs to remember

MotoGP’s championship / tournament ID is 17 (not 51). Older references to 51 are incorrect — /api/tournament/51/seasons returns 404.
Example drivers: Max Verstappen = team 191417. Example constructor: Red Bull Racing = team 214902.

Upstream limitations

These return empty or 404 by design — do not treat as bugs:
  • /sport/motorsport/scheduled-events/{date} always returns an empty list (motorsport stages are not published in the date-scoped feed). Use the race calendar endpoint instead.
  • Constructor teams (e.g. Red Bull Racing 214902) do not expose /events/last or /near-events. Only driver “teams” do.
  • Individual stage sub-endpoints /scores, /lineups, /statistics, /incidents, /startgrid, /player-statistics, /best-players, /graph, /pregame-form, /streaks, /odds*, /winning-odds, /award, /h2h, /media, /votes, /missing-players, /channels, /venue are not available for motorsport — the upstream feed embeds finishing order, starting grid, lap data, and race incidents inside the stage detail. Use GET /api/match/:matchId instead.
  • Season-level /season/{sid}/venues and /season/{sid}/statistics also return 404 for motorsport.
  • /api/live/all currently returns 404 on the motorsport vanity — use /api/live for live sessions. /api/live is the canonical live feed for motorsport and carries the same event data.
  • /tournament/{id}/season/{sid}/standings and /standings/teams both return constructor standings (Mercedes, Red Bull, Aprilia Racing, etc). There is no drivers-standings endpoint. There is also no per-race results[] array, so a drivers points table cannot be derived. The only driver-level ranking available today is race wins: read winner from each stage in /tournament/{id}/season/{sid}/races and count by driver.
  • /events/next/0 returns an empty list during off-season / winter break (e.g. between F1 seasons). This is expected, not a bug.

Race Weekend Structure

Formula 1 (typical)

MotoGP (typical)

Championship Points (F1 2025+)

Key Motorsport Statistics

Endpoint Categories

Example Requests

UI Design Ideas

  • Starting grid view: Read the startingGrid / results[] block from /match/{id} (stage detail) — show grid positions (pole position highlighted)
  • Race results: Show finishing order with gaps (“+5.2s”, “+1 lap”, “DNF”)
  • Championship standings: Constructors’ Championship only. F1 rows carry position, points, victories, podiums, polePositions, racesStarted, racesWithPoints; MotoGP rows carry position, points only — render the columns you actually receive rather than assuming the F1 shape. A drivers table is not available; if you show one, build it from race wins.
  • Race calendar: Show full season calendar with circuits — use .../rounds + .../venues
  • Lap chart: Use /match/{id}/graph — show position changes lap-by-lap
  • Team colors: F1 teams have distinctive colors — display branding prominently
  • Session types: Clearly label Practice/Qualifying/Sprint/Race — very different contexts
  • DNF/DNS: Handle “Did Not Finish” and “Did Not Start” statuses
  • Fastest lap: Show which driver set it — prestigious stat
  • Weather: Rain transforms races — show prominently if available

MotoGP Championship Points

Sport Comparison — Motorsport vs Other Sports

Last modified on September 21, 2026