Feed Catalog›Strategy & Tyres

Strategy & Tyres

live

The full pit and tyre picture: current compound and age, complete stint history, pit-lane durations, and the official pit-stop record. pit.lane-times arrives live as the car crosses the timing loops; pit.stops is the authoritative record that follows. Building a fantasy game? The Fantasy pit-lane leaderboard endpoint returns these stops ranked fastest to slowest, ready for a constructor leaderboard.

Feed IDAccess classCadenceDescription
tire.currentlive
Developer plan
Per updateCompound and new-set flag for each driver whose tyre changed, with tyre age once known.
tire.historylive
Developer plan
Per updateComplete stint history per driver: compound, new-set flag, start and end lap, laps run.
tire.stintslive
Developer plan
Per updateEach driver's complete stint list: compound, new set, tyre age, laps, best lap; plus grid slot.
pit.lane-timeslive
Developer plan
Per updatePit-lane time per pass in milliseconds (entry to exit), with the stop number and pit-in lap.
pit.stopslive
Developer plan
Per updateOfficial F1 single pit-stop record (authoritative, arrives after the live stop).
pit.stop-serieslive
Developer plan
Per updateFull pit-stop history per driver.

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.

tire.currentCurrent Tyreslive

Per update

Compound and new-set flag for each driver whose tyre changed, with tyre age once known.

Payload fields
FieldTypeDescription
drivers[].compoundstringSample: "MEDIUM"
drivers[].newbooleanSample: true
drivers[].agenumberSample: 0

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 859 of a local replay of the 2026 Mexico City Grand Prix race through the merged engine (scripts/capture-replay-frames.ts at develop 540d22218); 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": "tire.current",
  "sessionId": "2026-mexico_r",
  "utc": "2026-11-05T03:20:20.700Z",
  "drivers": [
    {
      "driverId": "verstappen-max",
      "constructorId": "red-bull-racing",
      "number": "3",
      "tla": "VER",
      "name": "Max Verstappen",
      "team": "Red Bull Racing",
      "compound": "MEDIUM",
      "new": true,
      "age": 0
    },
    {
      "driverId": "bortoleto-gabriel",
      "constructorId": "audi",
      "number": "5",
      "tla": "BOR",
      "name": "Gabriel Bortoleto",
      "team": "Audi",
      "compound": "MEDIUM",
      "new": true,
      "age": 0
    },
    {
      "driverId": "hadjar-isack",
      "constructorId": "red-bull-racing",
      "number": "6",
      "tla": "HAD",
      "name": "Isack Hadjar",
      "team": "Red Bull Racing",
      "compound": "SOFT",
      "new": false,
      "age": 2
    },
    {
      "driverId": "perez-sergio",
      "constructorId": "cadillac",
      "number": "11",
      "tla": "PER",
      "name": "Sergio Perez",
      "team": "Cadillac",
      "compound": "SOFT",
      "new": true,
      "age": 0
    },
    {
      "driverId": "antonelli-kimi",
      "constructorId": "mercedes",
      "number": "12",
      "tla": "ANT",
      "name": "Kimi Antonelli",
      "team": "Mercedes",
      "compound": "SOFT",
      "new": true,
      "age": 0
    },
    {
      "driverId": "alonso-fernando",
      "constructorId": "aston-martin",
      "number": "14",
      "tla": "ALO",
      "name": "Fernando Alonso",
      "team": "Aston Martin",
      "compound": "SOFT",
      "new": true,
      "age": 0
    },
    {
      "driverId": "leclerc-charles",
      "constructorId": "ferrari",
      "number": "16",
      "tla": "LEC",
      "name": "Charles Leclerc",
      "team": "Ferrari",
      "compound": "SOFT",
      "new": true,
      "age": 0
    },
    {
      "driverId": "stroll-lance",
      "constructorId": "aston-martin",
      "number": "18",
      "tla": "STR",
      "name": "Lance Stroll",
      "team": "Aston Martin",
      "compound": "SOFT",
      "new": true,
      "age": 0
    },
    {
      "driverId": "albon-alexander",
      "constructorId": "williams",
      "number": "23",
      "tla": "ALB",
      "name": "Alexander Albon",
      "team": "Williams",
      "compound": "SOFT",
      "new": true,
      "age": 0
    },
    {
      "driverId": "hulkenberg-nico",
      "constructorId": "audi",
      "number": "27",
      "tla": "HUL",
      "name": "Nico Hulkenberg",
      "team": "Audi",
      "compound": "MEDIUM",
      "new": true,
      "age": 0
    },
    {
      "driverId": "lindblad-arvid",
      "constructorId": "racing-bulls",
      "number": "41",
      "tla": "LIN",
      "name": "Arvid Lindblad",
      "team": "Racing Bulls",
      "compound": "SOFT",
      "new": true,
      "age": 0
    },
    {
      "driverId": "sainz-jr-carlos",
      "constructorId": "williams",
      "number": "55",
      "tla": "SAI",
      "name": "Carlos Sainz Jr.",
      "team": "Williams",
      "compound": "SOFT",
      "new": true,
      "age": 0
    },
    {
      "driverId": "russell-george",
      "constructorId": "mercedes",
      "number": "63",
      "tla": "RUS",
      "name": "George Russell",
      "team": "Mercedes",
      "compound": "SOFT",
      "new": false,
      "age": 3
    },
    {
      "driverId": "bottas-valtteri",
      "constructorId": "cadillac",
      "number": "77",
      "tla": "BOT",
      "name": "Valtteri Bottas",
      "team": "Cadillac",
      "compound": "SOFT",
      "new": true,
      "age": 0
    }
  ]
}

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

