🔂Laps
🏎️ Motorsport API Required
All Laps endpoints require an active Motorsport API subscription (€79/mo, 3,000 API calls/hr).
A lap represents a single circuit completion by a driver during a motorsport fixture. Lap data is always scoped to a specific fixture (session) and driver. It is available for race sessions and, where timing data is captured, for qualifying and practice sessions too.
Available endpoints
GET Laps by Fixture ID: returns all laps for a provided fixture ID.
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: returns the most recent lap per driver for a provided fixture ID.
GET Laps by Fixture ID and Lap Number: returns all driver laps for a specific lap number in a fixture.
Include options
fixture, participant, details
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 millisecondsSECTOR_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.
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
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.3for Verstappen,44for 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=participantto get the driver's name, nationality, and other profile data.is_latest-truefor the most recently completed lap per driver in the session. In the full laps endpoint this flag will betrueon only one record per driver - the last lap they completed. It is alwaystrueon all records returned by the latest laps endpoint.
Common requests
All laps in a completed race session with sector times:
Full lap history for a single driver with sector times:
Live timing - most recent lap per driver:
All drivers' lap times on a specific lap (e.g. lap 42):
Related entities
Get an overview and explanation of all the fields returned in the API response:
Related pages
Last updated
Was this helpful?