Timing & Lap Data
liveanalytics
Everything about pace and position. timingdata is the primary feed — per-driver lap times, sector splits, gap-to-leader, interval, and pit status; the others supplement or summarise it. timingdataraw is the unprocessed variant for teams that want the unfiltered source.
| Feed ID | Tier | Cadence | Description |
|---|---|---|---|
| timingdata | live | Per update | Per-driver lap times, sector times, gap-to-leader, position, pit status. |
| timingstats | live | Per update | Personal best lap, best sectors, speed trap rankings. |
| laphistory | live | Per update | Accumulated per-driver lap data series. |
| driverraceinfo | live | Per update | Per-driver position, gap, interval, pit stops, overtake state. |
| timingdataraw | analytics | Per update | Unprocessed raw variant of TimingData. |
Subscribe with the feedId via webhook or SSE. Tier shown is the minimum plan required.
timingdataTiming Datalive
Per update
Per-driver lap times, sector times, gap-to-leader, position, pit status.
Sample payload
json
{
"feed": "timingdata",
"sessionId": "9560",
"utc": "2026-06-08T14:32:18.441Z",
"drivers": [
{
"driverId": "norris-lando",
"constructorId": "mclaren",
"number": "4",
"tla": "NOR",
"name": "Lando Norris",
"team": "McLaren F1 Team",
"position": 1,
"gapToLeader": "",
"lastLapTime": "1:27.412",
"pitStops": 1
},
{
"driverId": "verstappen-max",
"constructorId": "red-bull-racing",
"number": "1",
"tla": "VER",
"name": "Max Verstappen",
"team": "Red Bull Racing",
"position": 2,
"gapToLeader": "+4.218",
"lastLapTime": "1:28.103",
"pitStops": 1
},
{
"driverId": "leclerc-charles",
"constructorId": "ferrari",
"number": "16",
"tla": "LEC",
"name": "Charles Leclerc",
"team": "Scuderia Ferrari",
"position": 3,
"gapToLeader": "+8.211",
"lastLapTime": "1:28.209",
"pitStops": 2
}
]
}timingstatsTiming Statslive
Per update
Personal best lap, best sectors, speed trap rankings.
Sample payload
json
{
"feed": "timingstats",
"sessionId": "9560",
"utc": "2026-06-08T14:32:18.441Z",
"drivers": [
{
"driverId": "norris-lando",
"constructorId": "mclaren",
"number": "4",
"tla": "NOR",
"name": "Lando Norris",
"team": "McLaren F1 Team",
"personalBestLapTime": {
"display": "1:27.412",
"lap": 51
},
"bestSectors": [
{
"display": "28.441",
"lap": 51
},
{
"display": "31.204",
"lap": 51
},
{
"display": "27.767",
"lap": 51
}
],
"speeds": {
"i1": {
"position": 1,
"speedKmh": 278
},
"i2": {
"position": 1,
"speedKmh": 301
},
"fl": {
"position": 1,
"speedKmh": 295
},
"st": {
"position": 1,
"speedKmh": 347
}
}
},
{
"driverId": "verstappen-max",
"constructorId": "red-bull-racing",
"number": "1",
"tla": "VER",
"name": "Max Verstappen",
"team": "Red Bull Racing",
"personalBestLapTime": {
"display": "1:27.831",
"lap": 43
},
"bestSectors": [
{
"display": "28.612",
"lap": 43
},
{
"display": "31.411",
"lap": 43
},
{
"display": "27.808",
"lap": 43
}
],
"speeds": {
"i1": {
"position": 2,
"speedKmh": 276
},
"i2": {
"position": 2,
"speedKmh": 298
},
"fl": {
"position": 2,
"speedKmh": 293
},
"st": {
"position": 2,
"speedKmh": 344
}
}
}
]
}laphistoryLap Historylive
Per update
Accumulated per-driver lap data series.
Sample payload
json
{
"feed": "laphistory",
"sessionId": "9560",
"utc": "2026-06-08T14:32:18.441Z",
"drivers": [
{
"driverId": "norris-lando",
"constructorId": "mclaren",
"number": "4",
"tla": "NOR",
"name": "Lando Norris",
"team": "McLaren F1 Team",
"lapTimes": {
"40": "1:27.831",
"41": "1:27.622",
"42": "1:27.412"
},
"startLap": 40
},
{
"driverId": "verstappen-max",
"constructorId": "red-bull-racing",
"number": "1",
"tla": "VER",
"name": "Max Verstappen",
"team": "Red Bull Racing",
"lapTimes": {
"40": "1:28.104",
"41": "1:27.955",
"42": "1:27.831"
},
"startLap": 40
}
]
}driverraceinfoDriver Race Infolive
Per update
Per-driver position, gap, interval, pit stops, overtake state.
Sample payload
json
{
"feed": "driverraceinfo",
"sessionId": "9560",
"utc": "2026-06-08T14:32:18.441Z",
"drivers": [
{
"driverId": "norris-lando",
"constructorId": "mclaren",
"number": "4",
"tla": "NOR",
"name": "Lando Norris",
"team": "McLaren F1 Team",
"position": 1,
"gapToLeader": "",
"interval": "",
"pitStops": 1,
"status": "OnTrack"
},
{
"driverId": "verstappen-max",
"constructorId": "red-bull-racing",
"number": "1",
"tla": "VER",
"name": "Max Verstappen",
"team": "Red Bull Racing",
"position": 2,
"gapToLeader": "4.821",
"interval": "4.821",
"pitStops": 1,
"status": "OnTrack"
},
{
"driverId": "leclerc-charles",
"constructorId": "ferrari",
"number": "16",
"tla": "LEC",
"name": "Charles Leclerc",
"team": "Scuderia Ferrari",
"position": 3,
"gapToLeader": "8.104",
"interval": "3.283",
"pitStops": 0,
"status": "OnTrack"
}
]
}timingdatarawTiming Data Rawanalytics
Per update
Unprocessed raw variant of TimingData.
Sample payload
json
{
"feed": "timingdataraw",
"sessionId": "9560",
"utc": "2026-06-08T14:32:18.441Z",
"drivers": [
{
"driverId": "norris-lando",
"constructorId": "mclaren",
"number": "4",
"tla": "NOR",
"name": "Lando Norris",
"team": "McLaren F1 Team",
"Position": "1",
"GapToLeader": "",
"NumberOfLaps": 42,
"LastLapTime": {
"Value": "1:27.412",
"PersonalFastest": true,
"OverallFastest": true
},
"BestLapTime": {
"Value": "1:27.412"
},
"InPit": false,
"Retired": false,
"Sectors": [
{
"Value": "28.441",
"PreviousValue": "28.503",
"PersonalFastest": true
},
{
"Value": "31.204",
"PreviousValue": "31.289",
"PersonalFastest": true
},
{
"Value": "27.767",
"PreviousValue": "27.802",
"PersonalFastest": true
}
],
"Speeds": {
"I1": {
"Value": "278"
},
"I2": {
"Value": "301"
},
"FL": {
"Value": "295"
},
"ST": {
"Value": "347"
}
}
},
{
"driverId": "verstappen-max",
"constructorId": "red-bull-racing",
"number": "1",
"tla": "VER",
"name": "Max Verstappen",
"team": "Red Bull Racing",
"Position": "2",
"GapToLeader": "+4.821",
"NumberOfLaps": 42,
"LastLapTime": {
"Value": "1:27.831",
"PersonalFastest": false,
"OverallFastest": false
},
"BestLapTime": {
"Value": "1:27.831"
},
"InPit": false,
"Retired": false
}
]
}