Coverage
FanDuel API coverage by league
Which FanDuel leagues, games, markets and props are collected right now, when each league was last read, and how fresh every response is.
FanDuel API is an independent data service operated by FF API Inc. It is not affiliated with, endorsed by or sponsored by FanDuel.
Know what the feed holds before you build on it, and show users exactly how fresh it is.
- Per league
- Games in the window, games in play, open markets and props, and the last successful read.
- Freshness
- Every response's meta says source_status (ok, delayed, stale or down), observed_at and source_age_seconds.
- Six leagues
- NBA, NFL, NHL, MLB, college basketball and college football, as FanDuel lists them.
What it returns now
| League | Games | In play | Markets | Props | Last read ET |
|---|---|---|---|---|---|
| NBA | 9 | 0 | 3,096 | 866 | 3:29 PM |
| NFL | 27 | 0 | 2,670 | 985 | 3:30 PM |
| NHL | 15 | 0 | 781 | 79 | 3:30 PM |
| MLB | 0 | 0 | 1 | 0 | n/a |
| NCAAB | 57 | 0 | 3,476 | 6 | 3:30 PM |
| NCAAF | 125 | 0 | 3,531 | 622 | 3:30 PM |
Endpoint and parameters
/api/v1/coveragePer league: games in the collection window, games in play, open markets and props, and the last successful read. Its meta, like every data response's, says how fresh the data is: source_status (ok, delayed, stale or down), observed_at and source_age_seconds.
Code
curl "https://fanduelapi.com/api/v1/coverage" \
-H "Authorization: Bearer $FANDUEL_API_KEY"import os, requests
r = requests.get(
"https://fanduelapi.com/api/v1/coverage",
params={},
headers={"Authorization": f"Bearer {os.environ['FANDUEL_API_KEY']}"},
)
r.raise_for_status()
body = r.json()
print(body["meta"]) # plan, delay_seconds, as_of, source_status
for row in body["data"][:5]:
print(row)Keys look like fd_.... Keep one in the FANDUEL_API_KEY environment variable on your server, never in browser code. Every response's meta says which plan answered, how far behind it is and how fresh the collection is.
Which plans include it
- FreeIncluded, 5 minutes behind
- DeveloperIncluded, real time
- ProductionIncluded, real time
- ScaleIncluded, real time
Read from the plans on the pricing page. Every request counts against the monthly and per-minute allowance; request quotas explains how.
Works well with
- Props feedRead the whole player prop board in one call, already normalised, with where each line opened.
/api/v1/props - Game marketsRead the whole book for a game, game lines first, with the hold and a fair price for every selection.
/api/v1/markets - WorkspaceRun the integration with keys you can rotate in seconds and limits you can see.
/dashboard/keys
Related
Make your first call in a few minutes
Sign up, create a key in the dashboard, and send it as a Bearer token. The free plan needs no card and reads the same data five minutes behind.
Get a free API key