tire.historyTyre Historylive

Per update

Complete stint history per driver: compound, new-set flag, start and end lap, laps run.

Payload fields
FieldTypeDescription
drivers[].stints[].compoundstringSample: "SOFT"
drivers[].stints[].newbooleanSample: true
drivers[].stints[].startLapnumberSample: 1
drivers[].stints[].endLapnumberSample: 39
drivers[].stints[].totalLapsnumberSample: 39

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 83557 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": "tire.history",
  "sessionId": "2026-mexico_r",
  "utc": "2026-11-05T05:50:59.707Z",
  "drivers": [
    {
      "driverId": "norris-lando",
      "constructorId": "mclaren",
      "number": "1",
      "tla": "NOR",
      "name": "Lando Norris",
      "team": "McLaren",
      "stints": [
        {
          "compound": "SOFT",
          "new": true,
          "startLap": 1,
          "endLap": 39,
          "totalLaps": 39
        },
        {
          "compound": "MEDIUM",
          "new": true,
          "startLap": 40,
          "endLap": 45,
          "totalLaps": 6
        },
        {
          "compound": "SOFT",
          "new": false,
          "startLap": 46,
          "endLap": null,
          "totalLaps": 8
        }
      ]
    },
    {
      "driverId": "antonelli-kimi",
      "constructorId": "mercedes",
      "number": "12",
      "tla": "ANT",
      "name": "Kimi Antonelli",
      "team": "Mercedes",
      "stints": [
        {
          "compound": "SOFT",
          "new": true,
          "startLap": 1,
          "endLap": 43,
          "totalLaps": 43
        },
        {
          "compound": "MEDIUM",
          "new": true,
          "startLap": 44,
          "endLap": 45,
          "totalLaps": 2
        },
        {
          "compound": "SOFT",
          "new": false,
          "startLap": 46,
          "endLap": null,
          "totalLaps": 8
        }
      ]
    },
    {
      "driverId": "leclerc-charles",
      "constructorId": "ferrari",
      "number": "16",
      "tla": "LEC",
      "name": "Charles Leclerc",
      "team": "Ferrari",
      "stints": [
        {
          "compound": "SOFT",
          "new": true,
          "startLap": 1,
          "endLap": 27,
          "totalLaps": 27
        },
        {
          "compound": "MEDIUM",
          "new": true,
          "startLap": 28,
          "endLap": 45,
          "totalLaps": 18
        },
        {
          "compound": "SOFT",
          "new": false,
          "startLap": 46,
          "endLap": null,
          "totalLaps": 8
        }
      ]
    },
    {
      "driverId": "russell-george",
      "constructorId": "mercedes",
      "number": "63",
      "tla": "RUS",
      "name": "George Russell",
      "team": "Mercedes",
      "stints": [
        {
          "compound": "SOFT",
          "new": false,
          "startLap": 1,
          "endLap": 33,
          "totalLaps": 33
        },
        {
          "compound": "MEDIUM",
          "new": true,
          "startLap": 34,
          "endLap": 44,
          "totalLaps": 11
        },
        {
          "compound": "SOFT",
          "new": false,
          "startLap": 45,
          "endLap": 45,
          "totalLaps": 1
        },
        {
          "compound": "SOFT",
          "new": false,
          "startLap": 46,
          "endLap": null,
          "totalLaps": 8
        }
      ]
    }
  ]
}

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

