Authentication
All requests must include an API key via the X-API-Key header.
Header format
X-API-Key: 7a2f8e...
Plan tiers
| Plan | Monthly / Annual | Prematch | Live + WS | Rate limit | History |
|---|---|---|---|---|---|
| Developer | Free | 2 minor sports | — | 60/min · 1k/day | — |
| Starter | $19 / $190 | ✓ all sports | — | 200/min | — |
| Live | $39 / $390 | ✓ | ✓ (25 WS) | 500/min | — |
| Pro | $99 / $990 | ✓ | ✓ (100 WS) | 2,000/min | 30 days |
| Enterprise | Custom | ✓ | ✓ (unlimited) | Unlimited | Full archive |
Annual pricing = 10× monthly (two months free).
Error responses
401 UNAUTHORIZED— Missing or invalid API key.403 FORBIDDEN— API key present but plan doesn't allow this endpoint.403 SPORT_NOT_IN_PLAN— Developer tier: sport not in the key's pick list, or a headline sport (paid-only).429 RATE_LIMITED— Rate limit exceeded; checkRetry-Afterheader.429 DAILY_CAP— Developer tier daily cap reached (resets at UTC midnight).
Developer tier sport picks
Free-tier keys are restricted to any 2 non-headline sports of your choice. Excluded (paid-only): Soccer, Basketball, American Football, Baseball, Tennis.
POST /api/v1/keys/self/sports
{
"sports": ["ice_hockey", "cricket"]
}Picks can be changed once per 30 days. Inspect your current key with GET /api/v1/keys/self.