Skip to content
datasportsAPI

Race sportsSeries standings

Documentation

/

Type to filter the docs by title or path.

Race sportsEndpoint 99 of 116

Series standings

GET

/v2/series/{id}/standings

Plan
All plans
Auth
Bearer dsa_live_…
Parameters
1 required · 2 optional
Returns
SeriesStandingsRow[]

A season’s championship standings, either for drivers / riders (type=competitors, the default) or for teams (type=teams), with points, wins, podiums, pole positions, fastest laps, the number of races started and how many of them scored points.

Worth knowing

  • Cycling has no teams standings and returns an empty array for them.
  • In the teams table, team is null.
  • Columns our data source does not track are null.
  • meta.figuresSource says whether wins / podiums / polePositions / racesStarted / racesWithPoints are upstream (taken from the source’s own table) or computed.
  • They are computed for MotoGP, whose table carries only positions and points: we derive the figures from the main race of every completed round — a win is 1st place, a podium a top-3 finish, a pole grid position 1; sprints are ignored, and a team is credited for each of its entries, with one start per race.
  • For MotoGP, fastestLaps remains null.

01Parameters

  • idpathRequired

    series id issued by DataSportsAPI, a positive integer

  • seasonqueryOptional

    season id from /v2/series/{id}/seasons; the most recent season is used if omitted

  • typequeryOptional

    competitors (default) \| teams

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/series/{id}/standings"

03Response

The top-level keys of the JSON body. Each object links to its full shape in the data reference.

data
SeriesStandingsRow[]
meta
season (the season actually served), type, count, figuresSource (upstream | computed)
Example response
{ "data": [ { "position": 1, "competitor": { "id": 700003, "name": "Lando Norris", … }, "team": { "id": 700011, "name": "McLaren", … },
    "points": 357, "wins": 7, "podiums": 15, "polePositions": 6, "fastestLaps": 5, "racesStarted": 17, "racesWithPoints": 17 }, … ],
  "meta": { "season": 812301, "type": "competitors", "count": 21, "figuresSource": "upstream" } }

// MotoGP (figures counted by us from the season's main races):
{ "data": [ { "position": 1, "competitor": { "name": "Marc Márquez", … }, "team": { "name": "Ducati Lenovo Team", … },
    "points": 545, "wins": 11, "podiums": 15, "polePositions": 8, "fastestLaps": null, "racesStarted": 17, "racesWithPoints": 16 }, … ],
  "meta": { "season": 696722, "type": "competitors", "count": 32, "figuresSource": "computed" } }

04Errors

  • 400bad_request

    the season id is invalid, or type is something other than competitors|teams

  • 403history_not_in_plan

    your plan’s history window begins after this season ended

  • 404not_found

    the season id is not among this series’ seasons; 404 no_data — no seasons exist for the series

Any key can also meet401unauthorized429rate_limited429quota_exceeded500internal_errorEvery error code