# Fixtures

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

A **fixture** represents a single on-track session within a race weekend - Practice 1, Qualifying, Sprint Race, or the Race itself. Fixtures are always scoped to a [Stage](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/stages) (race weekend) and belong to a [Season](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/seasons).

> **Not sure about the difference between a Fixture and a Stage?** In this API, a Stage is the full race weekend (e.g. the Australian Grand Prix) and a Fixture is a single session within it (e.g. Practice 1). See the [Data Model](https://docs.sportmonks.com/v3/motorsport-api/welcome/data-model) guide for the full hierarchy.

{% hint style="info" %}
To retrieve results for a fixture, you can use the `results` include. Alternatively, you can use the `lineups.details` nested include to retrieve additional lineup information and more result types. The types for these results are described in [results-and-live-data-type-reference](https://docs.sportmonks.com/v3/motorsport-api/welcome/results-and-live-data-type-reference).

You can also use the `metadata` include to enrich the response with detailed information about the fixture, like the current and total lap count, race distance and fastest lap. The type reference for these details are described in [metadata-and-per-season-data-type-reference](https://docs.sportmonks.com/v3/motorsport-api/welcome/metadata-and-per-season-data-type-reference).
{% endhint %}

#### Available endpoints

Use the endpoint that matches what you are trying to do:

* [GET All Fixtures](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/fixtures/get-all-fixtures): returns all fixtures available in the Motorsport API.
* [GET Fixture by ID](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/fixtures/get-fixture-by-id): returns a single fixture by its ID.
* [GET Multiple Fixtures by IDs](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/fixtures/get-multiple-fixtures-by-ids): returns multiple fixtures by providing a list of IDs.
* [GET Latest Updated Fixture](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/fixtures/get-latest-updated-fixture): returns the most recently updated fixtures.
* [GET Fixture by Date](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/fixtures/get-fixture-by-date): returns fixtures scheduled on a given date.
* [GET Fixture by Date Range](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/fixtures/get-fixture-by-date-range): returns fixtures between two dates (maximum range: 100 days).

#### Include options

Responses from the fixtures endpoints are highly customisable. You can enrich them using `include`.

[`sport`](https://docs.sportmonks.com/v3/core-api/entities/core#sport) [`stage`](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/stage) [`league`](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/league) [`season`](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/season) [`venue`](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/venue) [`state`](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/state) [`lineups`](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/driver) [`participants`](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/stint) [`metadata`](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/fixture) [`results`](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/fixture) [`latestLaps`](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/fixture) [`pitstops`](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/pitstop) [`latestPitstops`](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/pitstop) [`stints`](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/stint) [`latestStints`](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/stint)

{% hint style="info" %}
Want to keep responses lighter and faster? Use `select` to request only the fields you need. See: [Request options](https://docs.sportmonks.com/v3/motorsport-api/welcome/request-options)
{% endhint %}

**Choosing between `results` and `lineups.details`**

Both includes return session result data, but at different levels of detail:

* Use `results` for compact post-session summaries - position, time, interval, gap to leader, and tyre. Suitable for results tables and standings cards.
* Use `lineups.details` for the full result set - includes everything in `results` plus points scored, grid position, lap count, pitstop count, driver status (DNS/DNF/DSQ), fastest lap, and the live `in_pit` indicator.

**Using `metadata`**

The `metadata` include adds session-level information not present in the base response, including the current and total lap count (`CURRENT_LAP`, `TOTAL_LAPS`), race distance (`RACE_DISTANCE`), and session type flags (`IS_QUALIFICATION`, `SPRINT_RACE`, `HAS_STANDING`). This is the correct way to determine programmatically whether a session is a qualifying segment, a Sprint Race, or a points-eligible race - do not rely on the `name` field for this.

#### Working with fixture fields

A few fields in the base fixture response are worth understanding before you build:

* **`leg`** - indicates the session's position within its session type. `"2/3"` means Qualifying 2 of 3. On Sprint weekends, Practice 1 returns `"1/1"` because it is the only practice session.
* **`result_info`** - a human-readable result summary (e.g. `"Max Verstappen won."`). This is `null` until a session concludes. Use `?include=state` to check live session status.
* **`starting_at`** - always in UTC. Convert to the user's local timezone in your application.
* **`placeholder`** - `true` if the session slot exists but a start time has not yet been confirmed. Filter these out when building schedule displays.
* **`group_id`**, **`aggregate_id`**, **`round_id`**, **`length`**, **`has_odds`**, **`has_premium_odds`** - not used in the Motorsport API. These fields are inherited from the shared v3 response structure and can be safely ignored.

#### Common requests

**Single session with full results and circuit info:**

```http
GET /v3/motorsport/fixtures/{id}
?api_token=YOUR_TOKEN&include=lineups.details;venue;state
```

**Live session with lap counter and running order:**

```http
GET /v3/motorsport/livescores
?api_token=YOUR_TOKEN&include=metadata;latestLaps;lineups.details
```

Already have the fixture ID for a known active session?

```http
GET /v3/motorsport/fixtures/{id}
?api_token=YOUR_TOKEN&include=metadata;latestLaps;lineups.details
```

**All sessions on a specific date:**

```http
GET /v3/motorsport/fixtures/date/2025-03-16
?api_token=YOUR_TOKEN&include=stage;state
```

**All sessions across a race weekend:**

```http
GET /v3/motorsport/fixtures/between/2025-03-14/2025-03-16
?api_token=YOUR_TOKEN&include=venue;state
```

{% hint style="info" %}
For a full season's fixtures in a single call, use the [Schedules endpoint](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/schedules) instead. It returns all stages and fixtures for a season together and avoids the 100-day limit on the date range endpoint.
{% endhint %}

#### Related entities

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

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

#### Related pages

* [Data Model](https://docs.sportmonks.com/v3/motorsport-api/welcome/data-model) - How fixtures relate to stages, seasons, and leagues
* [Live](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/live) - Active fixtures only
* [Stages](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/stages) - Race weekends that contain fixtures
* [Laps](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/laps) - Lap-by-lap timing scoped to a fixture
* [Pitstops](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/pitstops) - Pit lane visits scoped to a fixture
* [Stints](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/stints) - Tyre stints scoped to a fixture
* [Schedules](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/schedules) - Full season fixture list in one call
* [States](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/states) - All possible fixture states
* [Results & Live Data Type Reference](https://docs.sportmonks.com/v3/motorsport-api/welcome/results-and-live-data-type-reference)
* [Metadata & Per-Season Data Type Reference](https://docs.sportmonks.com/v3/motorsport-api/welcome/metadata-and-per-season-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/fixtures.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.
