DFS salaries
FanDuel DFS slates and salaries API
FanDuel daily fantasy slates with salary cap, games and player counts, and every player's salary, position, fantasy points per game and injury status.
FanDuel API is an independent data service operated by FF API Inc. It is not affiliated with, endorsed by or sponsored by FanDuel.
Pull today's FanDuel DFS slates and salaries next to the prop lines for the same players.
- Slates
- Salary cap, start time, game count and player count per slate and sport.
- Players
- Salary, position, team, fantasy points per game and injury status, highest salary first.
- Filters
- Position, team and injured, with paging.
What it returns now
Real rows, 5 min delay, as of 3:25 PM ET
{
"data": [
{
"id": "136257",
"sport": "CFB",
"label": "Fri Main",
"starts_at": "2026-11-07T00:00:00.000Z",
"salary_cap": 60000,
"games": 5,
"started": false,
"players": 346,
"players_read_at": "2026-11-06T18:18:33.788Z"
}
]
}Endpoints and parameters
/api/v1/dfs/slatesFanDuel daily fantasy slates with salary cap, game count and player count.
| Parameter | In | Description |
|---|---|---|
| sport | query | DFS sport code such as NBA. |
| started | query | true to include slates that already started. One of true, false. |
| limit | query | Rows per page, 1 to 200. Default 50. |
| offset | query | Rows to skip, for paging. |
/api/v1/dfs/slates/{id}/playersSalary, fantasy points per game, position and injury status for one slate, highest salary first.
| Parameter | In | Description |
|---|---|---|
| id * | path | Slate id from /api/v1/dfs/slates. |
| position | query | Position code such as PG. |
| team | query | Team code. |
| injured | query | true or false. One of true, false. |
| limit | query | Rows per page, 1 to 200. Default 50. |
| offset | query | Rows to skip, for paging. |
Code
curl "https://fanduelapi.com/api/v1/dfs/slates?sport=NBA&started=false" \
-H "Authorization: Bearer $FANDUEL_API_KEY"import os, requests
r = requests.get(
"https://fanduelapi.com/api/v1/dfs/slates",
params={"sport": "NBA", "started": "false"},
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
- Players and resultsJoin each FanDuel line to what actually happened, and train on graded outcomes instead of guesses.
/api/v1/players - Props feedRead the whole player prop board in one call, already normalised, with where each line opened.
/api/v1/props - CSV and NDJSON exportsLoad a slate or a season of line history straight into pandas, DuckDB or a spreadsheet.
/api/v1/export
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