π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.
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.
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
Want to keep responses lighter and faster? Use select to request only the fields you need. See: Request options
Using details
detailsThe 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):
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.
Related entities
Get an overview and explanation of all the fields returned in the API response:
Related pages
Last updated
Was this helpful?