Feed CatalogRace Control

Race Control

freeliveanalytics

Official race-direction output, delivered verbatim. racecontrolmessages is the raw FIA feed — safety car, VSC, red flag, track-limits warnings, overtake-system toggles, penalties, and steward decisions — and is often the most commercially important feed for in-play products. trackstatus carries the live flag code.

For pre-parsed structured events derived from these messages (investigation.opened, penalty.applied, lap.time.deleted, overtake.enabled, …) see the Race Events reference →

Feed IDTierCadenceDescription
trackstatusfreePer updateTrack flag code: 1=Clear, 2=Yellow, 4=SC, 5=Red, 6=VSC, 7=VSC Ending.
racecontrolmessageslivePer updateRaw FIA race control messages: safety car, VSC, red flag, penalties, investigations.
tlarcmlivePer updateSimplified race-control text variant.
teamradiolivePer updateTeam radio clip metadata.
audiostreamsanalyticsPer updateBroadcast audio stream URIs.

Subscribe with the feedId via webhook or SSE. Tier shown is the minimum plan required.

trackstatusTrack Statusfree

Per update

Track flag code: 1=Clear, 2=Yellow, 4=SC, 5=Red, 6=VSC, 7=VSC Ending.

Sample payload
json
{
  "feed": "trackstatus",
  "sessionId": "9560",
  "utc": "2026-06-08T14:32:18.441Z",
  "data": {
    "status": "safetyCar",
    "message": "SAFETY CAR"
  }
}

racecontrolmessagesRace Control Messageslive

Per update

Raw FIA race control messages: safety car, VSC, red flag, penalties, investigations.

Each delivery is a batch of all messages since the last update — dedupe on utc.

FieldTypeDescription
messages[].utcstringISO 8601 timestamp from the F1 timing server.
messages[].categorystring"Flag" | "Drs" | "SafetyCar" | "Other" — FIA classification.
messages[].messagestringRaw FIA message text.
messages[].flagstring | nullFlag state if applicable: "SAFETY_CAR" | "VIRTUAL_SAFETY_CAR" | "RED" | "CLEAR" etc.
messages[].lapnumber | nullRace lap when the message was issued.
Sample payload
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
      }
    ]
  }
}

tlarcmTeam Radio & Race Controllive

Per update

Simplified race-control text variant.

teamradioTeam Radiolive

Per update

Team radio clip metadata.

Sample payload
json
{
  "feed": "teamradio",
  "sessionId": "9560",
  "utc": "2026-06-08T14:32:18.441Z",
  "clip": {
    "driverId": "norris-lando",
    "constructorId": "mclaren",
    "number": "4",
    "tla": "NOR",
    "name": "Lando Norris",
    "team": "McLaren F1 Team",
    "utc": "2026-06-08T14:32:18.441Z",
    "url": "https://livetiming.formula1.com/static/2026/audio/teamradio/norris_4_radio.mp3",
    "expiresAt": "2026-06-08T18:00:00.000Z"
  }
}

audiostreamsAudio Streamsanalytics

Per update

Broadcast audio stream URIs.

Sample payload
json
{
  "feed": "audiostreams",
  "sessionId": "9560",
  "utc": "2026-06-08T14:32:18.441Z",
  "data": {
    "streams": [
      {
        "language": "en",
        "name": "International",
        "uri": "https://livetiming.formula1.com/static/audio/international.m3u8",
        "path": "audio/international.m3u8"
      },
      {
        "language": "de",
        "name": "RTL",
        "uri": "https://livetiming.formula1.com/static/audio/german.m3u8",
        "path": "audio/german.m3u8"
      }
    ]
  }
}
Strategy & TyresRace Events