↔️Stints

🏎️ Motorsport API Required

All Stints endpoints require an active Motorsport API subscription (€79/mo, 3,000 API calls/hr).

View pricing β†’

A stint represents a continuous run on a single tyre compound between pitstops. A driver's first stint begins at the race start and ends when they make their first pitstop. Their second stint begins when they re-join the track and ends at their next stop (or the race finish). Stint data is always scoped to a specific fixture (session) and driver.

Use the Stints endpoints to analyse tyre strategies, track compound usage across a race, or build live undercut/overcut visualisations.

Use the details include to enrich each stint with its start and end lap numbers. This tells you exactly which laps each tyre compound covered. The type reference for these details is described in the Results & Live Data Type Reference.

Available endpoints

Include options

fixture, participant, details

Want to keep responses lighter and faster? Use select to request only the fields you need. See: Request options

Using details

The base stint response returns only the stint number, driver number, and participant ID. Add ?include=details to get the start and end lap numbers for each stint - the essential data for tyre strategy analysis.

The details array returns the start and end lap numbers for the stint. The end lap number is null for a driver's current active stint during a live session. Resolve the exact type values via the Results & Live Data Type Reference.

Include depth: Stints endpoints support a maximum of 2 nested includes.

Choosing the right endpoint

Use case
Endpoint to use

Full tyre strategy overview for all drivers

GET Stints by Fixture ID

One driver's complete stint breakdown

GET Stints by Fixture ID and Driver ID

Live tyre tracker - current stint per driver

GET Latest Stints by Fixture ID

All drivers on their second stint (e.g. post-safety car)

GET Stints by Fixture ID and Stint Number

Full stints vs latest stints

The full stints endpoint (/fixtures/FIXTURE_ID/stints) returns every stint across the race for all drivers. A typical F1 race with 20 drivers making 1-2 stops each produces 40-60 stint records. No pagination - all records returned in one response.

The latest stints endpoint (/fixtures/FIXTURE_ID/stints/latest) returns only the current (most recent) stint per driver. This is the correct endpoint for live tyre trackers where you want to show the active compound and the lap it was fitted. Pair it with latestPitstops to show both the current tyre and how many laps it has been on:

Working with stint fields

  • stint_number - the sequential count of stints for a driver in the session. 1 = first stint from race start, 2 = second stint after first pitstop, and so on. Use the by-stint-number endpoint to compare all drivers at the same point in their strategy (e.g. everyone currently on their second stint).

  • driver_number - the driver's race 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 full profile.

  • is_latest - true for the driver's current active stint. During a live race a driver on their second stint will have is_latest: false on stint 1 and is_latest: true on stint 2. Once a race ends, is_latest: true marks the final stint of each driver.

Connecting stints to pitstops

Stints and pitstops are complementary datasets. A driver's pitstop on lap 28 ends their first stint and begins their second. To reconstruct a full strategy view, combine:

  • Stints with ?include=details - for start/end lap numbers and therefore stint length

  • Pitstops with ?include=details - for the lap the stop occurred on and pit duration

Both datasets use the same driver_number and participant_id fields, making them straightforward to join in your application.

Common requests

Full tyre strategy for all drivers with lap ranges:

Single driver's stint breakdown:

Live tyre tracker - current stint per driver:

All drivers currently on their second stint:

Stint data is also available as an include directly on fixture and livescores responses via stints and latestStints. Use these when you are already fetching session state to avoid a separate API call: ?include=lineups.details;latestStints;latestPitstops. Use the dedicated Stints endpoints when you need stint data independently or want to query by stint number.

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

Last updated

Was this helpful?