Race sportsEndpoint 92 of 116
Race
https://api.datasportsapi.com/
- Plan
- All plans
- Auth
Bearer dsa_live_…- Parameters
- 1 required · 0 optional
- Returns
Race
Full detail for a single race — series, season, round, status, dates, winner, circuit (motorsport: name, city, country, lap length), host country, laps and distance, and category (cycling) — plus its sessions in start-time order.
Each session carries its type, status, start time, laps, distance, winner, weather, track condition, temperatures and safety car, plus the stage’s towns and profile (cycling).
Worth knowing
- startDate / endDate are UTC dates, whereas sessions have exact timestamps.
- winner refers to the main race — for a cycling stage race, the general classification — and is filled once it has finished.
- circuit.lengthMeters and distanceMeters are provided for Formula 1 and NASCAR, converted from miles where needed; MotoGP has laps only, because our data source keeps no circuit length or race distance for it.
- A race with no laps / distance of its own inherits those of the main race session.
01Parameters
idpathRequiredrace id issued by DataSportsAPI, a positive integer
02Request
The same call from the command line and each SDK. The SDK lines assume a client created with your key; left out, it is read from DATASPORTSAPI_API_KEY. Installing a client: SDKs & CLI.
curl -H "Authorization: Bearer dsa_live_…" \
"https://api.datasportsapi.com/v2/races/{id}"03Response
The top-level keys of the JSON body. Each object links to its full shape in the data reference.
dataRace
{ "data": {
"id": 812345, "name": "Singapore GP", "slug": "singapore-gp", "sport": "motorsport",
"series": { "id": 812300, "name": "Formula 1", "slug": "formula-1", "sport": "motorsport" },
"season": { "id": 812301, "name": "Formula 1 2026", "year": "2026", "startYear": 2026, "endYear": 2026 },
"round": 17, "status": "finished", "startDate": "2026-10-09", "endDate": "2026-10-11",
"country": { "code": "SG", "name": "Singapore" },
"circuit": { "name": "Marina Bay", "city": "Singapore", "country": { "code": "SG", "name": "Singapore" }, "lengthMeters": 4927 },
"laps": 62, "distanceMeters": 305337, "category": null,
"winner": { "id": 700001, "name": "Max Verstappen", "slug": "verstappen-max", "shortName": "M. Verstappen", "code": "VER", "image": "https://cdn.datasportsapi.com/v2/teams/700001/logo" },
"sessions": [ …,
{ "id": 812350, "name": "Grand Prix", "type": "race", "status": "finished", "startTime": "2026-10-11T12:00:00.000Z",
"laps": 62, "lapsCompleted": 62, "distanceMeters": 305337, "departureCity": null, "arrivalCity": null, "profile": null,
"weather": "night", "trackCondition": "dry", "airTemperatureC": 30.2, "trackTemperatureC": 41.5, "humidityPercent": 77.4,
"safetyCar": null, "winner": { "id": 700001, "name": "Max Verstappen", … } } ] } }04Errors
- 403
history_not_in_planyour plan’s history does not reach back to the race’s start
- 404
not_foundthe id is not a race id (season and session ids are rejected too)
- 404
no_datathis is a duplicate that our data source files under a second series but never runs (NASCAR Cup); error.series, and error.race when a match is found, identify the genuine series and race
unauthorized429rate_limited429quota_exceeded500internal_errorEvery error code