Quickstart
Get your first F1 live timing webhook delivery in under 5 minutes. No credit card required. The same webhook mechanism works for any sport RaceHooks supports as the platform expands — IndyCar and NASCAR feeds will use the identical integration pattern.
- A free RaceHooks account — sign up at racehooks.io/signup and verify your email (see the Authentication guide)
- Your API credentials — client_id and client_secret from the console API Keys page
- A publicly reachable HTTPS endpoint, or use the Simulate feature to test locally
- curl, Node.js, or Python for the API calls below
Get your token
Exchange your API client credentials for a Bearer token — create them on the API Keys page. All API calls require the token in the Authorization header; tokens expire after 12 hours.
POST /v1/oauth/credentials.Register your webhook
Register an endpoint URL and subscribe it to a feed. This example uses driver.list — a Free-tier feed carrying the session roster, so this call works on a Free account.
timing.data (lap times, sector times, gaps, positions) require the Developer tier — subscribing to one on Free returns 402. You can still receive them for free by replaying a past session through your webhook with Simulate (Step 4).webhookSecret is returned at creation and used to verify incoming signatures. If you lose it, retrieve it anytime with GET /v1/webhooks/:id/secret, or issue a new one with POST /v1/webhooks/:id/rotate-secret.Handle incoming deliveries
RaceHooks POSTs a JSON payload to your endpoint for every matching event. Every delivery — on every tier, Free included — carries an X-RaceHooks-Signature header — an HMAC-SHA256 signature you can use to verify the payload originated from RaceHooks.
A typical driver.list payload looks like:
To verify the signature:
Test with Simulate
You don't need to wait for a live race to test. Use Simulate to replay this season's F1 sessions against your registered webhooks at up to 10× speed (the full historical archive is on Custom).
Heads up on volume: a replay POSTs every recorded event to every active endpoint — tens of thousands of deliveries for a full race, compressed by the speed multiplier. Free capture bins (webhook.site and similar) rate-limit under that load; use speed=1 with a single endpoint for clean samples. The curated demo race additionally delivers the full Analytics feed set to all endpoints regardless of tier — it's the showcase. See delivery volume during replays.
You can also start a simulation from the Simulate page in the console — pick one of this season's races, set the speed, and watch deliveries arrive in your logs in real time.