Webhooks

Feed Catalog

40+ motorsport feeds across free, live, and analytics tiers. Subscribe to any feed via webhook — data starts flowing the moment a session goes live.

Free Feeds
5 feeds
Status, track, weather, lap, driversfree
Timing & Lap Data
7 feeds
Lap times, sectors, gaps, positionslive
Strategy & Pit Data
3 feeds
Tyre stints, pit times, compound datalive
Race Control
1 feeds
Raw FIA race director messageslive
Live Events
3 feeds
Computed events, session timing, qualifyinglive
analyticsAnalytics tier feeds
Feed IDCadenceDescription
analytics.battleOn battle state changeOn-track battle status between a driver and the car directly ahead (closing, holding, defending).
analytics.championship-probabilityOnce, post-racePost-race championship win probability for all drivers. afterRaceId identifies which race the data reflects.
analytics.constructorPer lapConstructor-level expected points from discrete joint position-distribution convolution, with P(both drivers score) and full points distribution.
analytics.gap-projectionPer lapProjected gap to the race leader at race end for every driver: five percentile bands (p10–p90) plus P(lapped) from Monte Carlo simulation.
analytics.pit-qualityOn pit completionPit-stop execution quality assessment (stationary time vs. expected) after a stop completes.
analytics.pit-windowOn window open/urgentPit-window status (OPEN / URGENT) combining pit probability, undercut viability, tyre cliff risk, and gap context.
analytics.qualifyingPer lap improvementPer-sector fastest probabilities and per-driver pace deltas during qualifying, with pole-margin probability. Fires after each personal best.
analytics.race-oddsPer lapCTMC position distribution, podium/points odds, expected points, fastest-lap probability, H2H vs teammate, plus same-team pairs.
analytics.sector-paceOn sector anomalyPer-sector pace deltas with anomaly detection; fires when a sector-pace anomaly is detected.
analytics.strategyPer lapPer-driver strategy signals: pit stop probability, undercut threat, pace mode, tire health, DNF risk; plus session-level safety car probability.
analytics.tire-strategyPer pit approachNext-compound probabilities for drivers approaching a pit window (pitStopProbability > 0.25). Sparse — fires only when relevant.
analytics.track-conditionsPer lapTrack evolution and grip-condition analytics derived from field pace trends.
driverscoreRelative 1–10 driver performance scores (brake, throttle, g-force).
audiostreamsBroadcast audio stream URIs.
championshippredictionLive championship points simulation: projected standings if the current race order holds.
classifiedresultsPost-race classified positions from the official F1 SPFeed (fires once after race end).
racesummaryOnce, post-racePost-race telemetry summary with aggregate metrics and links to full telemetry endpoints.
timingdatarawUnprocessed raw variant of TimingData.
weather.compound_crossover_alertOn crossoverFires when forecast conditions cross the threshold where a different compound becomes optimal.
weather.forecast_updateOn forecast changeFires when precipitation forecast changes by more than 0.5 mm/hr.
weather.strategy_divergenceDuring rainFires during active rain when the field splits between wet and dry compound strategies.
weather.tyre_mismatchOn wet-tyre mismatchPer-driver alert when a car is on slicks with rain falling or imminent — the wrong tyre for the conditions.

Key payload examples

The two most commonly integrated feeds — timing data and race control messages.

timingdata — per lap
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
    }
  ]
}
racecontrolmessages — per event
json
{
  "feed": "racecontrolmessages",
  "sessionId": "9560",
  "utc": "2026-06-08T14:32:18.441Z",
  "data": {
    "messages": [
      {
        "utc": "2026-06-08T14:22:31.000Z",
        "category": "Flag",
        "message": "SAFETY CAR DEPLOYED",
        "flag": "SAFETY_CAR",
        "lap": 42
      },
      {
        "utc": "2026-06-08T13:58:00.000Z",
        "category": "Other",
        "message": "TURN 6 - INCIDENT INVOLVING CARS 4 (NOR) AND 63 (RUS) NOTED - NO FURTHER ACTION",
        "flag": "CLEAR",
        "lap": 21
      }
    ]
  }
}
Analytics-tier subscribers receive 13 dedicated ML analytics feeds — analytics.strategy, analytics.race-odds, analytics.gap-projection, and more. These are independently subscribable feeds, not fields injected onto timingdata. See the Analytics reference.
← QuickstartRace Events →