v1 · REST + WebSocket

Every lap.
Every series.
One endpoint.

A unified data plane for single-seater motorsport. Live timing, historical race data, and full championship standings — across F1, F2, F3 and F1 Academy — behind one consistent schema.

4series unified
51rounds in 2026
95active drivers
168sessions tracked
cURL
JavaScript
Python
get-started.sh
# REST — driver standings for F2 in 2026
curl https://api.formulaapi.codai.app/v1/series/f2/seasons/2026/standings/drivers \
  -H "Authorization: Bearer $FORMULA_API_KEY"

# Live timing over WebSocket (Indie plan and up)
wscat -c "wss://api.formulaapi.codai.app/v1/live?key=$FORMULA_API_KEY"
# then send: {"subscribe":"session:f2:<sessionPublicId>"}
P1F1ANTONELLI, K.leader · 100 pts
P2F1RUSSELL, G.20 pts
P3F1LECLERC, C.41 pts
P4F1NORRIS, L.49 pts
P5F1HAMILTON, L.49 pts
P1F2TSOLOV, N.leader · 35 pts
P2F2MINÌ, G.1 pts
P3F2CÂMARA, R.1 pts
P4F2VAN HOEPEN, L.9 pts
P5F2MIYATA, R.13 pts
P1F3UGOCHUKWU, U.leader · 25 pts
P2F3DEL PINO, B.7 pts
P3F3SLATER, F.7 pts
P4F3KATO, T.9 pts
P5F3DELIGNY, E.13 pts
P1F1AFELBERMAYR, E.leader · 31 pts
P2F1APALMOWSKI, A.6 pts
P3F1AGADEMAN, N.9 pts
P4F1AWESTCOTT, P.13 pts
P5F1AFERREIRA, R.18 pts
P1F1ANTONELLI, K.leader · 100 pts
P2F1RUSSELL, G.20 pts
P3F1LECLERC, C.41 pts
P4F1NORRIS, L.49 pts
P5F1HAMILTON, L.49 pts
P1F2TSOLOV, N.leader · 35 pts
P2F2MINÌ, G.1 pts
P3F2CÂMARA, R.1 pts
P4F2VAN HOEPEN, L.9 pts
P5F2MIYATA, R.13 pts
P1F3UGOCHUKWU, U.leader · 25 pts
P2F3DEL PINO, B.7 pts
P3F3SLATER, F.7 pts
P4F3KATO, T.9 pts
P5F3DELIGNY, E.13 pts
P1F1AFELBERMAYR, E.leader · 31 pts
P2F1APALMOWSKI, A.6 pts
P3F1AGADEMAN, N.9 pts
P4F1AWESTCOTT, P.13 pts
P5F1AFERREIRA, R.18 pts
capabilities

The plumbing for anything you'd build with race data.

From a hobbyist building a fantasy league to a broadcaster powering a second-screen app — same endpoints, same schema, same API key.

01 / 06

Live timing over WebSocket

Subscribe to a session's public id over /v1/live and receive a typed stream of timing, sector, position, pit, race-control and team-radio frames as they happen.

02 / 06

Historical archive

F1 back to 1950 via f1db, F2/F3/F1 Academy back to their inaugural seasons via the official timing feeds. Every round, every session, every lap — queryable by season, round or driver.

03 / 06

Unified schema

One driver model, one session model, one team model — across F1, F2, F3 and F1 Academy. Swap series with a URL slug; no field renames, no surprises.

04 / 06

Race control feed

Yellow/SC/VSC flags, penalties, investigations and restarts delivered as race_control frames with millisecond timestamps. Ordering within a channel is guaranteed.

05 / 06

Sectors & laps

Sector splits and lap times, both as historical /sessions/:id/laps responses and as sector / lap_time frames on the live stream.

06 / 06

Cross-series career

A single driver entity spans every series they have ever raced in. /v1/drivers/:publicId/results returns the full timeline in one call.

unified entity model

One driver, one publicId — every series they've raced.

GET /v1/drivers/:publicId/results returns a driver's full career across series in a single call. Example: Lando Norris391 result rows spanning 2 series.

F1340results
F251results

No more reconciling driver lists between feeder series and the top tier. The same publicId follows a driver through their entire single-seater career — useful for fantasy apps, career pages, and stats sites that need to attribute every lap.

Endpoint reference →
Most recent 6 results · Lando Norris
  • F12026Formula 1 Crypto.com Miami Grand Prix 2026P2McLaren Racing
  • F12026Formula 1 Crypto.com Miami Grand Prix 2026P4McLaren Racing
  • F12026Formula 1 Crypto.com Miami Grand Prix 2026P1McLaren Racing
  • F12026Formula 1 Crypto.com Miami Grand Prix 2026P1McLaren Racing
  • F12026Formula 1 Aramco Japanese Grand Prix 2026P5McLaren Racing
  • F12026Formula 1 Aramco Japanese Grand Prix 2026P5McLaren Racing
coverage

Four series, one consistent API surface.

Swap the series segment in any URL — no schema drift, no per-series field renames, no separate rate-limit pools to reason about.

/v1/series/f1/*
Formula 1
Rounds (2026)22
Active drivers22
Teams11
Live timingyes
Historic since1950
/v1/series/f2/*
Formula 2
Rounds (2026)14
Active drivers22
Teams11
Live timingyes
Historic since2017
/v1/series/f3/*
Formula 3
Rounds (2026)9
Active drivers32
Teams10
Live timingyes
Historic since2019
/v1/series/f1a/*
F1 Academy
Rounds (2026)6
Active drivers19
Teams6
Live timingyes
Historic since2023

Three plans. One API.

Indie covers a hobby app or league. Pro powers a stats site or fantasy product. Enterprise comes with a private rate-limit pool, dedicated support, and an SLA.

Get an API keySee plans & rate limits