Momentum

For broadcasters & commentators

The stats layer for live race coverage

A keyed JSON API over the live timing feed, enriched with the archive behind it: every driver's record at this circuit in this class, personal bests, standing lap records, and the head-to-head history between any two drivers, ready the moment the commentary needs it.

Access is by API key, issued per broadcaster. The full API reference comes with your key.

Drivers
13,307
each with a stat card ready
Races
31,133
of history behind every entry
Laps
3,987,306
timed and stored
Years
78
1949 to 2026

Live timing, with the archive attached

One JSON endpoint, polled once or twice a second, carries the whole run: positions, gaps, lap and sector times, and the flags a caption generator actually wants.

The feed marks the moments worth talking about as they happen: a car going quicker than its driver has ever gone at this circuit, a lap inside the standing record for the class. Those comparisons are scoped to the exact circuit configuration, never just the venue, because a lap of the short circuit is not a lap of the long one.

FieldWhat it tells you
pos / gap / laps the running order, as published
best, last, sectors lap and split times, with millisecond values
class as the timekeeper typed it, plus our canonical name
matched + competitor_id whether this entry is a driver the archive knows
pb_beat / pb_ref quicker than their own best ever lap here
rec_beat / rec_ref inside the standing class or outright record
Real data every standings row carries this, every poll · Watch the same feed on the site →

A stat card for whoever the camera is on

Ask for any driver and the answer arrives already scoped to the race they are in right now: their record at this circuit, in this class.

That default is the whole point. A commentator does not want a career average across five decades and fifteen circuits, they want how this driver goes here, in this company. Ask with no parameters during a live run and that is what comes back; add a filter for any other circuit or class they have raced, or ask for the full career with one flag.

Every card carries wins, podiums, average finish, places gained, best lap at the circuit, current and peak rating, and their most recent results, all from the same archive the public site reads, so nothing said on air can disagree with the page a viewer looks up afterwards.

K
F5000ELO 1,449
Kenny Smith
Races
572
since 1965
Wins
137
23.9% win rate
Podiums
248
43.3% rate
Peak ELO
2,057
#1 · Mar 1991
Real data Kenny Smith’s card, as the archive holds it · See the live page it mirrors →

Rivalries, on demand

Two cars nose to tail: one call returns their lifetime record against each other, and how it stands at this circuit in this class.

The head-to-head counts every race both drivers started, who finished ahead, and across which years, using only races where both actually took the flag, so a retirement is never scored as a defeat. The same scoping applies: during a live run the record defaults to the circuit and class on track, and one flag widens it to everything the two have ever contested.

FieldMeaning
races shared starts inside the scope
a_ahead / b_ahead who finished in front, race by race
y0 / y1 the years the rivalry spans
scope the circuit and class the record was computed for
scope_cells every circuit and class the pair have shared
Signed-in view what a head-to-head answer carries · Browse the biggest rivalries →

How access works

Keys are issued per broadcaster, by a human, and there is no charge while the API is in its first season.

  1. Get in touchUse the contact form and say who you are, what you are covering and roughly what you want on screen. A real person reads it.
  2. Receive your keyOne API key for your organisation, sent with the full endpoint reference. The key goes in a request header; everything is plain HTTPS JSON, so it works from any graphics system, overlay tool or scripting language with an HTTP client.
  3. Poll and publishStandings once or twice a second, stat cards and head-to-heads as the coverage needs them. Usage is tracked per key rather than hard-capped, so a busy race day is a conversation, not an outage.

Live names, classes and positions are relayed exactly as the timing feed publishes them and are provisional until results are official. Stat comparisons only ever attach to drivers the archive positively recognises; an entry it cannot match is delivered as timing only, never guessed.