Timing & Lap Data
Everything about pace and position. timing.data is the primary feed: per-driver lap times, sector splits, gap-to-leader, interval, and pit status; the others supplement or summarise it.
Subscribe with the feedId via webhook or SSE. The badge shows the feed's access class: free feeds are open to every plan, live feeds require the Developer plan, and analytics feeds require the Custom plan.
timing.dataLive Timinglive
Per-driver position, gaps (leader + interval), lap/sector times, speed traps, pit status.
| Field | Type | Description |
|---|---|---|
drivers[].gapToLeader.display | string | Sample: "+29.517" |
drivers[].gapToLeader.seconds | number | Sample: 29.517 |
drivers[].lastLapTime.display | string | Sample: "1:18.079" |
drivers[].lastLapTime.ms | number | Sample: 78079 |
drivers[].bestLapTime.display | string | Sample: "1:18.079" |
drivers[].bestLapTime.ms | number | Sample: 78079 |
drivers[].sectors[] | array of null | Sample: null |
drivers[].speeds.fl | number | Sample: 293 |
Every delivery carries feed, sessionId and utc. Each driver object also carries driverId, constructorId, number, tla, name and team.
recorded frame; driver identity fields completed from the driver registry, timing.data trimmed to 3 rows
Subscribe: webhooks · quickstart · SDK · GET /v1/feeds
timing.statsTiming Statslive
Personal best lap, best sectors, speed trap rankings.
| Field | Type | Description |
|---|---|---|
drivers[].personalBestLapTime.display | string | Contract field |
drivers[].personalBestLapTime.ms | number | Contract field |
drivers[].personalBestLapTime.lap | number | Contract field |
drivers[].bestSectors[].display | string | Contract field |
drivers[].bestSectors[].ms | number | Contract field |
drivers[].bestSectors[].lap | number | Contract field |
drivers[].speeds.i1.position | number | Contract field |
drivers[].speeds.i1.speedKmh | number | Contract field |
drivers[].speeds.i2.position | number | Contract field |
drivers[].speeds.i2.speedKmh | number | Contract field |
drivers[].speeds.fl.position | number | Contract field |
drivers[].speeds.fl.speedKmh | number | Contract field |
drivers[].speeds.st.position | number | Contract field |
drivers[].speeds.st.speedKmh | number | Contract field |
Every delivery carries feed, sessionId and utc. Each driver object also carries driverId, constructorId, number, tla, name and team.
Subscribe: webhooks · quickstart · SDK · GET /v1/feeds
timing.lap-historyLap Historylive
Accumulated per-driver lap data series.
| Field | Type | Description |
|---|---|---|
drivers[].lapTimes.40.display | string | Contract field |
drivers[].lapTimes.40.ms | number | Contract field |
drivers[].lapTimes.41.display | string | Contract field |
drivers[].lapTimes.41.ms | number | Contract field |
drivers[].lapTimes.42.display | string | Contract field |
drivers[].lapTimes.42.ms | number | Contract field |
drivers[].startLap | number | Contract field |
Every delivery carries feed, sessionId and utc. Each driver object also carries driverId, constructorId, number, tla, name and team.
Subscribe: webhooks · quickstart · SDK · GET /v1/feeds
timing.top-threeTop Threelive
Simplified live leaderboard for the top three cars — position, driver, lap time, and gap. Zero-dependency feed for tickers and score overlays.
| Field | Type | Description |
|---|---|---|
drivers[].position | number | Sample: 1 |
drivers[].lapTime.display | string | Sample: "1:20.087" |
drivers[].lapTime.ms | number | Sample: 80087 |
drivers[].gapToLeader.display | string | Sample: "LAP 57" |
drivers[].gapToLeader.seconds | null | Sample: null |
drivers[].overallFastest | boolean | Sample: false |
Every delivery carries feed, sessionId and utc. Each driver object also carries driverId, constructorId, number, tla, name and team.
frame 88331 of a local replay of the 2026 Mexico City Grand Prix race through the merged engine (scripts/capture-replay-frames.ts with the RL-2854 to RL-2857 handler fixes); input is the archive stream directory in object; driver identity fields completed from the 2026 driver registry; utc is the replay run time, not the race clock
Subscribe: webhooks · quickstart · SDK · GET /v1/feeds
timing.mini-sectorsMini-Sector Timinganalytics
High-granularity timing companion: mini-sector progress ticks, speed-trap readings (I1, I2, FL, ST), and live pit/retirement flags.
| Field | Type | Description |
|---|---|---|
drivers[].gapToLeader.display | string | Sample: "+42.580" |
drivers[].gapToLeader.seconds | number | Sample: 42.58 |
drivers[].lastLapTime | null | Sample: null |
drivers[].sectors[].time | null | Sample: null |
drivers[].sectors[].personalFastest | boolean | Sample: false |
drivers[].sectors[].drivenSegments | array | Sample: [] |
Every delivery carries feed, sessionId and utc. Each driver object also carries driverId, constructorId, number, tla, name and team.
frame of the stored replay of the 2026 British Grand Prix; driver identity fields completed from the driver registry; utc is the replay run time, not the race clock; trimmed to 3 rows
Subscribe: webhooks · quickstart · SDK · GET /v1/feeds