Feed Catalog›Timing & Lap Data

Timing & Lap Data

liveanalytics

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.

Feed IDAccess classCadenceDescription
timing.datalive
Developer plan
Per updatePer-driver position, gaps (leader + interval), lap/sector times, speed traps, pit status.
timing.statslive
Developer plan
Per updatePersonal best lap, best sectors, speed trap rankings.
timing.lap-historylive
Developer plan
Per updateAccumulated per-driver lap data series.
timing.top-threelive
Developer plan
Per updateSimplified live leaderboard for the top three cars — position, driver, lap time, and gap. Zero-dependency feed for tickers and score overlays.
timing.mini-sectorsanalytics
Custom plan
Per updateHigh-granularity timing companion: mini-sector progress ticks, speed-trap readings (I1, I2, FL, ST), and live pit/retirement flags.

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 update

Per-driver position, gaps (leader + interval), lap/sector times, speed traps, pit status.

Payload fields
FieldTypeDescription
drivers[].gapToLeader.displaystringSample: "+29.517"
drivers[].gapToLeader.secondsnumberSample: 29.517
drivers[].lastLapTime.displaystringSample: "1:18.079"
drivers[].lastLapTime.msnumberSample: 78079
drivers[].bestLapTime.displaystringSample: "1:18.079"
drivers[].bestLapTime.msnumberSample: 78079
drivers[].sectors[]array of nullSample: null
drivers[].speeds.flnumberSample: 293

Every delivery carries feed, sessionId and utc. Each driver object also carries driverId, constructorId, number, tla, name and team.

Sample payload: recorded Canadian Grand Prix (2026-canada_r)

recorded frame; driver identity fields completed from the driver registry, timing.data trimmed to 3 rows

json
{
  "feed": "timing.data",
  "sessionId": "2026-canada_r",
  "utc": "2026-10-05T18:21:14.005Z",
  "drivers": [
    {
      "driverId": "norris-lando",
      "constructorId": "mclaren",
      "number": "1",
      "tla": "NOR",
      "name": "Lando Norris",
      "team": "McLaren",
      "gapToLeader": {
        "display": "+29.517",
        "seconds": 29.517
      },
      "lastLapTime": {
        "display": "1:18.079",
        "ms": 78079
      },
      "bestLapTime": {
        "display": "1:18.079",
        "ms": 78079
      },
      "sectors": [
        null,
        null,
        {
          "display": "30.774",
          "ms": 30774
        }
      ],
      "speeds": {
        "fl": 293
      }
    },
    {
      "driverId": "hadjar-isack",
      "constructorId": "red-bull-racing",
      "number": "6",
      "tla": "HAD",
      "name": "Isack Hadjar",
      "team": "Red Bull Racing",
      "gapToLeader": {
        "display": "+7.292",
        "seconds": 7.292
      },
      "lastLapTime": null,
      "sectors": [
        {
          "display": "21.828",
          "ms": 21828
        },
        null,
        null
      ],
      "speeds": {
        "i1": 240
      }
    },
    {
      "driverId": "leclerc-charles",
      "constructorId": "ferrari",
      "number": "16",
      "tla": "LEC",
      "name": "Charles Leclerc",
      "team": "Ferrari",
      "gapToLeader": {
        "display": "+5.314",
        "seconds": 5.314
      },
      "lastLapTime": null,
      "sectors": [
        null,
        null,
        null
      ]
    }
  ]
}

Subscribe: webhooks · quickstart · SDK · GET /v1/feeds

timing.statsTiming Statslive

Per update

Personal best lap, best sectors, speed trap rankings.

Payload fields
FieldTypeDescription
drivers[].personalBestLapTime.displaystringContract field
drivers[].personalBestLapTime.msnumberContract field
drivers[].personalBestLapTime.lapnumberContract field
drivers[].bestSectors[].displaystringContract field
drivers[].bestSectors[].msnumberContract field
drivers[].bestSectors[].lapnumberContract field
drivers[].speeds.i1.positionnumberContract field
drivers[].speeds.i1.speedKmhnumberContract field
drivers[].speeds.i2.positionnumberContract field
drivers[].speeds.i2.speedKmhnumberContract field
drivers[].speeds.fl.positionnumberContract field
drivers[].speeds.fl.speedKmhnumberContract field
drivers[].speeds.st.positionnumberContract field
drivers[].speeds.st.speedKmhnumberContract field

Every delivery carries feed, sessionId and utc. Each driver object also carries driverId, constructorId, number, tla, name and team.

Sample arrives with the next session.

Subscribe: webhooks · quickstart · SDK · GET /v1/feeds

timing.lap-historyLap Historylive

Per update

Accumulated per-driver lap data series.

Payload fields
FieldTypeDescription
drivers[].lapTimes.40.displaystringContract field
drivers[].lapTimes.40.msnumberContract field
drivers[].lapTimes.41.displaystringContract field
drivers[].lapTimes.41.msnumberContract field
drivers[].lapTimes.42.displaystringContract field
drivers[].lapTimes.42.msnumberContract field
drivers[].startLapnumberContract field

Every delivery carries feed, sessionId and utc. Each driver object also carries driverId, constructorId, number, tla, name and team.

