Feed Catalog

Session Timing

sessiontiming is a RaceHooks-computed feed that aggregates TrackStatus, ExtrapolatedClock, LapCount, SessionData, and RaceControlMessages into a single coherent snapshot. It fires on every state change so you always have an up-to-date picture of the session without subscribing to multiple raw feeds.

Feed ID
sessiontiminglive
Cadence: per state change · every lap tick, flag change, clock update, and qualifying segment boundary

Subscribe

bash
curl -X POST https://api.racehooks.io/v1/webhooks \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "webhookUrl": "https://your-app.com/session-timing",
    "feedId": "sessiontiming"
  }'

Payload

Every delivery is a full snapshot — not a diff. The payload always represents the current session state at the moment of delivery.

json
{
  "feed": "sessiontiming",
  "sessionId": "9560",
  "utc": "2026-06-08T14:32:18.441Z",
  "state": "active",
  "flag": "GREEN",
  "lap": 42,
  "totalLaps": 78,
  "sessionType": "Race",
  "clock": {
    "remaining": "0:38:14",
    "extrapolating": true,
    "utc": "2026-06-08T14:32:18.441Z"
  },
  "resumeAt": null,
  "resumeAtUtc": null,
  "qualifyingSegment": null
}

Fields

FieldTypeDescription
statestringDerived session state — see State values below.
flagstring"green" | "yellow" | "sc" | "vsc" | "red" | "checkered". Current track flag.
lapnumberCurrent race lap number. 0 during formation lap.
totalLapsnumberTotal scheduled laps for the session. 0 for timed sessions (practice, qualifying).
sessionTypestring"Race" | "Sprint" | "Qualifying" | "Practice1" | "Practice2" | "Practice3"
clockobject | nullSession clock: remaining time, extrapolating boolean, and F1 server UTC timestamp. null before session start.
clock.remainingstringRemaining session time in "H:MM:SS" format.
clock.extrapolatingbooleantrue when F1 is extrapolating the clock (paused periods, formation lap). The clock value is an estimate.
resumeAtstring | nullLocal time ("HH:MM") of announced restart if a race is red-flagged. null otherwise.
resumeAtUtcstring | nullUTC ISO 8601 of the announced restart. null otherwise.
qualifyingSegmentnumber | null1, 2, or 3 for the active qualifying segment (Q1/Q2/Q3). null outside qualifying.

State values

The state field is derived from the combination of track status code, session started/finished flags, lap number, and qualifying segment. It is the recommended field for branching your integration logic.

StateDescription
pre_sessionBefore the session has officially started
formation_lapRace/Sprint only — after session.start, before lap 1 begins
racingGreen flag, lap ≥ 1
yellow_flagTrackStatus code 2 — yellow flag sector
safety_carTrackStatus code 4 — Safety Car deployed
sc_endingTrackStatus code 7 — Safety Car returning this lap
virtual_safety_carTrackStatus code 6 — Virtual Safety Car
red_flagTrackStatus code 5 — session suspended
qualifying_q1Q1 segment active
qualifying_q2Q2 segment active
qualifying_q3Q3 segment active
pausedSession suspended but not red-flagged (e.g. practice delay)
finishedSession ended
← Race EventsAnalytics reference →