Before you start
Settle coverage, latency needs and historical depth before writing code. Top-five leagues and 1000+ competitions worldwide are different plans.
Four steps to a working pipeline
- Register on the developer platform.
- Create an app; keep
app_key/app_secreton the server. - Call the fixtures endpoint first.
- Then subscribe to score and event streams.
First call: today's fixtures
GET /v1/fixtures?date=2026-08-25&sport=football
Treat time fields as ISO 8601 with offset, store UTC.
Real-time subscriptions
Heartbeat, reconnect with last seq, and de-duplicate. Do not add a goal on every event.
Engineering notes
Daily sync for reference data, hourly for fixtures, local cache in production. Separate apps for dev/test/prod.
Troubleshooting
| Symptom | Likely cause | What to check |
|---|---|---|
| 401 | Param order / encoding | Compare the string to sign |
| 429 | Polling too often | Timed sync + cache |
| No push | Heartbeat / subscribe | Interval and ack |