# Race Results

> **🏎️ Motorsport API Required**
>
> All Race Results endpoints require an active Motorsport API subscription (€79/mo, 3,000 API calls/hr).
>
> [View pricing →](https://www.sportmonks.com/formula-one-api/)

The Race Results endpoints return a complete season results record for a specific driver or team. Each response is structured as a nested hierarchy: stages (race weekends) containing race and sprint race fixtures, each with full lineup and result details already embedded.

These endpoints are purpose-built for season-level analysis - driver profile pages, team performance dashboards, and historical result archives. They return everything you need in a single call without requiring additional includes.

#### **Available endpoints**

* [**GET Race Results by Season and Driver**](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/race-results/get-race-results-by-season-and-driver): returns the race results for a provided season ID and driver ID. Includes all stages, race fixtures, lineups, and lineup details for that season and driver.
* [**GET Race Results by Season and Team**](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/race-results/get-race-results-by-season-and-team): returns the race results for a provided season ID and team ID. Includes all stages, race fixtures, lineups, and lineup details for that season and team.

#### **Include options**

{% hint style="info" %}
No includes are available for Race Results endpoints. The full result set - stages, fixtures, lineups, and lineup details - is embedded directly in the response.
{% endhint %}

#### **Understanding the response structure**

Unlike other Motorsport API endpoints that return flat lists, Race Results responses are deeply nested. The top-level `data` array contains **stages**, each of which embeds its **fixtures**, which embed **lineups**, which embed **details**:

```
data[]                    - stages (race weekends)
└── fixtures[]            - race and sprint race sessions only
    └── lineups[]         - one entry per driver/team
        └── details[]     - individual result data points (position, points, status, etc.)
```

Each `detail` object has a `type_id` that identifies what the value represents - position, points scored, grid position, fastest lap, and so on. Resolve these using the [Results & Live Data Type Reference](https://docs.sportmonks.com/v3/motorsport-api/welcome/results-and-live-data-type-reference).

> **Only race fixtures are included.** The response contains race sessions and sprint race sessions only - practice and qualifying fixtures are excluded. Use the [Fixtures endpoints](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/fixtures) if you need results from qualifying or practice sessions.

**Working with Race Results fields**

**Stage-level fields:**

* **`sort_order`** - calendar position of the race weekend within the season. Use this to order results chronologically rather than relying on `starting_at`.
* **`finished`** - `true` once all race sessions in the stage are complete. Useful for separating completed rounds from upcoming ones when building a season results table.
* **`games_in_current_week`** and **`tie_breaker_rule_id`** - not used in the Motorsport API.

**Fixture-level fields:**

* **`name`** - `"Race"` or `"Sprint"`. Use this to distinguish main race results from sprint race results within the same stage.
* **`leg`** - for race fixtures this is always `"1/1"`. For sprint races it may differ on Sprint weekends.
* **`length`** - total scheduled lap count for race sessions.

**Lineup-level fields:**

* **`player_id`** - this is the same value as `participant_id` used across other Motorsport API endpoints (laps, pitstops, stints). Use it to join race result data with lap and stint data from those endpoints.
* **`team_id`** - the constructor ID. When querying by team, all drivers who raced for that team in the season appear in the lineups array.
* **`grid_position`** - starting grid position for the race. Available from the 2022 season onward.
* **`driver_number`** - the race number displayed on the car.

#### **Pagination**

Race Results endpoints support pagination at the stage level. A full 24-round F1 season will return results across multiple pages. Use the standard pagination parameters to iterate through all stages:

```http
GET /v3/motorsport/results/seasons/SEASON_ID/drivers/DRIVER_ID
?api_token=YOUR_TOKEN&page=2
```

#### **Common requests**

**Full season results for a driver:**

```http
GET /v3/motorsport/results/seasons/SEASON_ID/drivers/DRIVER_ID
?api_token=YOUR_TOKEN
```

**Full season results for a team (both drivers):**

```http
GET /v3/motorsport/results/seasons/SEASON_ID/teams/TEAM_ID
?api_token=YOUR_TOKEN
```

**Finding the driver ID**

The `DRIVER_ID` in the URL corresponds to the `player_id` field in lineup objects, and the `participant_id` field in laps, pitstops, and stints responses. To find the correct ID for a driver, use the [Drivers endpoints](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/drivers):

```
GET /v3/motorsport/drivers/search/norris?api_token=YOUR_TOKEN
```

**Finding the team ID**

The `TEAM_ID` corresponds to the `team_id` field in lineup objects. Retrieve it via the [Teams endpoints](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/teams):

```
GET /v3/motorsport/teams/search/mclaren?api_token=YOUR_TOKEN
```

#### **Race Results vs Fixtures with includes**

Both approaches can return race session results for a season, but they serve different purposes:

|                    | Race Results endpoints                         | Fixtures with `lineups.details`   |
| ------------------ | ---------------------------------------------- | --------------------------------- |
| Scope              | Full season for one driver or team             | Any fixture, any session type     |
| Structure          | Nested (stages > fixtures > lineups > details) | Flat fixture with nested includes |
| Includes available | None - all data embedded                       | Full include options              |
| Best for           | Season-level driver/team profiles              | Single race or session analysis   |
| Pagination         | At stage level                                 | Standard fixture pagination       |

If you need results for a single race weekend across all drivers, use the Fixtures endpoint with `?include=lineups.details` instead. Race Results is the right choice when you need a complete season record scoped to a specific driver or team.

#### **Related entities**

Get an overview and explanation of all the fields returned in the API response:

* [Stage](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/stage)
* [Fixture](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/fixture)

#### **Related pages**

* [Fixtures](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/fixtures) - Session-level results for any fixture type
* [Standings](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/standings) - Championship points standings by season
* [Drivers](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/drivers) - Look up driver IDs for use in this endpoint
* [Teams](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/teams) - Look up team IDs for use in this endpoint
* [Seasons](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/seasons) - Look up season IDs
* [Results & Live Data Type Reference](https://docs.sportmonks.com/v3/motorsport-api/welcome/results-and-live-data-type-reference)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/race-results.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
