# Laps

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

A **lap** represents a single circuit completion by a driver during a motorsport fixture. Lap data is always scoped to a specific [fixture](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/fixtures) (session) and driver. It is available for race sessions and, where timing data is captured, for qualifying and practice sessions too.

{% hint style="info" %}
Use the Laps endpoints to retrieve lap-by-lap timing for post-race analysis, build historical lap charts, or power live timing displays during an active session.

Use the `details` include to enrich each lap with sector times and total lap duration. The type reference for these details is described in the [Results & Live Data Type Reference](https://docs.sportmonks.com/v3/motorsport-api/welcome/results-and-live-data-type-reference).&#x20;
{% endhint %}

#### **Available endpoints**

* [**GET Laps by Fixture ID**](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/laps/get-laps-by-fixture-id): returns all laps for a provided fixture ID.
* [**GET Laps by Fixture ID and Driver ID**](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/laps/get-laps-by-fixture-id-and-driver-id): returns all laps completed by a specific driver in a given fixture.
* [**GET Latest Laps by Fixture ID**](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/laps/get-latest-laps-by-fixture-id): returns the most recent lap per driver for a provided fixture ID.
* [**GET Laps by Fixture ID and Lap Number**](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/laps/get-laps-by-fixture-id-and-lap-number): returns all driver laps for a specific lap number in a fixture.

#### **Include options**

[`fixture`](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/fixture), [`participant`](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/driver), `details`

{% 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 %}

#### **Using `details`**

The base lap response returns only the lap number, driver number, and participant ID. Add `?include=details` to get the full timing breakdown per lap:

* **`LAP_DURATION`** - total lap time in milliseconds
* **`SECTOR_1`**, **`SECTOR_2`**, **`SECTOR_3`** - individual sector times in milliseconds

These are the type `developer_name` values. Resolve them via the [Results & Live Data Type Reference](https://docs.sportmonks.com/v3/motorsport-api/welcome/results-and-live-data-type-reference).

> **Include depth:** Laps endpoints support a maximum of **2** nested includes. This is shallower than most other Motorsport API endpoints - plan your include chains accordingly.

#### **Choosing the right endpoint**

| Use case                                      | Endpoint to use                       |
| --------------------------------------------- | ------------------------------------- |
| Full post-session lap history for all drivers | GET Laps by Fixture ID                |
| Full lap history for one driver               | GET Laps by Fixture ID and Driver ID  |
| Live timing - most recent lap per driver      | GET Latest Laps by Fixture ID         |
| All drivers' data for a specific lap number   | GET Laps by Fixture ID and Lap Number |

#### **Full laps vs latest laps**

The full laps endpoint (`/fixtures/FIXTURE_ID/laps`) returns every lap recorded in the session for every driver. In a 70-lap race with 20 drivers, this is up to 1,400 records. This endpoint has no pagination - all records are returned in a single response. It is best suited to post-session analysis once a fixture is complete.

The latest laps endpoint (`/fixtures/FIXTURE_ID/laps/latest`) returns only the **most recently completed lap per driver** - a maximum of 20 records regardless of race distance. This is the correct endpoint for live timing displays. Poll it at a sensible interval (10-15 seconds) rather than the full laps endpoint, which grows with every lap and becomes increasingly expensive to process as a race progresses.

#### **Working with lap fields**

* **`lap_number`** - the lap number within the session. Lap 1 is the first lap after the start/safety car release. In qualifying sessions, laps are numbered sequentially per driver.
* **`driver_number`** - the driver's race number (e.g. `3` for Verstappen, `44` for Hamilton). This is the number displayed on the car, not a database ID.
* **`participant_id`** - the unique ID of the driver entity in the Motorsport API. Resolve it with `?include=participant` to get the driver's name, nationality, and other profile data.
* **`is_latest`** - `true` for the most recently completed lap per driver in the session. In the full laps endpoint this flag will be `true` on only one record per driver - the last lap they completed. It is always `true` on all records returned by the latest laps endpoint.

#### **Common requests**

**All laps in a completed race session with sector times:**

```
GET /v3/motorsport/fixtures/FIXTURE_ID/laps?api_token=YOUR_TOKEN&include=details
```

**Full lap history for a single driver with sector times:**

```http
GET /v3/motorsport/fixtures/FIXTURE_ID/laps/drivers/DRIVER_ID
?api_token=YOUR_TOKEN&include=details
```

**Live timing - most recent lap per driver:**

```http
GET /v3/motorsport/fixtures/FIXTURE_ID/laps/latest
?api_token=YOUR_TOKEN&include=details
```

**All drivers' lap times on a specific lap (e.g. lap 42):**

```http
GET /v3/motorsport/fixtures/FIXTURE_ID/laps/lap/42
?api_token=YOUR_TOKEN&include=details;participant
```

{% hint style="info" %}
For live session timing, laps data is also available as an include directly on fixture and livescores responses via `latestLaps`. This avoids a separate API call when you are already fetching session state: `?include=lineups.details;latestLaps`. Use the dedicated Laps endpoints when you need full lap history or per-lap breakdown independently of fixture data.
{% endhint %}

#### **Related entities**

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

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

#### **Related pages**

* [Fixtures](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/fixtures) - The session a lap belongs to
* [Live](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/live) - Active session data, includes `latestLaps` as an include option
* [Pitstops](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/pitstops) - Pit lane visits scoped to a fixture and driver
* [Stints](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/stints) - Tyre stints scoped to a fixture and driver
* [Drivers](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/endpoints/drivers) - Resolve `participant_id` to full driver profiles
* [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/laps.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.
