Skip to content
datasportsAPI

Race sportsRace

Documentation

/

Type to filter the docs by title or path.

Race sportsEndpoint 92 of 116

Race

GET

/v2/races/{id}

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

  • idpathRequired

    race 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.

data
Race
ObjectsRace
Example response
{ "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

  • 403history_not_in_plan

    your plan’s history does not reach back to the race’s start

  • 404not_found

    the id is not a race id (season and session ids are rejected too)

  • 404no_data

    this 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

Any key can also meet401unauthorized429rate_limited429quota_exceeded500internal_errorEvery error code