Getting started
Getting started
First request, auth, quotas, and the error model, the things you need before anything else.
Start with Quickstart if you just want a curl that works. Everything else here is the contract: how keys behave, what the response envelope looks like, when to retry.
| Page | What it covers |
|---|---|
| Quickstart | First request in 60 seconds. |
| Authentication | sk_live_ vs sk_test_, header format, revoke. |
| Pagination | limit/offset for persons and teams; odds history uses limit/cursor (contract). |
| Quotas | Plan tiers, monthly units, odds weights, and what happens at the cap. |
| Rate limits | Per-minute ceiling and the tracking headers. |
| Data freshness | How fast we update during and after games. |
| Errors | Envelope, status codes, retry guidance. |
| Error codes | Every machine-readable code, with examples. |
Which endpoint should I call?
| You want… | Start here |
|---|---|
| Tonight's slate / live scores | /v1/competitions/{comp}/editions/{year}/contests?date=: see Today's scoreboard and discover the edition year |
| A player's recent lines | /v1/persons/{id}/game-log, free tier; recipe |
| Hit rate vs a line (free) | Compute from game-log: recipe |
| Hit rate / prop card (paid) | /v1/analysis/player-prop: guide |
| Full box score | /v1/contests/{id}/boxscore |
| Pitch-level Statcast | /v1/contests/{id}/play-by-play: guide |
| Season aggregates | /v1/persons/{id}/stats or /v1/teams/{id}/stats |
| Standings | /v1/competitions/{comp}/editions/{year}/standings |
| Pregame odds (spot board) | /v1/contests/{id}/odds or /v1/persons/{id}/odds (5×); market catalog at /v1/contests/{id}/odds/markets (1×) |
| Odds history | /v1/contests/{id}/odds/history or /v1/persons/{id}/odds/history (10× per page): paging contract |
Looking for endpoint pages or a try-it playground? Head to the REST API reference.