Sample arrives with the next session.

Subscribe: webhooks · quickstart · SDK · GET /v1/feeds

timing.top-threeTop Threelive

Per update

Simplified live leaderboard for the top three cars — position, driver, lap time, and gap. Zero-dependency feed for tickers and score overlays.

Payload fields
FieldTypeDescription
drivers[].positionnumberSample: 1
drivers[].lapTime.displaystringSample: "1:20.087"
drivers[].lapTime.msnumberSample: 80087
drivers[].gapToLeader.displaystringSample: "LAP 57"
drivers[].gapToLeader.secondsnullSample: null
drivers[].overallFastestbooleanSample: false

Every delivery carries feed, sessionId and utc. Each driver object also carries driverId, constructorId, number, tla, name and team.

Sample payload: recorded 2026-mexico_r (2026-mexico_r)

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

json
{
  "feed": "timing.top-three",
  "sessionId": "2026-mexico_r",
  "utc": "2026-11-05T05:55:22.074Z",
  "drivers": [
    {
      "position": 1,
      "driverId": "verstappen-max",
      "constructorId": "red-bull-racing",
      "number": "3",
      "tla": "VER",
      "name": "Max Verstappen",
      "team": "Red Bull Racing",
      "lapTime": {
        "display": "1:20.087",
        "ms": 80087
      },
      "gapToLeader": {
        "display": "LAP 57",
        "seconds": null
      },
      "overallFastest": false
    },
    {
      "position": 2,
      "driverId": "hamilton-lewis",
      "constructorId": "ferrari",
      "number": "44",
      "tla": "HAM",
      "name": "Lewis Hamilton",
      "team": "Ferrari",
      "lapTime": {
        "display": "1:20.046",
        "ms": 80046
      },
      "gapToLeader": {
        "display": "+1.286",
        "seconds": 1.286
      },
      "overallFastest": false
    },
    {
      "position": 3,
      "driverId": "antonelli-kimi",
      "constructorId": "mercedes",
      "number": "12",
      "tla": "ANT",
      "name": "Kimi Antonelli",
      "team": "Mercedes",
      "lapTime": {
        "display": "1:20.427",
        "ms": 80427
      },
      "gapToLeader": {
        "display": "+3.465",
        "seconds": 3.465
      },
      "overallFastest": false
    }
  ]
}

Subscribe: webhooks · quickstart · SDK · GET /v1/feeds

timing.mini-sectorsMini-Sector Timinganalytics

Per update

High-granularity timing companion: mini-sector progress ticks, speed-trap readings (I1, I2, FL, ST), and live pit/retirement flags.

Payload fields
FieldTypeDescription
drivers[].gapToLeader.displaystringSample: "+42.580"
drivers[].gapToLeader.secondsnumberSample: 42.58
drivers[].lastLapTimenullSample: null
drivers[].sectors[].timenullSample: null
drivers[].sectors[].personalFastestbooleanSample: false
drivers[].sectors[].drivenSegmentsarraySample: []

Every delivery carries feed, sessionId and utc. Each driver object also carries driverId, constructorId, number, tla, name and team.

Sample payload: recorded 2026-great-britain_r (2026-great-britain_r)

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

json
{
  "feed": "timing.mini-sectors",
  "sessionId": "2026-great-britain_r",
  "utc": "2026-07-07T04:30:36.906Z",
  "drivers": [
    {
      "driverId": "hadjar-isack",
      "constructorId": "red-bull-racing",
      "number": "6",
      "tla": "HAD",
      "name": "Isack Hadjar",
      "team": "Red Bull Racing",
      "gapToLeader": {
        "display": "+42.580",
        "seconds": 42.58
      },
      "lastLapTime": null,
      "sectors": [
        {
          "time": null,
          "personalFastest": false,
          "drivenSegments": []
        },
        null,
        null
      ]
    },
    {
      "driverId": "gasly-pierre",
      "constructorId": "alpine",
      "number": "10",
      "tla": "GAS",
      "name": "Pierre Gasly",
      "team": "Alpine",
      "position": 12,
      "gapToLeader": {
        "display": "+80.998",
        "seconds": 80.998
      },
      "lastLapTime": null
    },
    {
      "driverId": "colapinto-franco",
      "constructorId": "alpine",
      "number": "43",
      "tla": "COL",
      "name": "Franco Colapinto",
      "team": "Alpine",
      "position": 11,
      "lapsCompleted": 24,
      "gapToLeader": {
        "display": "+75.770",
        "seconds": 75.77
      },
      "lastLapTime": {
        "display": "1:34.712",
        "ms": 94712
      },
      "lastLapPersonalFastest": true,
      "lastLapOverallFastest": false,
      "bestLapTime": {
        "display": "1:34.712",
        "ms": 94712
      },
      "sectors": [
        null,
        null,
        {
          "time": {
            "display": "26.123",
            "ms": 26123
          },
          "personalFastest": true,
          "drivenSegments": []
        }
      ],
      "speeds": {
        "fl": 251
      }
    }
  ]
}

Subscribe: webhooks · quickstart · SDK · GET /v1/feeds

← Session & CoreStrategy & Tyres →