Building motorsport analytics since 2022

The motorsport
analytics platform.

Who wins, who pits, who's fading — live race intelligence, pushed to you every lap.

14ML models
50+live feeds
99.5%delivery SLA
POST your-app.com/racing-hookLIVE
14:22:31.102timing.data● 200142ms
14:22:31.371pit.lane-times● 200 89ms
14:22:31.644tire.history● 200 94ms
14:22:32.008race-control.messages● 200201ms
14:22:45.009weather.data● 200134ms
14:24:02.314timing.data● 200156ms
14:24:03.120session.info● 200117ms
timing.dataAnalytics-enriched timing
{
  "feed": "timing.data",
  "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": null,
      "interval": null,
      "lastLapTime": {
        "display": "1:27.412",
        "ms": 87412
      },
      "bestLapTime": {
        "display": "1:27.412",
        "ms": 87412
      },
      "sectors": [
        {
          "display": "28.441",
          "ms": 28441
        },
        {
          "display": "31.204",
          "ms": 31204
        },
        {
          "display": "27.767",
          "ms": 27767
        }
      ],
      "speeds": {
        "i1": 276,
        "i2": 298,
        "fl": 293,
        "st": 344
      },
      "pitStops": 1,
      "inPit": false,
      "retired": false
    },
    {
      "driverId": "verstappen-max",
      "constructorId": "red-bull-racing",
      "number": "1",
      "tla": "VER",
      "name": "Max Verstappen",
      "team": "Red Bull Racing",
      "position": 2,
      "gapToLeader": {
        "display": "+4.218",
        "seconds": 4.218
      },
      "interval": {
        "display": "+4.218",
        "seconds": 4.218
      },
      "lastLapTime": {
        "display": "1:28.103",
        "ms": 88103
      },
      "bestLapTime": {
        "display": "1:27.831",
        "ms": 87831
      },
      "sectors": [
        {
          "display": "28.612",
          "ms": 28612
        },
        {
          "display": "31.411",
          "ms": 31411
        },
        {
          "display": "27.808",
          "ms": 27808
        }
      ],
      "speeds": {
        "i1": 274,
        "i2": 296,
        "fl": 291,
        "st": 341
      },
      "pitStops": 1,
      "inPit": false,
      "retired": false
    },
    {
      "driverId": "leclerc-charles",
      "constructorId": "ferrari",
      "number": "16",
      "tla": "LEC",
      "name": "Charles Leclerc",
      "team": "Scuderia Ferrari",
      "position": 3,
      "gapToLeader": {
        "display": "+8.211",
        "seconds": 8.211
      },
      "interval": {
        "display": "+3.993",
        "seconds": 3.993
      },
      "lastLapTime": {
        "display": "1:28.209",
        "ms": 88209
      },
      "bestLapTime": {
        "display": "1:28.001",
        "ms": 88001
      },
      "sectors": [
        {
          "display": "28.700",
          "ms": 28700
        },
        {
          "display": "31.502",
          "ms": 31502
        },
        {
          "display": "28.007",
          "ms": 28007
        }
      ],
      "speeds": {
        "i1": 272,
        "i2": 295,
        "fl": 289,
        "st": 339
      },
      "pitStops": 2,
      "inPit": false,
      "retired": false
    }
  ]
}
14
production ML models
80K+
feed events per race
340K+
laps analyzed
77
seasons since 1950
F1 — 50+ live feeds

50+ real-time feeds,
pushed the moment they fire.

50+ real-time feeds across timing, race control, strategy, and more — pushed directly to your endpoint the moment they happen. The Developer tier unlocks every live data feed; Custom adds the ML feed suite on top. The Free tier lets you build and test on historical and simulated sessions.

50+
Real-time feeds
Developer tier: every data feed · Custom: full catalog
Timing6 feeds

Lap times, sector splits, gaps, and mini-sector detail — every lap.

timing.datatiming.statstiming.lap-history
Race Control2 feeds

Flags, race control messages, and team communications.

session.track-statusrace-control.messages
Session5 feeds

Session status, clock, lap count, track status, and the driver list.

session.statussession.lap-countdriver.list
Tires & Pit6 feeds

Tire stints and history, pit stops, and pit-lane timing.

tire.currenttire.historytire.stints
Weather8 feeds

Track conditions, rainfall events, forecasts, and weather intelligence.

weather.dataweather.data-seriesweather.rain-onset
Race Events3 feeds

Synthesized event streams — overtakes, milestones, qualifying events.

events.racesession.timingevents.qualifying

Feed id values (e.g. timing.data, race-control.messages) are in the Feed Catalog.

ML Analytics — Available on Custom

Every payload arrives
already intelligent.

Position distributions, pit and safety-car probabilities, tyre state — inside the timing data you already consume.

Custom tier

Your payload, enriched.

On the Custom tier, every timing payload gets an analytics key at the root — all fourteen models, for every driver.

