# GET /v2/teams/{id}/races

Group: Teams

Race sports: a driver’s or constructor’s result in each race of one series season — place, points, grid slot, race time and gap (a driver), or the constructor’s place, points and its drivers’ places. Since 2026-11-04.

Note: Oldest race first. The result is the race weekend’s main race (sprints are in /v2/races/{id}/results?session=). A driver out of the race has position null, state didNotFinish / didNotStart / … and outReason. An empty list when the competitor did not race that season.

## Parameters

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `id` | path | yes | our numeric id (positive integer) |
| `season` | query | yes | a series season id (from /v2/teams/{id}/race-career or /v2/series/{id}/seasons) |

## Response

- `data`: `TeamRaceResult[]`
- `meta`: season, count, historyFrom when older races were cut by your plan
- Objects: TeamRaceResult (https://sportsapi.app/markdown/en/reference.md#teamraceresult)

## Errors

- 400 bad_request — season missing
- 403 history_not_in_plan — every race of the season is older than your plan’s history
- 404 not_found — an id we never issued

Plus the common errors (https://sportsapi.app/markdown/en/docs.md#errors).

## Request

cURL:

```bash
curl -H "Authorization: Bearer sk_live_…" \
    "https://api.sportsapi.app/v2/teams/{id}/races?season=…"
```

TypeScript:

```ts
const { data, meta } = await client.teams.races(id, { season });
```

Python:

```python
res = client.teams.races(id, season=season)
```

Go:

```go
res, err := client.Teams.Races(ctx, id, &sportsapi.TeamsRacesParams{Season: season})
```

CLI:

```bash
$ sportsapi teams races <id> --season <season>
```

## Example response

```json
{ "data": [ { "race": { "id": 300512, "name": "USA GP", "round": 18, … }, "position": 1, "points": 25, "state": "classified", "outReason": null,
      "gridPosition": 1, "timeMs": 5716650, "gapMs": null, "drivers": [] }, … ],
  "meta": { "season": 300480, "count": 19 } }
```

---

Base URL: https://api.sportsapi.app. Send your API key as `Authorization: Bearer <key>` on every /v2 request; keys are created in the dashboard (https://sportsapi.app/dashboard).
HTML: https://sportsapi.app/docs/teams/races · All docs: https://sportsapi.app/markdown/en/docs.md
