DFS GraphQL Reference
Daily-fantasy contest data across operators — the slates (operator + league + game pool + scoring rules), their game pools, player pools with salaries and positions, projection sources and projections, and the contests with their entrants, submitted lineups, and per-lineup player rosters.
Every GraphQL type, relation, and argument — generated from the served schema, so it can never disagree with the API. Root fields take the same filters as REST; requests are metered by rows resolved, nested lists included.
Main
slates
DfsSlatesDFS contest slate. A slate is one operator + one league + a fixed game pool + scoring rules; users build lineups against it.
Required filters: one of
operator_id + date.Relations
operatorReferenceOperatorsThe main.operators row referenced byoperator_id; null when unlinked.slate_settingDfsSlateSettingsThe dfs.slate_settings row referenced byslate_setting_id; null when unlinked.contests[DfsContests!]!dfs.contests rows whoseslate_idreferences this row.slate_games[DfsSlateGames!]!dfs.slate_games rows whoseslate_idreferences this row.slate_players[DfsSlatePlayers!]!dfs.slate_players rows whoseslate_idreferences this row.
Arguments (5)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.operator_idIntFilter to all slates for a single DFS operator: 1 DraftKings, 2 FanDuel, 3 Yahoo.dateStringSlate calendar date in US Eastern time (YYYY-MM-DD), derived from start_time.leagueStringLeague — code (NFL, NBA, MLB, NHL, GOLF; case-insensitive) or numeric league id. Resolves via main.leagues.
Columns (11) — full docs in the data dictionary
id: BigInt
operator_id: BigInt
league_id: BigInt
slate_setting_id: BigInt
external_id: BigInt
name: String
main: Boolean
start_time: String
created_at: String
updated_at: String
date: String
slate_settings
DfsSlateSettingsThe scoring format and roster-construction ruleset a slate is built on — salary cap, position slots, and scoring rules per operator / league / game-type combination. A small reference table that many slates point at.
Relations
operatorReferenceOperatorsThe main.operators row referenced byoperator_id; null when unlinked.slates[DfsSlates!]!dfs.slates rows whoseslate_setting_idreferences this row.slate_projection_sources[DfsSlateProjectionSources!]!dfs.slate_projection_sources rows whoseslate_setting_idreferences this row.
Arguments (2)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
Columns (10) — full docs in the data dictionary
id: BigInt
operator_id: BigInt
league_id: BigInt
name: String
game_type: Int
contest_type: Int
game_style: String
settings: JSON
created_at: String
updated_at: String
slate_games
DfsSlateGamesMany-to-many bridge between a DFS slate and the sport games included in its pool.
Required filters: one of
slate_id.Relations
slateDfsSlatesThe dfs.slates row referenced byslate_id; null when unlinked.slate_players[DfsSlatePlayers!]!dfs.slate_players rows whoseslate_game_idreferences this row.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.slate_idIntFilter to the games in a single slate pool.
Columns (8) — full docs in the data dictionary
id: BigInt
slate_id: BigInt
league_id: BigInt
game_id: BigInt
external_id: String
data: JSON
created_at: String
updated_at: String
slate_players
DfsSlatePlayersPlayer pool for a DFS slate — one row per (slate, player, roster slot). Carries operator salary, positions, and any operator-side metadata.
Required filters: one of
slate_id.Relations
slateDfsSlatesThe dfs.slates row referenced byslate_id; null when unlinked.slate_gameDfsSlateGamesThe dfs.slate_games row referenced byslate_game_id; null when unlinked.slate_player_projections[DfsSlatePlayerProjections!]!dfs.slate_player_projections rows whoseslate_player_idreferences this row.contest_user_lineup_player_entries[DfsContestUserLineupPlayerEntries!]!dfs.contest_user_lineup_player_entries rows whoseslate_player_idreferences this row.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.slate_idIntFilter to the player pool of a single slate.
Columns (19) — full docs in the data dictionary
id: BigInt
slate_id: BigInt
league_id: BigInt
player_id: BigInt
slate_game_id: BigInt
team_id: BigInt
salary: Int
position: String
roster_position: String
external_id: String
first_name: String
last_name: String
display_name: String
avg_points: Float
injury_status: String
injury_details: String
export_id: String
created_at: String
updated_at: String
Stats
slate_player_projections
DfsSlatePlayerProjectionsFantasy-points projection for one player in one slate from one source. Multiple sources produce multiple rows per (slate_player).
Required filters: one of
slate_player_id.Relations
slate_playerDfsSlatePlayersThe dfs.slate_players row referenced byslate_player_id; null when unlinked.slate_projection_sourceDfsSlateProjectionSourcesThe dfs.slate_projection_sources row referenced byslate_projection_source_id; null when unlinked.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.slate_player_idIntFilter to all source projections for a single slate-player.
Columns (10) — full docs in the data dictionary
id: BigInt
slate_player_id: BigInt
slate_projection_source_id: BigInt
projection: Float
floor: Float
ceiling: Float
std_dev: Float
stats: JSON
created_at: String
updated_at: String
slate_projection_sources
DfsSlateProjectionSourcesA registered projection provider for a slate (e.g., RotoGrinders consensus, an in-house model, a user upload).
Relations
slate_settingDfsSlateSettingsThe dfs.slate_settings row referenced byslate_setting_id; null when unlinked.slate_player_projections[DfsSlatePlayerProjections!]!dfs.slate_player_projections rows whoseslate_projection_source_idreferences this row.
Arguments (2)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
Columns (9) — full docs in the data dictionary
id: BigInt
slate_setting_id: BigInt
name: String
description: String
source_type: Int
enabled: Boolean
display_order: Int
created_at: String
updated_at: String
Contests
contest_user_lineup_player_entries
DfsContestUserLineupPlayerEntriesA single roster slot within a submitted contest lineup — one slate player in one position, with the fantasy points they scored.
Required filters: one of
contest_user_lineup_id.Relations
contest_user_lineupDfsContestUserLineupsThe dfs.contest_user_lineups row referenced bycontest_user_lineup_id; null when unlinked.slate_playerDfsSlatePlayersThe dfs.slate_players row referenced byslate_player_id; null when unlinked.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.contest_user_lineup_idIntFilter to the player roster of a single submitted lineup.
Columns (8) — full docs in the data dictionary
id: BigInt
contest_user_lineup_id: BigInt
slate_player_id: BigInt
roster_position: String
display_order: Int
points: Float
created_at: String
updated_at: String
contest_users
DfsContestUsersA contest entrant — one operator-side user who submitted at least one lineup. Identified by the operator's user id, not a statview account.
Required filters: one of
operator_id.Relations
operatorReferenceOperatorsThe main.operators row referenced byoperator_id; null when unlinked.contest_user_lineups[DfsContestUserLineups!]!dfs.contest_user_lineups rows whosecontest_user_idreferences this row.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.operator_idIntFilter to all contest entrants for a single DFS operator: 1 DraftKings, 2 FanDuel, 3 Yahoo.
Columns (6) — full docs in the data dictionary
id: BigInt
operator_id: BigInt
external_id: String
name: String
created_at: String
updated_at: String
contests
DfsContestsA DFS contest run on a slate — its entry fee, prize pool, entry caps, and type (GPP vs cash). One slate hosts many contests.
Required filters: one of
slate_id.Relations
slateDfsSlatesThe dfs.slates row referenced byslate_id; null when unlinked.contest_user_lineups[DfsContestUserLineups!]!dfs.contest_user_lineups rows whosecontest_idreferences this row.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.slate_idIntFilter to all contests run on a single slate.
Columns (13) — full docs in the data dictionary
id: BigInt
slate_id: BigInt
external_id: BigInt
name: String
contest_type: Int
entry_fee: Int
prize_pool: Int
max_entries: Int
entry_count: Int
max_entries_per_user: Int
guaranteed: Boolean
created_at: String
updated_at: String
contest_user_lineups
DfsContestUserLineupsA single lineup submitted to a contest by an entrant, with its finishing rank, total fantasy points, and winnings where the contest has settled.
Required filters: one of
contest_id | contest_user_id.Relations
contestDfsContestsThe dfs.contests row referenced bycontest_id; null when unlinked.contest_userDfsContestUsersThe dfs.contest_users row referenced bycontest_user_id; null when unlinked.contest_user_lineup_player_entries[DfsContestUserLineupPlayerEntries!]!dfs.contest_user_lineup_player_entries rows whosecontest_user_lineup_idreferences this row.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.contest_idIntFilter to every lineup submitted to a single contest.contest_user_idIntFilter to every lineup an entrant submitted.
Columns (9) — full docs in the data dictionary
id: BigInt
contest_id: BigInt
contest_user_id: BigInt
external_id: BigInt
rank: Int
points: Float
winnings: Int
created_at: String
updated_at: String