Error codes and handling are consistent across all 25+ sports APIs and all three API versions (V1, V2, V3).
Error Response Format
HTTP Status Codes
Common Errors
401 — Missing or Invalid API Key
x-api-key header in every request:
429 — Rate Limit Exceeded
404 — Resource Not Found
Returned when a match ID, team ID, or tournament ID doesn’t exist for that sport. Fix: Verify the ID is correct and belongs to the sport you’re querying. Use/api/search to find valid IDs.
503 vs 404 on collection routes
On collection routes — live, today, schedule/round, standings and seasons lists — the two status codes mean different things and need different handling:- 503 means the upstream data layer temporarily failed to answer. It is always retryable: repeat the same request after a short backoff and it will normally succeed.
- 404 means the resource genuinely doesn’t exist (for example, a tournament ID that isn’t valid, or a competition with no fixtures that day). Retrying a 404 on these routes is pointless — fix the ID instead.
This applies to item-level endpoints too: a repeated 404 on
/api/match/{id}/statistics or
/lineups is a real answer (no data recorded for that match), while a 5xx is transient.Error Handling Examples
Retry Strategy
For transient errors (5xx), implement exponential backoff:Getting Help
Contact Support
Get help from our team