Tire health score + predicted laps remaining
Win probability + delta from last lap
Pit stop probability + expected window
Safety car probability per lap
Per-pair overtake probability
LTOE normalized pace delta
POST your-app.com/racing-hook
{
  "feed": "timing.data",
  "sessionId": "9560",
  "drivers": [{
    "driverId": "verstappen-max",
    "constructorId": "red-bull-racing",
    "number": "1", "tla": "VER",
    "Position": 1, "GapToLeader": "—",
    // ↓ RaceHooks Analytics enriched fields
    "analytics": {
      "tireHealth": { "tireHealth": 0.62 },
      "pitStopProbability": 0.74,
      "winProbability": { "probability": 0.58 },
      "ltoe": { "degradationSec": -0.182 }
    }
  }]
}
pit stop probabilitysafety carovertakeLTOE lap-time outlier estimationtyre cliffundercut threatundercut timing callovercut threatqualifying pacefastest lapDNF risktyre compoundpit-stop countpit-window survival

How each model works, and how it's calibrated: the models reference →

+ Algorithmic layer

Beyond the models — race intelligence in every payload.

The fourteen ML models sit alongside a continuously-updated algorithmic layer — probabilistic race state computed analytically, not sampled. It ships in the same analytics key.

Win & Podium Probability

CTMC
"winProbability": 0.58,
"podiumProbability": 0.91,
"winProbabilityDelta": +0.12

Position Distribution

CTMC
"positionDistribution": [
  0.58, 0.21, 0.12, 0.05, …
]

Expected Championship Points

ECP / ECPA
"ecp": 18.4,
"ecpa": +2.1,
"ecpaEvent": "SAFETY_CAR"

Tyre Health

EKF / Kalman
"tireHealth": 0.62,
"degRateSecPerLap": 0.04,
"cliffLapPredicted": 6

All fourteen ML models above — each with full technical documentation: training approach, input features, output fields, and business context.

Explore the full analytics documentation →
Full finishing-position distributions, every lap.
Friday pre-race previews from practice pace, before lineups lock.
Built for

Who builds on RaceHooks

Fantasy & DFS Projections

Every scoring category, projected live.

Finishing-position distributions
Expected place differential
Fastest lap & laps led
Friday pre-race preview

Quant & Research Tooling

Calibrated probabilities you can backtest.

Winning-margin & duration projections
Pit-timing distributions
Replay backtesting since 2018
Sub-second webhook & SSE delivery

Media & Broadcast

Surface the story before it happens.

Overtake probability
LTOE normalized pace
Race control messages
Race events feed

Developer Tools

Build without waiting for race day.

Historical replay since 2018
1×, 5×, 10× playback
HMAC-signed payloads
Full delivery logs
Pricing

Simple, transparent pricing.

Replay any race since 2018 free. Go paid to get it live.

Free
$0

Build and test your integration before going live.

Start building
Included
Historical session data
Unlimited simulate replays
3 webhook endpoints
HMAC-SHA256 signing
Community support
Live feeds
Analytics payload
Full platform
Developer
$99/mo
or $79/mo billed annually

All live feeds, capped volume — for side projects and tools, not production.

Start Developer
Included
All 27 live data feeds
5,000 deliveries/day
2 webhook endpoints
Unlimited simulate replays
HMAC-SHA256 signing
Community support
99.5% delivery SLA
ML analytics payload
Custom
Custom

Production-scale delivery, an SLA, the full 14-model analytics stack, dedicated infrastructure — whatever your product needs.

Talk to sales
What we build

Unlimited live delivery, contractual SLA, the full 14-model ML analytics stack (win/podium probability, tyre health, pit predictions, 22 derived feeds), dedicated infrastructure, custom limits and throughput, a named CSM — priced around what you actually use, not a fixed tier. Talk to sales@racehooks.io.

Cancel anytime. Annual billing saves 20% — and Simulate lets you build all off-season.

Developer experience

First webhook in five minutes.

Register an endpoint. Subscribe to a feed. Your first delivery arrives in under 5 minutes.

01
Simulate any race

Replay any session since 2018 at up to 10× — build before race day.

02
HMAC-signed delivery

Every payload signed. One line to verify.

03
Full delivery logs

Headers, status, latency, retries — every attempt, exportable.

Run your first replay →
# Register your webhook (after signup)
curl -X POST https://api.racehooks.io/v1/webhooks \
  -H "Authorization: Bearer ${TOKEN}" \
  -d '{
    "webhookUrl": "https://your-app.com/racing",
    "feedId": "timing.data"
  }'

# Done. Live race data comes to you.
Platform Roadmap

F1 today. More coming fast.

One integration across every series. Your code keeps working as sports launch.

F1
Formula 1
LIVE
IRL
IndyCar
COMING SOON
NASCAR
NASCAR
ROADMAP
FE
Formula E
ROADMAP
Join the IndyCar waitlist

Be first when IndyCar launches. Early waitlist members get a 3-month rate lock at current pricing.

FAQ

Common questions

Something else? Email us.