DFS game_stats API
game_stats
dfs.game_statsOne row per game in a slate's pool: the game's total fantasy production for the scoring rule of the slate's setting with home/away point totals, per-category point columns, and headline raw stats per side. Per-side category detail lives on team_stats. NFL and NBA. The fields marked "NBA only" are null on NFL rows; every NFL-only field is null on NBA rows.
GET/api/v1/dfs/game_statsList game_stats for DFS
Requires one of:
slate_id or game_id or slate_date or operator_slate_id — requests satisfying none of these return 400.Parameters
slate_idquerybigintoptionalFilter to one slate — every game in its pool.
operator_slate_idquerybigintoptionalOperator-side slate identifier (DraftKings contest group ID, FanDuel fixtureListId). Resolves to slate_id.
game_idquerybigintoptionalFilter to one game across slates.
slate_datequerydateoptionalSlate calendar day (YYYY-MM-DD, US Eastern). Range operators support backtesting windows. Range syntax: slate_date__gte=, slate_date__lte=, slate_date__between=.
scoring_formatquerystringoptionalScoring format code (classic, showdown, single_game).
operator_idquerybigintoptionalFilter by operator: by numeric id (1 = DraftKings, 2 = FanDuel) or name (draftkings, fanduel).
operatorquerystringoptionalFilter by operator: draftkings, fanduel, yahoo (or numeric operator id).
league_idquerybigintoptionalFilter by league (1 = NFL).
limitqueryintegeroptionaldefault 50Page size. Defaults to 50; max 5000.
from_idquerybigintoptionalReturn rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS --compressed \
-H 'Authorization: Bearer YOUR_API_KEY' \
'https://api.stat-api.com/api/v1/dfs/game_stats?slate_id=676551'Responses
200game_stats rows matching the declared filter set, wrapped in { game_stats, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.
application/jsonResponse Schema(50 fields)show schema ▸
| Field | Type | References | Description |
|---|---|---|---|
idkey | bigint | — | Primary Key |
away_team_id | bigint | — | — e.g. 19 |
game_id | bigint | — | — e.g. 42549 |
home_team_id | bigint | — | — e.g. 16 |
league_id | bigint | — | — e.g. 1 |
operator_id | bigint | — | — e.g. 2 |
slate_id | bigint | — e.g. 124482 | |
away_fpts | decimalnullable | — | — e.g. 105.7600 |
away_passing_yds | integernullable | — | — e.g. 194 |
away_pts | integernullable | — | — e.g. 17 |
away_rushing_yds | integernullable | — | — e.g. 106 |
away_total_yds | integernullable | — | — e.g. 396 |
away_turnovers | integernullable | — | — e.g. 1 |
home_fpts | decimalnullable | — | — e.g. 76.9800 |
home_passing_yds | integernullable | — | — e.g. 275 |
home_pts | integernullable | — | — e.g. 17 |
home_rushing_yds | integernullable | — | — e.g. 96 |
home_total_yds | integernullable | — | — e.g. 367 |
home_turnovers | integernullable | — | — e.g. 1 |
player_count | integernullable | — | — e.g. 78 |
scoring_format | stringnullable | — | Operator scoring format code (classic, showdown, single_game); null when the format has no fantasy scoring. Values:classicsingle_gameshowdown |
slate_date | date | — | — e.g. 2021-11-21 |
total_blocked_kick_fpts | decimalnullable | — | — e.g. 0.0000 |
total_defense_interception_fpts | decimalnullable | — | — e.g. 2.0000 |
total_defensive_td_fpts | decimalnullable | — | — e.g. 0.0000 |
total_extra_point_fpts | decimalnullable | — | — e.g. 4.0000 |
total_field_goal_fpts | decimalnullable | — | — e.g. 6.0000 |
total_field_goal_missed_fpts | decimalnullable | — | — e.g. 0.0000 |
total_fpts | decimalnullable | — | — e.g. 180.5600 |
total_fumble_lost_fpts | decimalnullable | — | — e.g. -2.0000 |
total_fumble_recovery_fpts | decimalnullable | — | — e.g. 2.0000 |
total_interception_fpts | decimalnullable | — | — e.g. -1.0000 |
total_passing_2pt_conversion_fpts | decimalnullable | — | — e.g. 0.0000 |
total_passing_bonus_fpts | decimalnullable | — | — e.g. 0.0000 |
total_passing_td_fpts | decimalnullable | — | — e.g. 12.0000 |
total_passing_yds_fpts | decimalnullable | — | — e.g. 19.5600 |
total_pts_allowed_fpts | decimalnullable | — | — e.g. 0.0000 |
total_receiving_2pt_conversion_fpts | decimalnullable | — | — e.g. 0.0000 |
total_receiving_bonus_fpts | decimalnullable | — | — e.g. 0.0000 |
total_receiving_td_fpts | decimalnullable | — | — e.g. 18.0000 |
total_receiving_yds_fpts | decimalnullable | — | — e.g. 48.9000 |
total_reception_fpts | decimalnullable | — | — e.g. 21.5000 |
total_return_td_fpts | decimalnullable | — | — e.g. 0.0000 |
total_return_yds_fpts | decimalnullable | — | — e.g. 0.0000 |
total_rushing_2pt_conversion_fpts | decimalnullable | — | — e.g. 0.0000 |
total_rushing_bonus_fpts | decimalnullable | — | — e.g. 0.0000 |
total_rushing_td_fpts | decimalnullable | — | — e.g. 6.0000 |
total_rushing_yds_fpts | decimalnullable | — | — e.g. 20.8000 |
total_sack_fpts | decimalnullable | — | — e.g. 4.0000 |
total_safety_fpts | decimalnullable | — | — e.g. 0.0000 |
GET/api/v1/dfs/game_stats/{id}Get a single game_stat by id
Parameters
idpathbigintrequiredPrimary key (id) of the game_stat row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS --compressed \
-H 'Authorization: Bearer YOUR_API_KEY' \
'https://api.stat-api.com/api/v1/dfs/game_stats/2122853'Responses
200Single game_stat row.application/jsonshow example ▸
404Row not found.
Response Schema(50 fields)show schema ▸
| Field | Type | References | Description |
|---|---|---|---|
idkey | bigint | — | Primary Key |
away_team_id | bigint | — | — e.g. 19 |
game_id | bigint | — | — e.g. 42549 |
home_team_id | bigint | — | — e.g. 16 |
league_id | bigint | — | — e.g. 1 |
operator_id | bigint | — | — e.g. 2 |
slate_id | bigint | — e.g. 124482 | |
away_fpts | decimalnullable | — | — e.g. 105.7600 |
away_passing_yds | integernullable | — | — e.g. 194 |
away_pts | integernullable | — | — e.g. 17 |
away_rushing_yds | integernullable | — | — e.g. 106 |
away_total_yds | integernullable | — | — e.g. 396 |
away_turnovers | integernullable | — | — e.g. 1 |
home_fpts | decimalnullable | — | — e.g. 76.9800 |
home_passing_yds | integernullable | — | — e.g. 275 |
home_pts | integernullable | — | — e.g. 17 |
home_rushing_yds | integernullable | — | — e.g. 96 |
home_total_yds | integernullable | — | — e.g. 367 |
home_turnovers | integernullable | — | — e.g. 1 |
player_count | integernullable | — | — e.g. 78 |
scoring_format | stringnullable | — | Operator scoring format code (classic, showdown, single_game); null when the format has no fantasy scoring. Values:classicsingle_gameshowdown |
slate_date | date | — | — e.g. 2021-11-21 |
total_blocked_kick_fpts | decimalnullable | — | — e.g. 0.0000 |
total_defense_interception_fpts | decimalnullable | — | — e.g. 2.0000 |
total_defensive_td_fpts | decimalnullable | — | — e.g. 0.0000 |
total_extra_point_fpts | decimalnullable | — | — e.g. 4.0000 |
total_field_goal_fpts | decimalnullable | — | — e.g. 6.0000 |
total_field_goal_missed_fpts | decimalnullable | — | — e.g. 0.0000 |
total_fpts | decimalnullable | — | — e.g. 180.5600 |
total_fumble_lost_fpts | decimalnullable | — | — e.g. -2.0000 |
total_fumble_recovery_fpts | decimalnullable | — | — e.g. 2.0000 |
total_interception_fpts | decimalnullable | — | — e.g. -1.0000 |
total_passing_2pt_conversion_fpts | decimalnullable | — | — e.g. 0.0000 |
total_passing_bonus_fpts | decimalnullable | — | — e.g. 0.0000 |
total_passing_td_fpts | decimalnullable | — | — e.g. 12.0000 |
total_passing_yds_fpts | decimalnullable | — | — e.g. 19.5600 |
total_pts_allowed_fpts | decimalnullable | — | — e.g. 0.0000 |
total_receiving_2pt_conversion_fpts | decimalnullable | — | — e.g. 0.0000 |
total_receiving_bonus_fpts | decimalnullable | — | — e.g. 0.0000 |
total_receiving_td_fpts | decimalnullable | — | — e.g. 18.0000 |
total_receiving_yds_fpts | decimalnullable | — | — e.g. 48.9000 |
total_reception_fpts | decimalnullable | — | — e.g. 21.5000 |
total_return_td_fpts | decimalnullable | — | — e.g. 0.0000 |
total_return_yds_fpts | decimalnullable | — | — e.g. 0.0000 |
total_rushing_2pt_conversion_fpts | decimalnullable | — | — e.g. 0.0000 |
total_rushing_bonus_fpts | decimalnullable | — | — e.g. 0.0000 |
total_rushing_td_fpts | decimalnullable | — | — e.g. 6.0000 |
total_rushing_yds_fpts | decimalnullable | — | — e.g. 20.8000 |
total_sack_fpts | decimalnullable | — | — e.g. 4.0000 |
total_safety_fpts | decimalnullable | — | — e.g. 0.0000 |