STAT-API
Daily Fantasy

All your daily fantasy data and tools in one place.

We are dedicated to helping daily fantasy players succeed. We hold every DraftKings and FanDuel slate back to 2016 — the game pools, the salaries, the projections, and the lineups the field submitted — and serve them through one API key over REST, GraphQL, MCP, or an SDK. Below is exactly what we have, sport by sport, including where it thins out.

49,496
Historical slates
10.7M
Priced pool entries
6.8M
Submitted lineups
53.1M
Lineup roster spots
What we provide

Four layers of daily fantasy data.

Each layer keeps the operator's own values and joins to the same player and game ids the rest of the API uses.

Slates and game pools

49,496 DraftKings and FanDuel slates across NBA, NFL, MLB, NHL and PGA, each holding its game pool, scoring rules, and format — classic, showdown, single-game, late-swap. NBA runs from October 2016; the other four begin in 2021.

Priced player pools

10.7M pool entries carrying salary, position, roster position, team, injury status, and the operator's own scoring average. Loaded for NBA, NFL, MLB and NHL. PGA is slate-level only today.

Contests and submitted lineups

11,201 contests with entry fees, prize pools, and caps; 136,296 entrants; 6.8M submitted lineups; and 53.1M roster spots carrying rank, points, and winnings. Almost entirely NBA — 11,195 of the 11,201 contests.

Projections

2.5M projections carrying floor, ceiling, and standard deviation, each tagged with which of the 56 sources produced it. NBA only at present.

Coverage

What we hold, sport by sport.

Published in full, gaps included. DraftKings and FanDuel are the two operators; no other site is covered.

NBA
Basketball

The deepest sport by a wide margin. 24,586 slates from 1 October 2016 through the slates already posted for the season ahead, with 2.7M priced pool entries. Every contest, entrant, and submitted lineup we hold is NBA — 11,195 contests and 6.3M lineups — and so are all 2.5M projections.

Slates, settings & game poolsPriced player poolsContests, entrants & lineups53.1M roster spots with rank & winningsProjections from 56 sources
GET /api/v1/dfs/slates?league=nbaGET /api/v1/dfs/contest_user_lineupsGET /api/v1/dfs/slate_player_projections
MLB
Baseball

14,465 slates from 31 July 2021, carrying the largest player pool we hold — 5.8M priced entries, more than any other sport, because baseball slates list deep hitter and pitcher pools. Contest, lineup, and projection data are not loaded for MLB.

Slates, settings & game poolsPriced player pools (5.8M entries)
GET /api/v1/dfs/slates?league=mlbGET /api/v1/dfs/slate_players
NFL
Football

5,169 slates from 12 August 2021 with 1.0M priced pool entries. Six NFL contests are loaded, carrying 464,349 submitted lineups — a real sample, but the contest layer is otherwise NBA. No projection data for NFL.

Slates, settings & game poolsPriced player pools (1.0M entries)6 contests · 464,349 lineups
GET /api/v1/dfs/slates?league=nflGET /api/v1/dfs/slate_players
NHL
Hockey

4,664 slates from 9 October 2021 with 1.3M priced pool entries covering skaters and goalies. Contest, lineup, and projection data are not loaded for NHL.

Slates, settings & game poolsPriced player pools (1.3M entries)
GET /api/v1/dfs/slates?league=nhlGET /api/v1/dfs/slate_players
PGA
Golf

612 slates from 5 August 2021, tournament by tournament. Slate-level only today — the priced player pools are not loaded, and there is no contest or projection data. The tournament, round, and shot data behind these slates is fully available under the PGA endpoints.

Slates, settings & game pools
GET /api/v1/dfs/slates?league=golfGET /api/v1/pga/tournaments
Quickstart

How the data comes back.

Plain REST over HTTPS, keyset pagination, JSON out. Slate, pool, and lineups are three endpoints; GraphQL returns the whole tree in one request.

API=https://api.stat-api.com/api/v1/dfs
AUTH="Authorization: Bearer YOUR_API_KEY"

# 1. every NBA slate on the night of Finals game 6
curl "$API/slates?league=nba&date=2026-06-13" -H "$AUTH"

# 2. the priced player pool for one of them
curl "$API/slate_players?slate_id=SLATE_ID" -H "$AUTH"

# → { "slate_players": [ {
#      "display_name": "...", "position": "PG",
#      "roster_position": "PG/G/UTIL", "salary": 9800,
#      "avg_points": 44.6, "injury_status": null, ...
#    } ], "next_from_id": ... }

# 3. the lineups entered into a contest on that slate
curl "$API/contest_user_lineups?contest_id=CONTEST_ID" -H "$AUTH"
Roadmap

In development.

Everything above this line is available today. These four are being built on top of it.

Coming soon

First-party projections

Our own model, trained on the slate history, salary movement, and box-score data already in the API — alongside the 56 third-party sources we carry today, not instead of them.

Coming soon

State-of-the-art optimizer

Lineup construction against the live pool: salary cap, roster and position rules, exposure caps, stacking, and correlation between the players you pair.

Coming soon

Slate simulation

Monte Carlo over a full slate to produce outcome distributions per player and per lineup, so you can see the shape of a result instead of a single projected score.

Coming soon

Ownership projections

Forward-looking field ownership for an upcoming slate, trained on the 6.8M submitted lineups already in the dataset.

Questions

DFS data questions, answered.

Which operators and sports are covered?

DraftKings and FanDuel only — no other daily fantasy site. Slates cover NBA, NFL, MLB, NHL and PGA: 49,496 in total, with NBA from October 2016 and the other four from 2021. Priced player pools are loaded for NBA, NFL, MLB and NHL; PGA is slate-level only today.

Is this real ownership or projected ownership?

Real. It comes from 6.8M lineups that were actually submitted, broken into 53.1M roster spots carrying rank, points, and winnings. The contest and lineup layer is almost entirely NBA — 11,195 of the 11,201 contests, plus 6 NFL contests holding 464,349 lineups.

Do you provide projections?

Yes — 2.5M projections with floor, ceiling, and standard deviation, each tagged with which of 56 sources produced it. They cover NBA only at present. Our own first-party projections are in development, along with an optimizer, slate simulation, and forward-looking ownership projections. The data underneath stays queryable either way.

What is shipped versus what is coming?

Everything described above the roadmap section is queryable today: slates, priced player pools, contests, submitted lineups, and third-party projections. First-party projections, the optimizer, slate simulation, and ownership projections are in development and are marked as such — we do not list them as available, and we are not attaching dates to them.

Can I join DFS data to the rest of the API?

Yes. The same API key reads NBA possessions, NFL play-by-play, MLB Statcast, stadium weather, and betting lines. A slate player resolves to the same player id the league tables use, so scoring inputs and DFS pricing sit in one query.

How current is it?

Slates load ahead of lock, so upcoming slates and their priced pools are available before the games start. Historical slates stay queryable indefinitely.

What does it cost?

The free tier is 50,000 records a month with no card. Paid plans start at $49/mo for 5M records, and every plan includes every sport and every layer — DFS is not a separate add-on.

See the whole DFS stack.

50,000 records a month, free, no card. The DFS reference lists every table and column with live, runnable examples.