tire.stintsStint Datalive

Per update

Each driver's complete stint list: compound, new set, tyre age, laps, best lap; plus grid slot.

Payload fields
FieldTypeDescription
drivers[].stints[].compoundstringSample: "MEDIUM"
drivers[].stints[].newbooleanSample: false
drivers[].stints[].startLapnumberSample: 7
drivers[].stints[].totalLapsnumberSample: 7

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

json
{
  "feed": "tire.stints",
  "sessionId": "2026-great-britain_r",
  "utc": "2026-07-07T04:16:16.085Z",
  "drivers": [
    {
      "driverId": "albon-alexander",
      "constructorId": "williams",
      "number": "23",
      "tla": "ALB",
      "name": "Alex Albon",
      "team": "Williams",
      "stints": [
        {
          "compound": "MEDIUM",
          "new": false,
          "startLap": 7,
          "totalLaps": 7
        }
      ]
    }
  ]
}

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

pit.lane-timesPit Lane Timeslive

Per update

Pit-lane time per pass in milliseconds (entry to exit), with the stop number and pit-in lap.

Payload fields
FieldTypeDescription
stops[].stopNumbernumberSample: 1
stops[].pitInLapnumberSample: 28
stops[].pitLaneTimeMsnumberSample: 22700

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 46117 of a local replay of the 2026 Mexico City Grand Prix race through the merged engine (scripts/capture-replay-frames.ts at develop 540d22218); 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": "pit.lane-times",
  "sessionId": "2026-mexico_r",
  "utc": "2026-11-05T04:07:56.282Z",
  "stops": [
    {
      "driverId": "hamilton-lewis",
      "constructorId": "ferrari",
      "number": "44",
      "tla": "HAM",
      "name": "Lewis Hamilton",
      "team": "Ferrari",
      "stopNumber": 1,
      "pitInLap": 28,
      "pitLaneTimeMs": 22700
    }
  ]
}

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

pit.stopsPit Stoplive

Per update

Official F1 single pit-stop record (authoritative, arrives after the live stop).

Payload fields
FieldTypeDescription
data.lapnumberSample: 30
data.pitStopTimeMsnumberSample: 3800
data.pitLaneTimeMsnumberSample: 25640

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": "pit.stops",
  "sessionId": "2026-canada_r",
  "utc": "2026-10-05T18:51:14.806Z",
  "data": {
    "driver": {
      "driverId": "colapinto-franco",
      "constructorId": "alpine",
      "number": "43",
      "tla": "COL",
      "name": "Franco Colapinto",
      "team": "Alpine"
    },
    "lap": 30,
    "pitStopTimeMs": 3800,
    "pitLaneTimeMs": 25640
  }
}

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

pit.stop-seriesPit Stop Serieslive

Per update

Full pit-stop history per driver.

Payload fields
FieldTypeDescription
drivers[].stops[].stopNumbernumberSample: 1
drivers[].stops[].lapnumberSample: 3
drivers[].stops[].pitStopTimeMsnumberSample: 6400
drivers[].stops[].pitLaneTimeMsnumberSample: 28257
drivers[].stops[].utcstringSample: "2026-05-24T20:14:43.855Z"

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

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

frame 23430 of a local replay of the 2026 Canadian 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": "pit.stop-series",
  "sessionId": "2026-montreal_r",
  "utc": "2026-11-05T04:35:27.914Z",
  "drivers": [
    {
      "driverId": "bottas-valtteri",
      "constructorId": "cadillac",
      "number": "77",
      "tla": "BOT",
      "name": "Valtteri Bottas",
      "team": "Cadillac",
      "stops": [
        {
          "stopNumber": 1,
          "lap": 3,
          "pitStopTimeMs": 6400,
          "pitLaneTimeMs": 28257,
          "utc": "2026-05-24T20:14:43.855Z"
        },
        {
          "stopNumber": 2,
          "lap": 9,
          "pitStopTimeMs": 3300,
          "pitLaneTimeMs": 24847,
          "utc": "2026-05-24T20:23:13.509Z"
        }
      ]
    }
  ]
}

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

← Timing & Lap DataRace Control →