Feed Catalog›Telemetry

Telemetry

live

Where the cars are, in real time. telemetry.driver-tracker streams the timing-tower line for each car during the session: position, gap to the car ahead, gap to the leader, last lap and the fastest-lap flags.

ℹ
Full-resolution per-driver car-data channels (speed, throttle, brake, gear, RPM) and precise position traces are not live-deliverable and are not offered as a product. See results.race-summary under Results & Standings for the post-race summary.
Circuit de Spa-Francorchamps
A track map drawn straight from the position channels: one clean lap of Spa-Francorchamps, reconstructed from our own telemetry. Every circuit we cover has one.
Feed IDAccess classCadenceDescription
telemetry.driver-trackerlive
Developer plan
Per updateTiming-tower line per car (position, gap ahead, gap to leader, last lap, fastest flags).
telemetry.track-positionlive
Developer plan
~1/secEvery car's live position on the circuit — lap fraction plus x/y track coordinates — reconstructed each second from timing.

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.

telemetry.driver-trackerDriver Trackerlive

Per update

Timing-tower line per car (position, gap ahead, gap to leader, last lap, fastest flags).

Payload fields
FieldTypeDescription
drivers[].positionnumberSample: 1
drivers[].lapTime.displaystringSample: "1:19.727"
drivers[].lapTime.msnumberSample: 79727
drivers[].gapToAhead.displaystringSample: "LAP 50"
drivers[].gapToAhead.secondsnullSample: null
drivers[].gapToLeader.displaystringSample: "LAP 50"
drivers[].gapToLeader.secondsnullSample: null
drivers[].overallFastestbooleanSample: false
drivers[].personalFastestbooleanSample: true

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 77587 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": "telemetry.driver-tracker",
  "sessionId": "2026-mexico_r",
  "utc": "2026-11-05T05:45:35.313Z",
  "drivers": [
    {
      "driverId": "verstappen-max",
      "constructorId": "red-bull-racing",
      "number": "3",
      "tla": "VER",
      "name": "Max Verstappen",
      "team": "Red Bull Racing",
      "position": 1,
      "lapTime": {
        "display": "1:19.727",
        "ms": 79727
      },
      "gapToAhead": {
        "display": "LAP 50",
        "seconds": null
      },
      "gapToLeader": {
        "display": "LAP 50",
        "seconds": null
      },
      "overallFastest": false,
      "personalFastest": true
    },
    {
      "driverId": "antonelli-kimi",
      "constructorId": "mercedes",
      "number": "12",
      "tla": "ANT",
      "name": "Kimi Antonelli",
      "team": "Mercedes",
      "position": 3,
      "lapTime": {
        "display": "1:19.567",
        "ms": 79567
      },
      "gapToAhead": {
        "display": "+1.096",
        "seconds": 1.096
      },
      "gapToLeader": {
        "display": "+1.870",
        "seconds": 1.87
      },
      "overallFastest": true,
      "personalFastest": true
    }
  ]
}

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

telemetry.track-positionVirtual Track Positionlive

~1/sec

Every car's live position on the circuit — lap fraction plus x/y track coordinates — reconstructed each second from timing.

Payload fields
FieldTypeDescription
lapnumberSample: 29
estimates[].driverstringSample: "1"
estimates[].lapnumberSample: 28
estimates[].arcnumberSample: 3415.9225076124335
estimates[].lapFractionnumberSample: 0.7832888116515555
estimates[].xnumberSample: 163.35373540548088
estimates[].ynumberSample: 1007.3523059663565
estimates[].vnumberSample: 89.27185775464518
estimates[].stdMnumberSample: 25
estimates[].regimestringSample: "track"
estimates[].ageMsnumberSample: 0

Every delivery carries feed, sessionId and utc.

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

trimmed to the first 3 of the frame's car estimates

json
{
  "feed": "telemetry.track-position",
  "sessionId": "2026-canada_r",
  "lap": 29,
  "utc": "2026-10-05T18:48:29.984Z",
  "estimates": [
    {
      "driver": "1",
      "lap": 28,
      "arc": 3415.9225076124335,
      "lapFraction": 0.7832888116515555,
      "x": 163.35373540548088,
      "y": 1007.3523059663565,
      "v": 89.27185775464518,
      "stdM": 25,
      "regime": "track",
      "ageMs": 0
    },
    {
      "driver": "3",
      "lap": 29,
      "arc": 3102.9423574228254,
      "lapFraction": 0.7115208340799875,
      "x": 79.11032229002551,
      "y": 1310.7302642025743,
      "v": 87.34141667585854,
      "stdM": 25,
      "regime": "track",
      "ageMs": 0
    },
    {
      "driver": "5",
      "lap": 28,
      "arc": 1173.9516315859835,
      "lapFraction": 0.26919321980875566,
      "x": -92.57296325412047,
      "y": 344.01358097584034,
      "v": 41.81418690725663,
      "stdM": 25,
      "regime": "track",
      "ageMs": 0
    }
  ]
}

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

← WeatherAnalytics →