""" 64-bit integer, serialized as a JSON number (ids, row counts). """ scalar BigInt """ One row per contest with a ladder: paid places, cash vs ticket totals, top prize, min-cash, and the ratios contest selection needs. Rake is not here — it needs entries at lock, from contest_snapshots. """ type DFSContestPayoutShapes { """ Primary Key """ id: BigInt """ FK to the contest. Also the row id. """ contest_id: BigInt """ max(max_position) — the number of paying positions. """ paid_places: Int """ Number of tiers in the ladder. """ tier_count: Int """ Total cash prizes in cents (e.g. 10000000 = $100,000.00). """ cash_total: Int """ Total ticket face value in cents. """ ticket_total: Int """ First place prize in cents (e.g. 2000000 = $20,000.00). """ top_prize: Int """ Amount awarded on the last paying tier in cents (e.g. 1000 = $10.00). """ min_cash: Int """ top_prize / (cash_total + ticket_total). """ top_prize_share: Float """ min_cash / entry_fee. 2.0 on a double-up. """ min_cash_multiple: Float """ paid_places / max_entries. """ cash_line: Float } """ A contest entrant — one operator-side user who submitted at least one lineup. Identified by the operator's user id, not a statview account. """ type DFSContestUsers { """ Primary Key """ id: BigInt operator_id: BigInt """ Operator user ID """ external_id: String name: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The main.operators row referenced by `operator_id`; null when unlinked. """ operator: ReferenceOperators } """ A DFS contest run on a slate — its entry fee, prize pool, entry caps, type flags and lock time. One slate hosts many contests. Fill history lives in contest_snapshots; the payout ladder in contest_payouts. """ type DFSContests { """ Primary Key """ id: BigInt """ FK to the slate this contest runs on. """ slate_id: BigInt """ Operator contest id, numeric. FanDuel: the tail of its composite id. """ external_id: BigInt """ Operator-facing contest name (e.g. "$5 NBA Mini-MAX"). """ name: String """ Contest structure code (0 = Tournament / GPP, 1 = Cash game / 50-50 / Double-up). """ contest_type: Int """ Entry fee in cents (e.g. 500 = $5.00, 2000 = $20.00). 0 for free contests. """ entry_fee: Int """ Total prize pool in cents (e.g. 10000000 = $100,000.00). On qualifiers, includes ticket face value. """ prize_pool: Int """ Maximum total entries the contest accepts. Latest observed. """ max_entries: Int """ Latest observed entries. The history is in contest_snapshots. """ entry_count: Int """ Maximum lineups a single entrant may submit. """ max_entries_per_user: Int """ Whether the prize pool is guaranteed regardless of entries filled. """ guaranteed: Boolean """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ FK to the operator. Denormalized from slates: 5,160 slate external_ids are shared between DraftKings and FanDuel, so every operator filter was a two-hop join. """ operator_id: BigInt """ The operator id exactly as served. FanDuel: "{fixtureListId}-{contestId}", which the API needs back verbatim. DraftKings: same as external_id. """ operator_external_id: String """ Satellite or qualifier — pays tickets or seats, not (only) cash. Excluded from field-size statistics. """ qualifier: Boolean """ Number of paying positions. FanDuel serves it in the lobby (prizes.count); DraftKings derives it from the ladder. """ paid_places: Int """ Operator game type: DraftKings gameTypeId (1 Classic, 96 Showdown Captain, …). """ game_type_id: Int """ DraftKings pt. 1 on all paid contests; 2 marked the two $0 promo contests. """ payout_type: Int """ Latest observed state: Upcoming, Live, Completed, Cancelled. DraftKings cs / contestState. """ contest_state: String """ The contest's own lock time. A late-swap contest locks later than its slate. """ start_time: String """ The operator's raw flag set, kept whole: IsStarred, IsWinnerTakeAll, Multiplier, IsBeginner, IsCasual, IsPrivate, League, … """ attributes: JSON """ First lobby observation. """ first_seen_at: String """ Last lobby observation. A contest absent from the lobby after this is cancelled or locked. """ last_seen_at: String """ Lineup file status: available (the lineups are loaded), pending (capture queued), unavailable (the capture gave up), none. Set by a database trigger from the lineup file pointer on every write (docs/migrations/scripts/2026-09-27-dfs-contests-lineups-status.sql). Filter lineups_status=available for the contests with lineups. """ lineups_status: String """ The main.operators row referenced by `operator_id`; null when unlinked. """ operator: ReferenceOperators """ The dfs.slates row referenced by `slate_id`; null when unlinked. """ slate: DFSSlates } """ One row per game in a slate's pool: the game's total fantasy production for the slate's operator scoring format with home/away point totals, per-category point columns, and headline raw stats per side. Per-side category detail lives on team_stats. NFL today. """ type DFSGameStats { """ Primary Key """ id: BigInt league_id: BigInt slate_id: BigInt operator_id: BigInt """ Operator scoring format code (classic, showdown, single_game); null when the format has no fantasy scoring. """ scoring_format: String game_id: BigInt home_team_id: BigInt away_team_id: BigInt slate_date: String total_fpts: Float home_fpts: Float away_fpts: Float player_count: Int total_passing_yds_fpts: Float total_passing_td_fpts: Float total_interception_fpts: Float total_passing_2pt_conversion_fpts: Float total_passing_bonus_fpts: Float total_rushing_yds_fpts: Float total_rushing_td_fpts: Float total_fumble_lost_fpts: Float total_rushing_2pt_conversion_fpts: Float total_rushing_bonus_fpts: Float total_receiving_yds_fpts: Float total_reception_fpts: Float total_receiving_td_fpts: Float total_receiving_2pt_conversion_fpts: Float total_receiving_bonus_fpts: Float total_sack_fpts: Float total_defense_interception_fpts: Float total_fumble_recovery_fpts: Float total_defensive_td_fpts: Float total_safety_fpts: Float total_blocked_kick_fpts: Float total_pts_allowed_fpts: Float total_field_goal_fpts: Float total_extra_point_fpts: Float total_field_goal_missed_fpts: Float total_return_td_fpts: Float total_return_yds_fpts: Float home_pts: Int away_pts: Int home_total_yds: Int away_total_yds: Int home_passing_yds: Int away_passing_yds: Int home_rushing_yds: Int away_rushing_yds: Int home_turnovers: Int away_turnovers: Int } """ One row per slate player: the slate context (slate, salary, position) joined to that player's per-game fantasy result for the slate's operator scoring format — total points, the per-category point columns, and the raw stats behind them. NFL today; other leagues follow as their fantasy engines land. """ type DFSPlayerStats { """ Primary Key """ id: BigInt league_id: BigInt slate_id: BigInt operator_id: BigInt """ Operator scoring format code (classic, showdown, single_game); null when the format has no fantasy scoring. """ scoring_format: String player_id: BigInt game_id: BigInt team_id: BigInt slate_date: String salary: Int position: String fantasy_pts: Float passing_yds_fpts: Float passing_td_fpts: Float interception_fpts: Float passing_2pt_conversion_fpts: Float passing_bonus_fpts: Float rushing_yds_fpts: Float rushing_td_fpts: Float fumble_lost_fpts: Float rushing_2pt_conversion_fpts: Float rushing_bonus_fpts: Float receiving_yds_fpts: Float reception_fpts: Float receiving_td_fpts: Float receiving_2pt_conversion_fpts: Float receiving_bonus_fpts: Float sack_fpts: Float defense_interception_fpts: Float fumble_recovery_fpts: Float defensive_td_fpts: Float safety_fpts: Float blocked_kick_fpts: Float pts_allowed_fpts: Float field_goal_fpts: Float extra_point_fpts: Float field_goal_missed_fpts: Float return_td_fpts: Float return_yds_fpts: Float passing_yds: Int passing_tds: Int interceptions_thrown: Int passing_2pt_conversions: Int rushing_yds: Int rushing_tds: Int rushing_2pt_conversions: Int rushing_fumbles_lost: Int receptions: Int receiving_yds: Int receiving_tds: Int receiving_2pt_conversions: Int receiving_fumbles_lost: Int sack_fumbles_lost: Int punt_return_yds: Int kick_return_yds: Int interception_return_tds: Int extra_pts_made: Int field_goals_made: Int field_goals_attempted: Int field_goals_made_0_19: Int field_goals_made_20_29: Int field_goals_made_30_39: Int field_goals_made_40_49: Int field_goals_made_50_plus: Int """ Numeric — half-sacks exist. Player value for humans, team value for DST rows. """ defensive_sacks: Float defensive_interceptions: Int fumbles_recovered: Int safeties: Int kick_return_tds: Int punt_return_tds: Int defensive_tds: Int blocked_kicks: Int pts_allowed_dst: Int pts_allowed_def: Int } type DFSQuery { """ One row per contest with a ladder: paid places, cash vs ticket totals, top prize, min-cash, and the ratios contest selection needs. Rake is not here — it needs entries at lock, from contest_snapshots. Requires at least one of these filter sets: `contest_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ contest_payout_shapes( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ The shape of one contest. """ contest_id: Int ): [DFSContestPayoutShapes!]! """ A contest entrant — one operator-side user who submitted at least one lineup. Identified by the operator's user id, not a statview account. Requires at least one of these filter sets: `operator_id` | `operator`. Metered by rows resolved across all nested lists — the same record unit as REST. """ contest_users( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to all contest entrants for a single DFS operator: by numeric id (1 DraftKings, 2 FanDuel, 3 Yahoo). """ operator_id: Int, """ Filter to all contest entrants for a single DFS operator: draftkings, fanduel, yahoo (or numeric operator id). """ operator: String, """ Filter by entrant username (exact match). """ name: String ): [DFSContestUsers!]! """ A DFS contest run on a slate — its entry fee, prize pool, entry caps, type flags and lock time. One slate hosts many contests. Fill history lives in contest_snapshots; the payout ladder in contest_payouts. Requires at least one of these filter sets: `slate_id` | `operator_slate_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ contests( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to all contests run on a single slate. """ slate_id: Int, """ Operator-side slate identifier (DraftKings contest group ID, FanDuel fixtureListId). Resolves to slate_id. """ operator_slate_id: Int, """ Filter to one operator: by numeric id (1 DraftKings, 2 FanDuel, 3 Yahoo) or name (draftkings, fanduel). """ operator_id: Int, """ Filter to one operator: draftkings, fanduel, yahoo (or numeric operator id). """ operator: String, """ Filter contests by parent slate status: Upcoming, Live, Completed (case-insensitive). """ status: String, """ Filter contests by parent slate status: Upcoming, Live, Completed (case-insensitive). """ slate_status: String, """ Filter by lineup file status: available (the lineups are loaded), pending, unavailable, none. """ lineups_status: String, """ Filter contests by whether their lineups are loaded. true returns the contests with lineups_status = available. false returns every other contest (lineups_status pending, unavailable or none). """ has_lineups: String ): [DFSContests!]! """ One row per game in a slate's pool: the game's total fantasy production for the slate's operator scoring format with home/away point totals, per-category point columns, and headline raw stats per side. Per-side category detail lives on team_stats. NFL today. Requires at least one of these filter sets: `slate_id` | `game_id` | `slate_date` | `operator_slate_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to one slate — every game in its pool. """ slate_id: Int, """ Operator-side slate identifier (DraftKings contest group ID, FanDuel fixtureListId). Resolves to slate_id. """ operator_slate_id: Int, """ Filter to one game across slates. """ game_id: Int, """ Slate calendar day (YYYY-MM-DD, US Eastern). Range operators support backtesting windows. """ slate_date: String, """ `gte` comparison on `slate_date`. """ slate_date__gte: String, """ `lte` comparison on `slate_date`. """ slate_date__lte: String, """ Range filter on `slate_date` — pass "lo,hi". """ slate_date__between: String, """ Scoring format code (classic, showdown, single_game). """ scoring_format: String, """ Filter by operator: by numeric id (1 = DraftKings, 2 = FanDuel) or name (draftkings, fanduel). """ operator_id: Int, """ Filter by operator: draftkings, fanduel, yahoo (or numeric operator id). """ operator: String, """ Filter by league (1 = NFL). """ league_id: Int ): [DFSGameStats!]! """ One row per slate player: the slate context (slate, salary, position) joined to that player's per-game fantasy result for the slate's operator scoring format — total points, the per-category point columns, and the raw stats behind them. NFL today; other leagues follow as their fantasy engines land. Requires at least one of these filter sets: `slate_id` | `player_id` | `game_id` | `slate_date` | `operator_slate_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ player_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to one slate — every player in that slate's pool. """ slate_id: Int, """ Operator-side slate identifier (DraftKings contest group ID, FanDuel fixtureListId). Resolves to slate_id. """ operator_slate_id: Int, """ Filter to a single player across slates. """ player_id: Int, """ Filter to the players whose slate rows resolve to one game. """ game_id: Int, """ Slate calendar day (YYYY-MM-DD, US Eastern). Range operators support backtesting windows. """ slate_date: String, """ `gte` comparison on `slate_date`. """ slate_date__gte: String, """ `lte` comparison on `slate_date`. """ slate_date__lte: String, """ Range filter on `slate_date` — pass "lo,hi". """ slate_date__between: String, """ Filter by the player's team. """ team_id: Int, """ Scoring format code (classic, showdown, single_game) — e.g. exclude showdown duplicates from a player log. """ scoring_format: String, """ Roster position as listed in the slate pool (QB, RB, WR, TE, DST). """ position: String, """ Filter by operator: by numeric id (1 = DraftKings, 2 = FanDuel) or name (draftkings, fanduel). """ operator_id: Int, """ Filter by operator: draftkings, fanduel, yahoo (or numeric operator id). """ operator: String, """ Filter by league (1 = NFL). """ league_id: Int ): [DFSPlayerStats!]! """ Many-to-many bridge between a DFS slate and the sport games included in its pool. Requires at least one of these filter sets: `slate_id` | `operator_slate_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ slate_games( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to the games in a single slate pool. """ slate_id: Int, """ Operator-side slate identifier (DraftKings contest group ID, FanDuel fixtureListId). Resolves to slate_id. """ operator_slate_id: Int, """ Disambiguate slate by operator: 1 DraftKings, 2 FanDuel, 3 Yahoo. """ operator_id: String, """ Disambiguate slate by operator: draftkings, fanduel, yahoo (or numeric operator id). """ operator: String ): [DFSSlateGames!]! """ Player pool for a DFS slate — one row per (slate, player, roster slot). Carries operator salary, positions, and any operator-side metadata. Requires at least one of these filter sets: `slate_id` | `operator_slate_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ slate_players( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to the player pool of a single slate. """ slate_id: Int, """ Operator-side slate identifier (DraftKings contest group ID, FanDuel fixtureListId). Resolves to slate_id. """ operator_slate_id: Int, """ Disambiguate slate by operator: 1 DraftKings, 2 FanDuel, 3 Yahoo. """ operator_id: String, """ Disambiguate slate by operator: draftkings, fanduel, yahoo (or numeric operator id). """ operator: String, """ Filter by roster position (e.g. QB, RB, WR, TE, DST, K). """ position: String, """ Filter by team ID. """ team_id: Int, """ Time wall: PRE (default) = values at the game's kickoff, post-game fields null; FULL = the latest values before week end. """ mode: TimeWallMode = PRE ): [DFSSlatePlayers!]! """ The 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. Requires at least one of these filter sets: `operator_id` | `operator`. Metered by rows resolved across all nested lists — the same record unit as REST. """ slate_settings( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by operator: by numeric id (1 DraftKings, 2 FanDuel, 3 Yahoo). """ operator_id: Int, """ Filter by operator: by name (draftkings, fanduel) or numeric id (1, 2). """ operator: String ): [DFSSlateSettings!]! """ DFS contest slate. A slate is one operator + one league + a fixed game pool + scoring rules; users build lineups against it. Slate player and team projections are available directly on this slate resource or under the Projections section. Requires at least one of these filter sets: `sport` | `league` | `operator_id + date` | `operator + date` | `operator_slate_id` | `external_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ slates( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to all slates for a single DFS operator: by numeric id (1 DraftKings, 2 FanDuel, 3 Yahoo). """ operator_id: Int, """ Filter to all slates for a single DFS operator: draftkings, fanduel, yahoo (or numeric operator id). """ operator: String, """ Slate calendar date in US Eastern time (YYYY-MM-DD), derived from start_time. Range operators let a caller ask for the most recent slates on or before a day, which is how a client finds live data without knowing the schedule. """ date: String, """ `gte` comparison on `date`. """ date__gte: String, """ `lte` comparison on `date`. """ date__lte: String, """ Range filter on `date` — pass "lo,hi". """ date__between: String, """ League — code (NFL, NBA, MLB, NHL, GOLF; case-insensitive) or numeric league id. Resolves via main.leagues. """ league: String, """ Sport/league code (NFL, NBA, MLB, NHL, GOLF; case-insensitive). Resolves via main.leagues. """ sport: String, """ Operator-side slate identifier (DraftKings contest group ID, FanDuel fixtureListId). """ external_id: Int, """ Operator-side slate identifier (DraftKings contest group ID, FanDuel fixtureListId). Resolves to slate id. """ operator_slate_id: Int, """ Filter by slate lifecycle status: Upcoming, Live, Completed (case-insensitive). """ status: String ): [DFSSlates!]! """ One row per team per slate game: the team's summed fantasy production for the slate's operator scoring format — total points, per-category point columns, player count, and the team's raw box-score line. DST is included in the team total. NFL today. Requires at least one of these filter sets: `slate_id` | `game_id` | `team_id` | `slate_date` | `operator_slate_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ team_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to one slate — both teams of every game in it. """ slate_id: Int, """ Operator-side slate identifier (DraftKings contest group ID, FanDuel fixtureListId). Resolves to slate_id. """ operator_slate_id: Int, """ Filter to one game's two team rows across slates. """ game_id: Int, """ Slate calendar day (YYYY-MM-DD, US Eastern). Range operators support backtesting windows. """ slate_date: String, """ `gte` comparison on `slate_date`. """ slate_date__gte: String, """ `lte` comparison on `slate_date`. """ slate_date__lte: String, """ Range filter on `slate_date` — pass "lo,hi". """ slate_date__between: String, """ Filter to one team across slates. """ team_id: Int, """ Scoring format code (classic, showdown, single_game). """ scoring_format: String, """ Filter by operator: by numeric id (1 = DraftKings, 2 = FanDuel) or name (draftkings, fanduel). """ operator_id: Int, """ Filter by operator: draftkings, fanduel, yahoo (or numeric operator id). """ operator: String, """ Filter by league (1 = NFL). """ league_id: Int ): [DFSTeamStats!]! } """ Many-to-many bridge between a DFS slate and the sport games included in its pool. """ type DFSSlateGames { """ Primary Key """ id: BigInt """ FK to dfs.slates. """ slate_id: BigInt """ League key disambiguating the polymorphic game_id (nfl/nba/mlb/nhl). """ league_id: BigInt """ Polymorphic reference to {nfl,nba,mlb}.games based on league_id """ game_id: BigInt """ Operator-side game identifier. """ external_id: String """ Operator-provided game metadata (teams, matchup type, and start time). """ data: JSON """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The dfs.slates row referenced by `slate_id`; null when unlinked. """ slate: DFSSlates """ dfs.slate_players rows whose `slate_game_id` references this row. """ slate_players( """ Page size (default 50, max 500). """ first: Int ): [DFSSlatePlayers!]! } """ Player pool for a DFS slate — one row per (slate, player, roster slot). Carries operator salary, positions, and any operator-side metadata. """ type DFSSlatePlayers { """ Primary Key """ id: BigInt """ FK to dfs.slates. """ slate_id: BigInt """ League key disambiguating player_id. """ league_id: BigInt """ Polymorphic FK to {nfl,nba,mlb,nhl}.players based on league_id. """ player_id: BigInt """ FK to dfs.slate_games — the specific slate-game this player is rostered to. """ slate_game_id: BigInt """ Polymorphic FK to {league}.teams. Null for golfers and other player-only sports. """ team_id: BigInt """ Operator-assigned DFS salary (whole dollars; e.g., 8400 = $8,400). """ salary: Int """ Primary position label per operator (e.g., RB, WR, PG, SP). """ position: String """ Operator player identifier in this slate. """ external_id: String """ Player first name from operator """ first_name: String """ Player last name from operator """ last_name: String """ Full display name from operator """ display_name: String """ Average fantasy points from operator """ avg_points: Float """ Injury status, lower case: il, o, q, d, p, dtd, na, ir, gtd (game-time decision), c19 (COVID-19 protocols, 2021-22 only). Empty when the operator listed the player as healthy. """ injury_status: String """ Injury body part/details """ injury_details: String """ Operator player ID used for CSV export/import """ export_id: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The dfs.slate_games row referenced by `slate_game_id`; null when unlinked. """ slate_game: DFSSlateGames """ The dfs.slates row referenced by `slate_id`; null when unlinked. """ slate: DFSSlates } """ The 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. """ type DFSSlateSettings { """ Primary Key """ id: BigInt operator_id: BigInt league_id: BigInt """ Ruleset name (e.g. "Classic", "Showdown Captain Mode", "Single Game"). """ name: String """ Contest format code (0 = Classic full-slate, 1 = Showdown / Single Game, 2 = Tiers). """ game_type: Int """ Contest structure code (0 = Tournament / GPP, 1 = Cash game / Double-up). """ contest_type: Int """ Operator game style label. """ game_style: String """ Full ruleset as JSON: salary cap, roster slots, and the per-stat scoring rules (e.g. DK NBA: 1.25/rebound, 1.5/assist, double-double bonuses, CPT 1.5x). With this plus per-game box scores you can recompute any lineup's fantasy points exactly. """ settings: JSON """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ First slate day (US Eastern) this version of the format applies to. """ valid_from: String """ The operator's own id for this format (DraftKings gameTypeId, FanDuel slateFormatId). Operators reuse these ids across versions and formats, so it is unique only together with operator, league, game type and valid_from. """ operator_setting_id: String """ The main.operators row referenced by `operator_id`; null when unlinked. """ operator: ReferenceOperators """ dfs.slates rows whose `slate_setting_id` references this row. """ slates( """ Page size (default 50, max 500). """ first: Int ): [DFSSlates!]! } """ DFS contest slate. A slate is one operator + one league + a fixed game pool + scoring rules; users build lineups against it. Slate player and team projections are available directly on this slate resource or under the Projections section. """ type DFSSlates { """ Primary Key """ id: BigInt """ FK to the DFS operator (DraftKings, FanDuel, Yahoo, etc.). """ operator_id: BigInt """ FK to the league this slate belongs to. """ league_id: BigInt """ FK to slate_settings — the scoring format and roster constraints for this slate. """ slate_setting_id: BigInt """ Operator-side slate identifier (e.g., DraftKings contest group ID). """ external_id: BigInt """ Human-readable slate label (e.g., "Sunday Main", "Showdown: TB vs KC"). """ name: String """ Whether this is the featured ("main") slate for this operator/league/day — at most one per (operator, league, date). Daily for NBA/MLB/NHL, Sundays for NFL, never for golf. Backfilled 2016-2026 on 2026-08-24 (docs/migrations/scripts/2026-08-24-dfs-slates-main-backfill.sql). Rows loaded after that date are not yet auto-flagged. """ main: Boolean """ Lock time — first scheduled tip/kickoff of any game in the pool. """ start_time: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Calendar day of the slate in US Eastern time (DB-generated from start_time — read-only). """ date: String """ The operator's own id for the lineup setting this slate is played under — FanDuel states it as slateFormatId, DraftKings as lineupConfigurationId. Matches dfs.slate_settings.operator_setting_id. Text, because rotoql stores values like deprecated-5399. Never a key on its own: the operators reuse these ids across sports and versions, so resolution is (operator, league, this id) then the newest valid_from not after the slate date. """ operator_setting_id: String """ Authoritative slate lifecycle status: Upcoming (pre-lock), Live (in progress), Completed (all games final). """ status: String """ The main.operators row referenced by `operator_id`; null when unlinked. """ operator: ReferenceOperators """ The dfs.slate_settings row referenced by `slate_setting_id`; null when unlinked. """ slate_setting: DFSSlateSettings """ dfs.contests rows whose `slate_id` references this row. """ contests( """ Page size (default 50, max 500). """ first: Int ): [DFSContests!]! """ dfs.slate_games rows whose `slate_id` references this row. """ slate_games( """ Page size (default 50, max 500). """ first: Int ): [DFSSlateGames!]! """ dfs.slate_players rows whose `slate_id` references this row. """ slate_players( """ Page size (default 50, max 500). """ first: Int ): [DFSSlatePlayers!]! } """ One row per team per slate game: the team's summed fantasy production for the slate's operator scoring format — total points, per-category point columns, player count, and the team's raw box-score line. DST is included in the team total. NFL today. """ type DFSTeamStats { """ Primary Key """ id: BigInt league_id: BigInt slate_id: BigInt operator_id: BigInt """ Operator scoring format code (classic, showdown, single_game); null when the format has no fantasy scoring. """ scoring_format: String game_id: BigInt team_id: BigInt opponent_team_id: BigInt is_home: Boolean slate_date: String fantasy_pts: Float player_count: Int passing_yds_fpts: Float passing_td_fpts: Float interception_fpts: Float passing_2pt_conversion_fpts: Float passing_bonus_fpts: Float rushing_yds_fpts: Float rushing_td_fpts: Float fumble_lost_fpts: Float rushing_2pt_conversion_fpts: Float rushing_bonus_fpts: Float receiving_yds_fpts: Float reception_fpts: Float receiving_td_fpts: Float receiving_2pt_conversion_fpts: Float receiving_bonus_fpts: Float sack_fpts: Float defense_interception_fpts: Float fumble_recovery_fpts: Float defensive_td_fpts: Float safety_fpts: Float blocked_kick_fpts: Float pts_allowed_fpts: Float field_goal_fpts: Float extra_point_fpts: Float field_goal_missed_fpts: Float return_td_fpts: Float return_yds_fpts: Float pts: Int total_yds: Int passing_yds: Int rushing_yds: Int receiving_yds: Int first_downs: Int turnovers: Int fumbles_lost: Int interceptions_thrown: Int defensive_sacks: Int defensive_interceptions: Int defensive_tds: Int fumbles_recovered: Int safeties: Int field_goals_made: Int field_goals_attempted: Int extra_pts_made: Int kick_return_tds: Int punt_return_tds: Int blocked_kicks: Int pts_allowed_dst: Int pts_allowed_def: Int } """ Arbitrary JSON value — array/object/enum-typed columns pass through as-is. """ scalar JSON """ Every plate appearance in every MLB game — the batter, the pitcher, the count, the pitch sequence, and the outcome (single, double, home run, strikeout, walk, hit-by-pitch, etc.). """ type MLBAtBats { """ Primary Key """ id: BigInt game_id: BigInt inning_id: BigInt pitcher_id: BigInt batter_id: BigInt at_bat_number: Int start_outs: Int end_outs: Int start_runners: Int end_runners: Int runs_scored: Int result: String pitch_count: Int balls: Int strikes: Int hit_type: String hit_location: String hit_distance: Int hit_exit_velocity: Float hit_launch_angle: Float hit_coord_x: Float hit_coord_y: Float is_hard_hit: Boolean is_barrel: Boolean expected_batting_avg: Float expected_woba: Float launch_speed_angle_zone: Int """ Horizontal angle from center field (degrees) """ spray_angle: Float """ Launch angle between 8-32 degrees """ is_sweet_spot: Boolean """ Launch angle less than 10 degrees """ is_under: Boolean """ Launch angle < 10 AND exit velocity < 90 """ is_topped: Boolean """ Launch angle 10-25 AND exit velocity < 95 """ is_flare_burner: Boolean """ Launch angle 20-25 AND exit velocity 95-100 """ is_solid_contact: Boolean """ Statcast data quality score (0.0-1.0) """ statcast_quality_score: Float """ Confidence in tracking data accuracy """ tracking_confidence: Float """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Wall-clock start of the plate appearance (statsapi about.startTime) """ start_time: String """ Wall-clock end of the plate appearance (statsapi about.endTime) """ end_time: String """ Batter side for this matchup (L/R) — per-PA truth, resolves switch hitters (statsapi matchup.batSide.code) """ bat_side: String """ Pitcher hand for this matchup (L/R) (statsapi matchup.pitchHand.code) """ pitch_hand: String """ The mlb.players row referenced by `batter_id`; null when unlinked. """ batter: MLBPlayers """ The mlb.games row referenced by `game_id`; null when unlinked. """ game: MLBGames """ The mlb.innings row referenced by `inning_id`; null when unlinked. """ inning: MLBInnings """ The mlb.players row referenced by `pitcher_id`; null when unlinked. """ pitcher: MLBPlayers """ mlb.pitches rows whose `at_bat_id` references this row. """ pitches( """ Page size (default 50, max 500). """ first: Int ): [MLBPitches!]! """ mlb.play_by_plays rows whose `at_bat_id` references this row. """ play_by_plays( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayByPlays!]! } """ MLB game betting lines — moneylines, run lines (the baseball point-spread equivalent), and over/under totals from sportsbooks, captured over time as the lines move from opening to closing. In MLB, spread = run line (typically +/- 1.5). """ type MLBGameLines { """ Primary Key """ id: BigInt game_id: BigInt """ Denormalized for efficient season-level queries """ season_id: BigInt """ Data source (consensus, DraftKings, FanDuel, etc.) """ operator_id: BigInt """ Home team run line (e.g., -1.5 means home favored by 1.5 runs) """ spread: Float """ American odds for home run line (e.g., -130) """ spread_home_odds: Int """ American odds for away run line """ spread_away_odds: Int """ American odds for home team win """ moneyline_home: Int """ American odds for away team win """ moneyline_away: Int """ Combined run total line (e.g., 8.5) """ total: Float """ American odds for over """ over_odds: Int """ American odds for under """ under_odds: Int """ Calculated from spread + total """ implied_home_score: Float implied_away_score: Float """ From moneyline, 0-1 """ implied_home_win_pct: Float implied_away_win_pct: Float """ When this snapshot was captured """ captured_at: String """ True if this is the opening line """ is_opening: Boolean """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.games row referenced by `game_id`; null when unlinked. """ game: MLBGames """ The main.operators row referenced by `operator_id`; null when unlinked. """ operator: ReferenceOperators """ The mlb.seasons row referenced by `season_id`; null when unlinked. """ season: MLBSeasons } """ Each batter's box-score stat line for each MLB game — at-bats, hits, doubles, triples, home runs, RBIs, walks, strikeouts, stolen bases, and runs scored. """ type MLBGamePlayerBatterStats { """ Primary Key """ id: BigInt game_id: BigInt team_id: BigInt player_id: BigInt at_bats: Int plate_appearances: Int runs: Int hits: Int singles: Int doubles: Int triples: Int home_runs: Int runs_batted_in: Int batting_average: Float stolen_bases: Int caught_stealing: Int strikeouts: Int walks: Int hit_by_pitch: Int sacrifices: Int sacrifice_flies: Int ground_into_double_play: Int ground_into_triple_play: Int on_base_percentage: Float slugging_percentage: Float on_base_plus_slugging: Float total_bases: Int fly_outs: Int ground_outs: Int line_outs: Int pop_outs: Int air_outs: Int intentional_walks: Int left_on_base: Int balls_in_play: Int babip: Float isolated_power: Float woba: Float double_plays: Int catchers_interference: Int pickoffs: Int at_bats_per_home_run: Float """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.games row referenced by `game_id`; null when unlinked. """ game: MLBGames """ The mlb.players row referenced by `player_id`; null when unlinked. """ player: MLBPlayers """ The mlb.teams row referenced by `team_id`; null when unlinked. """ team: MLBTeams } """ Each pitcher's box-score stat line for each MLB game — innings pitched, hits and runs allowed, earned runs, walks, strikeouts, home runs allowed, and pitches thrown. """ type MLBGamePlayerPitchingStats { """ Primary Key """ id: BigInt game_id: BigInt team_id: BigInt player_id: BigInt win: Int loss: Int save: Int hold: Int blown_save: Int """ Innings pitched in MLB notation (6.2 = 6 and 2/3 innings) """ innings_pitched: Float hits_allowed: Int runs_allowed: Int earned_runs: Int walks_allowed: Int strikeouts_pitched: Int home_runs_allowed: Int batters_faced: Int pitches_thrown: Int strikes: Int earned_run_average: Float whip: Float singles_allowed: Int doubles_allowed: Int triples_allowed: Int grand_slams_allowed: Int hit_by_pitch: Int sacrifices_allowed: Int sacrifice_flies_allowed: Int ground_into_double_play: Int complete_games: Int shutouts: Int no_hitters: Int perfect_games: Int plate_appearances: Int total_bases_allowed: Int fly_outs: Int ground_outs: Int line_outs: Int pop_outs: Int air_outs: Int intentional_walks: Int balls_in_play: Int on_base_percentage: Float slugging_percentage: Float on_base_plus_slugging: Float strikeouts_per_nine: Float walks_per_nine: Float home_runs_per_nine: Float runs_scored_per_nine: Float babip: Float woba: Float double_plays: Int fip: Float quality_starts: Int inning_started: Int left_on_base: Float strike_percentage: Float balls: Int balks: Int wild_pitches: Int pickoffs: Int inherited_runners: Int inherited_runners_scored: Int games_pitched: Int games_started: Int games_finished: Int outs: Int catchers_interference: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.games row referenced by `game_id`; null when unlinked. """ game: MLBGames """ The mlb.players row referenced by `player_id`; null when unlinked. """ player: MLBPlayers """ The mlb.teams row referenced by `team_id`; null when unlinked. """ team: MLBTeams } """ The active gameday roster for each MLB team in each game — the 26 players in uniform that day, with positions and any pre-game lineup designations. """ type MLBGameTeamRosters { """ Primary Key """ id: BigInt game_id: BigInt team_id: BigInt player_id: BigInt position: String status: String comment: String starter: Boolean batting_order: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.games row referenced by `game_id`; null when unlinked. """ game: MLBGames """ The mlb.players row referenced by `player_id`; null when unlinked. """ player: MLBPlayers """ The mlb.teams row referenced by `team_id`; null when unlinked. """ team: MLBTeams } """ Each MLB team's stat line for each game — runs, hits, errors, batting averages, pitching lines, broken out per game with home/away context. """ type MLBGameTeamStats { """ Primary Key """ id: BigInt game_id: BigInt team_id: BigInt win: Int loss: Int runs: Int hits: Int errors: Int left_on_base: Int doubles: Int triples: Int home_runs: Int runs_batted_in: Int stolen_bases: Int caught_stealing: Int walks: Int strikeouts: Int hit_by_pitch: Int sacrifice_hits: Int sacrifice_flies: Int grounded_into_double_play: Int batting_average: Float on_base_percentage: Float slugging_percentage: Float on_base_plus_slugging: Float """ Innings pitched in MLB notation (6.2 = 6 and 2/3 innings) """ innings_pitched: Float earned_runs: Int earned_run_average: Float batters_faced: Int pitches_thrown: Int strikes: Int wild_pitches: Int balks: Int putouts: Int assists: Int double_plays_turned: Int passed_balls: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.games row referenced by `game_id`; null when unlinked. """ game: MLBGames """ The mlb.teams row referenced by `team_id`; null when unlinked. """ team: MLBTeams } """ The umpiring crew assigned to each MLB game — who worked home plate, who worked each base. """ type MLBGameUmpires { """ Primary Key """ id: BigInt game_id: BigInt umpire_id: BigInt position: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.games row referenced by `game_id`; null when unlinked. """ game: MLBGames """ The mlb.umpires row referenced by `umpire_id`; null when unlinked. """ umpire: MLBUmpires } """ On-field weather throughout each MLB game — temperature, wind direction and speed, humidity, and precipitation captured at fixed intervals from first pitch. """ type MLBGameWeathers { """ Primary Key """ id: BigInt game_id: BigInt venue_id: BigInt """ Minutes from game start (0, 30, 60, 90, 120, 150, 180 for 3-hour game) """ time_minutes: Int temperature: Float feels_like_temperature: Float humidity: Float dew_point: Float pressure: Float wind_speed: Float wind_direction: Float wind_gust: Float visibility: Float uv_index: Float cloud_cover: Float precipitation: Float precipitation_probability: Float weather_condition: String weather_description: String is_dome: Boolean """ open, closed, retractable_open, retractable_closed """ roof_status: String recorded_at: String """ Wind direction relative to batter's box (degrees) """ wind_direction_relative: Float """ Calculated air density (lb/ft³) """ air_density: Float """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ True if wind is blowing from home plate toward outfield """ wind_blowing_out: Boolean """ Wind speed component blowing out to CF (mph, negative = blowing in) """ wind_component_out: Float """ Estimated ball carry factor (1.0 = neutral, >1 = carries more) """ ball_carry_factor: Float """ The mlb.games row referenced by `game_id`; null when unlinked. """ game: MLBGames """ The mlb.venues row referenced by `venue_id`; null when unlinked. """ venue: MLBVenues } """ Every scheduled and played MLB game — spring training exhibitions, the 162-game regular season, the Wild Card Series, the Division and Championship Series, and the World Series. """ type MLBGames { """ Primary Key """ id: BigInt """ Official MLB game identifier """ league_id: String season_id: BigInt """ Canonical game start time. The ONLY one on any games table — nba and nfl carried a duplicate `start_time` until 2026-08-27 and nhl carried `date_time` and `date_time_utc`; all four sports now expose `game_time` alone. """ game_time: String """ Official MLB gamePk from statsapi.mlb.com """ league_game_id: Int home_team_id: BigInt away_team_id: BigInt """ R=Regular, S=Spring, F=Wild Card, D=Division, L=League, W=World Series, E=Exhibition, A=All-Star """ game_type: String """ Final, Live, Scheduled, Postponed, Suspended, Cancelled """ status: String end_time: String """ Canonical season phase. Postseason round detail (Wild Card/Division/LCS/World Series) is in the league-native `game_type` code. """ season_type: String day: Int venue_id: BigInt channel: String attendance: Int away_team_score: Int home_team_score: Int neutral_venue: Boolean series_name: String if_necessary: Boolean series_game_number: String game_label: String series_text: String postponed_status: String doubleheader: Boolean """ For doubleheaders: 1 or 2 """ game_number: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Winning pitcher of record """ winning_pitcher_id: BigInt """ Losing pitcher of record """ losing_pitcher_id: BigInt """ Save pitcher (if any) """ save_pitcher_id: BigInt """ Total game duration in minutes """ duration_minutes: Int """ D=Day, N=Night """ day_night: String """ The mlb.teams row referenced by `away_team_id`; null when unlinked. """ away_team: MLBTeams """ The mlb.teams row referenced by `home_team_id`; null when unlinked. """ home_team: MLBTeams """ The mlb.players row referenced by `losing_pitcher_id`; null when unlinked. """ losing_pitcher: MLBPlayers """ The mlb.players row referenced by `save_pitcher_id`; null when unlinked. """ save_pitcher: MLBPlayers """ The mlb.seasons row referenced by `season_id`; null when unlinked. """ season: MLBSeasons """ The mlb.venues row referenced by `venue_id`; null when unlinked. """ venue: MLBVenues """ The mlb.players row referenced by `winning_pitcher_id`; null when unlinked. """ winning_pitcher: MLBPlayers """ mlb.at_bats rows whose `game_id` references this row. """ at_bats( """ Page size (default 50, max 500). """ first: Int ): [MLBAtBats!]! """ mlb.game_lines rows whose `game_id` references this row. """ game_lines( """ Page size (default 50, max 500). """ first: Int ): [MLBGameLines!]! """ mlb.game_player_batter_stats rows whose `game_id` references this row. """ game_player_batter_stats( """ Page size (default 50, max 500). """ first: Int ): [MLBGamePlayerBatterStats!]! """ mlb.game_player_pitching_stats rows whose `game_id` references this row. """ game_player_pitching_stats( """ Page size (default 50, max 500). """ first: Int ): [MLBGamePlayerPitchingStats!]! """ mlb.game_team_rosters rows whose `game_id` references this row. """ game_team_rosters( """ Page size (default 50, max 500). """ first: Int ): [MLBGameTeamRosters!]! """ mlb.game_team_stats rows whose `game_id` references this row. """ game_team_stats( """ Page size (default 50, max 500). """ first: Int ): [MLBGameTeamStats!]! """ mlb.game_umpires rows whose `game_id` references this row. """ game_umpires( """ Page size (default 50, max 500). """ first: Int ): [MLBGameUmpires!]! """ mlb.game_weathers rows whose `game_id` references this row. """ game_weathers( """ Page size (default 50, max 500). """ first: Int ): [MLBGameWeathers!]! """ mlb.innings rows whose `game_id` references this row. """ innings( """ Page size (default 50, max 500). """ first: Int ): [MLBInnings!]! """ mlb.pitches rows whose `game_id` references this row. """ pitches( """ Page size (default 50, max 500). """ first: Int ): [MLBPitches!]! """ mlb.play_by_plays rows whose `game_id` references this row. """ play_by_plays( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayByPlays!]! """ mlb.player_news rows whose `game_id` references this row. """ player_news( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayerNews!]! """ mlb.team_starting_lineups rows whose `game_id` references this row. """ team_starting_lineups( """ Page size (default 50, max 500). """ first: Int ): [MLBTeamStartingLineups!]! } """ Each half-inning of every MLB game — runs scored, hits, errors, base traffic, plate appearances, who pitched, and how the offense ended each frame. """ type MLBInnings { """ Primary Key """ id: BigInt game_id: BigInt inning_number: Int inning_half: String home_team_runs: Int away_team_runs: Int home_team_hits: Int away_team_hits: Int home_team_errors: Int away_team_errors: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.games row referenced by `game_id`; null when unlinked. """ game: MLBGames """ mlb.at_bats rows whose `inning_id` references this row. """ at_bats( """ Page size (default 50, max 500). """ first: Int ): [MLBAtBats!]! """ mlb.play_by_plays rows whose `inning_id` references this row. """ play_by_plays( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayByPlays!]! } """ How each sportsbook and fantasy operator names every MLB player — the mapping from each operator's player identifier to a unified player record. """ type MLBOperatorPlayerLookups { """ Primary Key """ id: BigInt """ Operator id: 1 DraftKings, 2 FanDuel, 3 Yahoo, 13 sportsdata.io. """ operator_id: BigInt """ External player ID from operator """ operator_player_id: String """ Internal mlb.players.id reference """ player_id: BigInt """ Player name for reconciliation """ player_name: String """ Position for reconciliation """ position: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ How this mapping was decided: 'derived' (finder answer, overwritable), 'pinned' (decided on evidence, trigger-protected), 'blocked' (no player we hold is this id; player_id NULL, never retried). DB default 'derived'; a BEFORE UPDATE trigger preserves non-derived rows. """ decision: String """ Evidence behind a pinned or blocked decision. """ decided_reason: String """ When the pin or block was decided. """ decided_at: String """ The main.operators row referenced by `operator_id`; null when unlinked. """ operator: ReferenceOperators """ The mlb.players row referenced by `player_id`; null when unlinked. """ player: MLBPlayers } """ How each MLB ballpark inflates or suppresses run-scoring categories — runs, home runs, doubles, triples, and batting average relative to a neutral park, computed per season. """ type MLBParkFactors { """ Primary Key """ id: BigInt venue_id: BigInt season_id: BigInt """ Park factor for home runs (1.0 = neutral) """ home_run_factor: Float """ Park factor for singles """ single_factor: Float """ Park factor for doubles """ double_factor: Float """ Park factor for triples """ triple_factor: Float """ Park factor for walks """ walk_factor: Float """ Park factor for strikeouts """ strikeout_factor: Float """ Park factor for left-handed batters """ left_handed_factor: Float """ Park factor for right-handed batters """ right_handed_factor: Float """ Overall park factor for runs (1.0 = neutral) """ basic_park_factor: Float """ Park effect on handedness advantage """ handedness_factor: Float """ Number of years used to calculate factors """ years_of_data: Int updated_date: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Park factor for fly balls """ fly_ball_factor: Float """ Park factor for ground balls """ ground_ball_factor: Float """ Park factor for total runs """ run_factor: Float """ The mlb.seasons row referenced by `season_id`; null when unlinked. """ season: MLBSeasons """ The mlb.venues row referenced by `venue_id`; null when unlinked. """ venue: MLBVenues } """ Every individual pitch thrown in every MLB game — the pitch type, velocity, location, movement, spin, and the result (called strike, swinging strike, foul, ball, hit, walk). """ type MLBPitches { """ Primary Key """ id: BigInt play_id: BigInt game_id: BigInt pitcher_id: BigInt batter_id: BigInt at_bat_id: BigInt pitch_number: Int pitch_type: String pitch_speed: Float pitch_zone: Int strike_zone_top: Float strike_zone_bottom: Float pitch_x: Float pitch_y: Float pitch_z: Float plate_x: Float plate_z: Float extension: Float break_angle: Float break_length: Float break_y: Float spin_rate: Float spin_direction: Float result: String call: String strike: Boolean ball: Boolean in_play: Boolean """ Whether this pitch resulted in a single """ single: Boolean """ Whether this pitch resulted in a double """ double: Boolean """ Whether this pitch resulted in a triple """ triple: Boolean """ Whether this pitch resulted in a home run """ home_run: Boolean """ Whether this pitch resulted in a walk """ walk: Boolean """ Whether this pitch resulted in a strikeout """ strikeout: Boolean """ Whether this pitch resulted in hit by pitch """ hit_by_pitch: Boolean """ Whether this pitch resulted in a sacrifice bunt """ sacrifice_hit: Boolean """ Whether this pitch resulted in a sacrifice fly """ sacrifice_fly: Boolean """ Whether this pitch resulted in an intentional walk """ intentional_walk: Boolean """ Whether this pitch resulted in grounding into double play """ ground_into_double_play: Boolean """ Whether this pitch resulted in grounding into triple play """ ground_into_triple_play: Boolean """ Whether this pitch resulted in a fly out """ fly_out: Boolean """ Whether this pitch resulted in a ground out """ ground_out: Boolean """ Whether this pitch resulted in a line out """ line_out: Boolean """ Whether this pitch resulted in a pop out """ pop_out: Boolean """ Whether this pitch resulted in an air out """ air_out: Boolean """ Whether this pitch resulted in catchers interference """ catchers_interference: Boolean """ Exit velocity of batted ball (mph) """ hit_exit_velocity: Float """ Launch angle of batted ball (degrees) """ hit_launch_angle: Float """ Distance of batted ball (feet) """ hit_distance: Int """ Hit coordinate X (feet from home plate) """ hit_coord_x: Float """ Hit coordinate Y (feet from home plate) """ hit_coord_y: Float """ Horizontal angle from center field (degrees) """ spray_angle: Float """ Exit velocity >= 95 MPH """ hard_hit: Boolean """ Optimal combination of exit velocity and launch angle """ barrel: Boolean """ Launch angle between 8-32 degrees """ sweet_spot: Boolean """ Launch angle less than 10 degrees """ under: Boolean """ Launch angle < 10 AND exit velocity < 90 """ topped: Boolean """ Launch angle 10-25 AND exit velocity < 95 """ flare_burner: Boolean """ Launch angle 20-25 AND exit velocity 95-100 """ solid_contact: Boolean """ xBA based on exit velocity and launch angle """ expected_batting_avg: Float """ xwOBA based on exit velocity and launch angle """ expected_woba: Float """ 1=Weak, 2=Topped, 3=Under, 4=Flare/Burner, 5=Solid, 6=Barrel """ launch_speed_angle_zone: Int """ Statcast data quality score (0.0-1.0) """ statcast_quality_score: Float """ Confidence in tracking data accuracy """ tracking_confidence: Float """ Whether pitch was in the strike zone """ in_strike_zone: Boolean """ Whether batter swung at pitch outside zone """ chase: Boolean """ Fastball variant (4-seam, 2-seam, sinker, cutter) """ fastball: Boolean """ Breaking ball (curveball, slider, knuckleball) """ breaking_ball: Boolean """ Offspeed pitch (changeup, splitter, forkball) """ offspeed: Boolean """ Spin axis (degrees) """ spin_axis: Float """ Speed at release point (mph) """ release_speed: Float """ Perceived speed to batter (mph) """ effective_speed: Float """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Wall-clock time of the pitch (statsapi playEvents startTime) """ start_time: String """ The mlb.at_bats row referenced by `at_bat_id`; null when unlinked. """ at_bat: MLBAtBats """ The mlb.players row referenced by `batter_id`; null when unlinked. """ batter: MLBPlayers """ The mlb.games row referenced by `game_id`; null when unlinked. """ game: MLBGames """ The mlb.players row referenced by `pitcher_id`; null when unlinked. """ pitcher: MLBPlayers """ The mlb.play_by_plays row referenced by `play_id`; null when unlinked. """ play: MLBPlayByPlays } """ Every individual play of every MLB game — every plate appearance, baserunning event, defensive play, and substitution with the inning, outs, base state, and score at the moment. """ type MLBPlayByPlays { """ Primary Key """ id: BigInt play_id: BigInt mlb_event_num: Int game_id: BigInt inning_id: BigInt player_id: BigInt team_id: BigInt event_type: Int event_sub_type: Int count_balls: Int count_strikes: Int outs: Int runners_on_base: Int pitcher_id: BigInt batter_id: BigInt catcher_id: BigInt first_base_runner_id: BigInt second_base_runner_id: BigInt third_base_runner_id: BigInt hit_location: String hit_type: String at_bat_id: BigInt """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Wall-clock start of the play (statsapi about.startTime) """ start_time: String """ Wall-clock end of the play (statsapi about.endTime) """ end_time: String home_score: Int away_score: Int """ The mlb.at_bats row referenced by `at_bat_id`; null when unlinked. """ at_bat: MLBAtBats """ The mlb.players row referenced by `batter_id`; null when unlinked. """ batter: MLBPlayers """ The mlb.players row referenced by `catcher_id`; null when unlinked. """ catcher: MLBPlayers """ The mlb.players row referenced by `first_base_runner_id`; null when unlinked. """ first_base_runner: MLBPlayers """ The mlb.games row referenced by `game_id`; null when unlinked. """ game: MLBGames """ The mlb.innings row referenced by `inning_id`; null when unlinked. """ inning: MLBInnings """ The mlb.players row referenced by `pitcher_id`; null when unlinked. """ pitcher: MLBPlayers """ The mlb.players row referenced by `player_id`; null when unlinked. """ player: MLBPlayers """ The mlb.players row referenced by `second_base_runner_id`; null when unlinked. """ second_base_runner: MLBPlayers """ The mlb.teams row referenced by `team_id`; null when unlinked. """ team: MLBTeams """ The mlb.players row referenced by `third_base_runner_id`; null when unlinked. """ third_base_runner: MLBPlayers """ mlb.pitches rows whose `play_id` references this row. """ pitches( """ Page size (default 50, max 500). """ first: Int ): [MLBPitches!]! } """ MLB player awards — MVP, Cy Young, Rookie of the Year, Gold Gloves, Silver Sluggers, All-Star selections, and other end-of-season honors. """ type MLBPlayerAwards { """ Primary Key """ id: BigInt player_id: BigInt season_id: BigInt award_type: String """ statsapi publishes recipients (winners) only — always true """ is_winner: Boolean """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String award_name: String """ Date the award was announced """ award_date: String team_id: BigInt """ The mlb.players row referenced by `player_id`; null when unlinked. """ player: MLBPlayers """ The mlb.seasons row referenced by `season_id`; null when unlinked. """ season: MLBSeasons """ The mlb.teams row referenced by `team_id`; null when unlinked. """ team: MLBTeams } """ The ongoing injury record for each MLB player — body part, severity, IL designation (10-day, 15-day, 60-day), and expected return timeline. """ type MLBPlayerInjuries { """ Primary Key """ id: BigInt player_id: BigInt team_id: BigInt season_id: BigInt start_date: String end_date: String status: String body_part: String injury_type: String side: String description: String is_surgery_required: Boolean expected_return_date: String games_missed: Int updated_date: String source: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.players row referenced by `player_id`; null when unlinked. """ player: MLBPlayers """ The mlb.seasons row referenced by `season_id`; null when unlinked. """ season: MLBSeasons """ The mlb.teams row referenced by `team_id`; null when unlinked. """ team: MLBTeams } """ News about MLB players — trades, IL placements, lineup decisions, suspensions, and general beat-reporter updates, unified from beat-writer scrapers, operator feeds, and AI summarization. """ type MLBPlayerNews { """ Primary Key """ id: BigInt """ Player ID associated with the news report. """ player_id: BigInt """ Team ID of the player at the time of publication. """ team_id: BigInt """ Headline of the news report. """ title: String """ Brief synopsis or summary of the news event. """ description: String """ Fantasy and tactical analysis of the news. """ analysis: String """ News source identifier (cbs, espn, rotoworld, sportsdata, etc.) """ source: String """ URL link to the original article or source video. """ link: String """ Publication timestamp of the news story. """ news_time: String """ Display priority score (1-10). """ priority: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Whether this story was generated or enriched via LLM summarization. """ ai_processed: Boolean """ Structured situational impact assessment and fantasy implications for the player. """ situational_impact: JSON """ Full text content of the news report. """ content: String """ Reporter or author of the article. """ author: String """ injury, transaction, lineup, general """ category: String """ Source-specific unique identifier """ external_id: String """ Timestamp when the story was processed. """ processed_at: String """ Standardized player status designation (RULED_OUT, DOUBTFUL, QUESTIONABLE, PROBABLE, CLEARED, MINUTES_LIMIT, MINUTES_LIFTED, STARTING, BENCHED, INACTIVE, ACTIVE, IR_PLACED, IR_ACTIVATED, TRADED, RELEASED, SIGNED, ROUTINE). """ status_enum: String """ Urgency level of the news event (BREAKING_GAME_TIME, HIGH, MEDIUM, ROUTINE). """ urgency: String """ Source citations with source name, URL, author, and published timestamp. """ sources: JSON """ Timestamp when this story was first reported before multi-source compaction. """ first_reported_at: String """ Opponent team ID when this news item relates to an upcoming or active game matchup. """ opponent_team_id: BigInt """ Associated game ID when this news item relates to a specific game. """ game_id: BigInt """ The mlb.games row referenced by `game_id`; null when unlinked. """ game: MLBGames """ The mlb.teams row referenced by `opponent_team_id`; null when unlinked. """ opponent_team: MLBTeams """ The mlb.players row referenced by `player_id`; null when unlinked. """ player: MLBPlayers """ The mlb.teams row referenced by `team_id`; null when unlinked. """ team: MLBTeams } """ Every individual who has played in Major League Baseball — current 26-man and 40-man rosters, minor-league call-ups, players on the injured list, free agents, and retired players. """ type MLBPlayers { """ Primary Key """ id: BigInt """ Official MLB player identifier """ league_id: String first_name: String last_name: String full_name: String jersey: String """ Official MLB player ID from statsapi.mlb.com """ league_player_id: Int primary_position: String full_position_list: String team_id: BigInt league_slug: String position_category: String height: Int weight: Int birth_date: String birth_city: String birth_state: String birth_country: String school: String debut_date: String display_last_comma_first: String display_fi_last: String bats: String throws: String draft_year: String draft_round: String draft_number: String """ Canonical roster status, shared across leagues. Derived from team_player_rosters: "active" (26-man), "non_roster" (on the 40-man but optioned), "injured_reserve" (IL); "inactive"/"free_agent" off-roster. The "on a team now" set is {active, injured_reserve, non_roster}. """ roster_status: String """ URL to player profile picture image """ profile_pic_url: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.teams row referenced by `team_id`; null when unlinked. """ team: MLBTeams """ mlb.at_bats rows whose `batter_id` references this row. """ at_bats_by_batter_id( """ Page size (default 50, max 500). """ first: Int ): [MLBAtBats!]! """ mlb.at_bats rows whose `pitcher_id` references this row. """ at_bats_by_pitcher_id( """ Page size (default 50, max 500). """ first: Int ): [MLBAtBats!]! """ mlb.game_player_batter_stats rows whose `player_id` references this row. """ game_player_batter_stats( """ Page size (default 50, max 500). """ first: Int ): [MLBGamePlayerBatterStats!]! """ mlb.game_player_pitching_stats rows whose `player_id` references this row. """ game_player_pitching_stats( """ Page size (default 50, max 500). """ first: Int ): [MLBGamePlayerPitchingStats!]! """ mlb.game_team_rosters rows whose `player_id` references this row. """ game_team_rosters( """ Page size (default 50, max 500). """ first: Int ): [MLBGameTeamRosters!]! """ mlb.games rows whose `losing_pitcher_id` references this row. """ games_by_losing_pitcher_id( """ Page size (default 50, max 500). """ first: Int ): [MLBGames!]! """ mlb.games rows whose `save_pitcher_id` references this row. """ games_by_save_pitcher_id( """ Page size (default 50, max 500). """ first: Int ): [MLBGames!]! """ mlb.games rows whose `winning_pitcher_id` references this row. """ games_by_winning_pitcher_id( """ Page size (default 50, max 500). """ first: Int ): [MLBGames!]! """ mlb.operator_player_lookups rows whose `player_id` references this row. """ operator_player_lookups( """ Page size (default 50, max 500). """ first: Int ): [MLBOperatorPlayerLookups!]! """ mlb.pitches rows whose `batter_id` references this row. """ pitches_by_batter_id( """ Page size (default 50, max 500). """ first: Int ): [MLBPitches!]! """ mlb.pitches rows whose `pitcher_id` references this row. """ pitches_by_pitcher_id( """ Page size (default 50, max 500). """ first: Int ): [MLBPitches!]! """ mlb.play_by_plays rows whose `batter_id` references this row. """ play_by_plays_by_batter_id( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayByPlays!]! """ mlb.play_by_plays rows whose `catcher_id` references this row. """ play_by_plays_by_catcher_id( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayByPlays!]! """ mlb.play_by_plays rows whose `first_base_runner_id` references this row. """ play_by_plays_by_first_base_runner_id( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayByPlays!]! """ mlb.play_by_plays rows whose `pitcher_id` references this row. """ play_by_plays_by_pitcher_id( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayByPlays!]! """ mlb.play_by_plays rows whose `player_id` references this row. """ play_by_plays_by_player_id( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayByPlays!]! """ mlb.play_by_plays rows whose `second_base_runner_id` references this row. """ play_by_plays_by_second_base_runner_id( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayByPlays!]! """ mlb.play_by_plays rows whose `third_base_runner_id` references this row. """ play_by_plays_by_third_base_runner_id( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayByPlays!]! """ mlb.player_awards rows whose `player_id` references this row. """ player_awards( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayerAwards!]! """ mlb.player_injuries rows whose `player_id` references this row. """ player_injuries( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayerInjuries!]! """ mlb.player_news rows whose `player_id` references this row. """ player_news( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayerNews!]! """ mlb.season_player_stats rows whose `player_id` references this row. """ season_player_stats( """ Page size (default 50, max 500). """ first: Int ): [MLBSeasonPlayerStats!]! """ mlb.team_player_rosters rows whose `player_id` references this row. """ team_player_rosters( """ Page size (default 50, max 500). """ first: Int ): [MLBTeamPlayerRosters!]! """ mlb.team_starting_lineup_batters rows whose `player_id` references this row. """ team_starting_lineup_batters( """ Page size (default 50, max 500). """ first: Int ): [MLBTeamStartingLineupBatters!]! """ mlb.team_starting_lineups rows whose `pitcher_id` references this row. """ team_starting_lineups( """ Page size (default 50, max 500). """ first: Int ): [MLBTeamStartingLineups!]! } """ The MLB postseason bracket — Wild Card Series, Division Series, League Championship Series, and the World Series, tracked as the seeded matchups and outcomes. """ type MLBPlayoffs { """ Primary Key """ id: BigInt season_id: BigInt series_id: BigInt series_name: String home_team_id: BigInt away_team_id: BigInt home_team_wins: Int away_team_wins: Int games_played: Int max_games: Int status: String series_text: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.teams row referenced by `away_team_id`; null when unlinked. """ away_team: MLBTeams """ The mlb.teams row referenced by `home_team_id`; null when unlinked. """ home_team: MLBTeams """ The mlb.seasons row referenced by `season_id`; null when unlinked. """ season: MLBSeasons } type MLBQuery { """ Every plate appearance in every MLB game — the batter, the pitcher, the count, the pitch sequence, and the outcome (single, double, home run, strikeout, walk, hit-by-pitch, etc.). Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ at_bats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int ): [MLBAtBats!]! """ MLB game betting lines — moneylines, run lines (the baseball point-spread equivalent), and over/under totals from sportsbooks, captured over time as the lines move from opening to closing. In MLB, spread = run line (typically +/- 1.5). Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_lines( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int ): [MLBGameLines!]! """ Each batter's box-score stat line for each MLB game — at-bats, hits, doubles, triples, home runs, RBIs, walks, strikeouts, stolen bases, and runs scored. Requires at least one of these filter sets: `game_id` | `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_player_batter_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter to a single player. """ player_id: Int ): [MLBGamePlayerBatterStats!]! """ Each pitcher's box-score stat line for each MLB game — innings pitched, hits and runs allowed, earned runs, walks, strikeouts, home runs allowed, and pitches thrown. Requires at least one of these filter sets: `game_id` | `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_player_pitching_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter to a single player. """ player_id: Int ): [MLBGamePlayerPitchingStats!]! """ The active gameday roster for each MLB team in each game — the 26 players in uniform that day, with positions and any pre-game lineup designations. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_team_rosters( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int ): [MLBGameTeamRosters!]! """ Each MLB team's stat line for each game — runs, hits, errors, batting averages, pitching lines, broken out per game with home/away context. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_team_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by team. """ team_id: Int ): [MLBGameTeamStats!]! """ The umpiring crew assigned to each MLB game — who worked home plate, who worked each base. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_umpires( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int ): [MLBGameUmpires!]! """ On-field weather throughout each MLB game — temperature, wind direction and speed, humidity, and precipitation captured at fixed intervals from first pitch. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_weathers( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by venue. """ venue_id: Int ): [MLBGameWeathers!]! """ Every scheduled and played MLB game — spring training exhibitions, the 162-game regular season, the Wild Card Series, the Division and Championship Series, and the World Series. Requires at least one of these filter sets: `season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ games( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a season. Defaults to the current season. """ season_id: Int, """ Filter by home team. """ home_team_id: Int, """ Filter by away team. """ away_team_id: Int, """ Filter by game status. """ status: String, """ Filter by calendar day (YYYYMMDD integer, US Eastern) — e.g. day=20260609 for today's slate. season_id defaults to the current season; pass it explicitly for past-season days. """ day: Int, """ `gte` comparison on `day`. """ day__gte: Int, """ `lte` comparison on `day`. """ day__lte: Int, """ Range filter on `day` — pass "lo,hi". """ day__between: String ): [MLBGames!]! """ Each half-inning of every MLB game — runs scored, hits, errors, base traffic, plate appearances, who pitched, and how the offense ended each frame. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ innings( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int ): [MLBInnings!]! """ How each sportsbook and fantasy operator names every MLB player — the mapping from each operator's player identifier to a unified player record. Requires at least one of these filter sets: `operator_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ operator_player_lookups( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by operator. """ operator_id: Int ): [MLBOperatorPlayerLookups!]! """ How each MLB ballpark inflates or suppresses run-scoring categories — runs, home runs, doubles, triples, and batting average relative to a neutral park, computed per season. Requires at least one of these filter sets: `venue_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ park_factors( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by venue. """ venue_id: Int, """ Filter to a season. """ season_id: Int ): [MLBParkFactors!]! """ Every individual pitch thrown in every MLB game — the pitch type, velocity, location, movement, spin, and the result (called strike, swinging strike, foul, ball, hit, walk). Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ pitches( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int ): [MLBPitches!]! """ Every individual play of every MLB game — every plate appearance, baserunning event, defensive play, and substitution with the inning, outs, base state, and score at the moment. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ play_by_plays( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int ): [MLBPlayByPlays!]! """ MLB player awards — MVP, Cy Young, Rookie of the Year, Gold Gloves, Silver Sluggers, All-Star selections, and other end-of-season honors. Requires at least one of these filter sets: `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ player_awards( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single player. """ player_id: Int, """ Filter to a season. """ season_id: Int ): [MLBPlayerAwards!]! """ The ongoing injury record for each MLB player — body part, severity, IL designation (10-day, 15-day, 60-day), and expected return timeline. Requires at least one of these filter sets: `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ player_injuries( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single player. """ player_id: Int, """ Filter by team. """ team_id: Int ): [MLBPlayerInjuries!]! """ News about MLB players — trades, IL placements, lineup decisions, suspensions, and general beat-reporter updates, unified from beat-writer scrapers, operator feeds, and AI summarization. Requires at least one of these filter sets: `player_id` | `team_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ player_news( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single player. """ player_id: Int, """ Filter by team. """ team_id: Int, """ Filter by news category (injury, transaction, lineup, general, depth_chart, suspension, contract, performance). """ category: String, """ Filter by player status designation. """ status_enum: String, """ Filter by news urgency. """ urgency: String, """ Filter by publication time (ISO 8601). Use news_time__gte to poll for items since your last check. """ news_time: String, """ `gte` comparison on `news_time`. """ news_time__gte: String, """ `lte` comparison on `news_time`. """ news_time__lte: String, """ Range filter on `news_time` — pass "lo,hi". """ news_time__between: String ): [MLBPlayerNews!]! """ Every individual who has played in Major League Baseball — current 26-man and 40-man rosters, minor-league call-ups, players on the injured list, free agents, and retired players. Requires at least one of these filter sets: `team_id` | `roster_status`. Metered by rows resolved across all nested lists — the same record unit as REST. """ players( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to players whose current team_id matches. Null team_id rows (free agents, retired) are excluded when this filter is applied. """ team_id: Int, """ Filter by canonical roster status. The "on a team now" set is {active, injured_reserve, non_roster} (active 26-man, injured list, and 40-man-but-optioned); free_agent/retired/inactive are off-roster. """ roster_status: String ): [MLBPlayers!]! """ The MLB postseason bracket — Wild Card Series, Division Series, League Championship Series, and the World Series, tracked as the seeded matchups and outcomes. Metered by rows resolved across all nested lists — the same record unit as REST. """ playoffs( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt ): [MLBPlayoffs!]! """ Season totals for each MLB player — the full batting line (AVG, OBP, SLG, OPS), counting stats (HR, RBI, SB, R), and pitching line (W, L, ERA, WHIP, K, BB). Advanced run-value metrics (wRC+, FIP, WAR) are not carried here. Scope is not split by season type. Requires at least one of these filter sets: `season_id` | `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ season_player_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a season. Defaults to the current season. """ season_id: Int, """ Filter to a single player. """ player_id: Int ): [MLBSeasonPlayerStats!]! """ League-wide offensive context per MLB season — average runs per game, league batting line, ERA, and the offensive baseline used to normalize player and team stats across eras. Requires at least one of these filter sets: `season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ season_run_environments( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a season. Defaults to the current season. """ season_id: Int ): [MLBSeasonRunEnvironments!]! """ Season totals for each MLB team — wins and losses, runs scored and allowed, batting and pitching aggregates, fielding stats, and advanced team metrics (BaseRuns, pythagorean expectation, run differential). Requires at least one of these filter sets: `season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ season_team_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a season. Defaults to the current season. """ season_id: Int, """ Filter by team. """ team_id: Int ): [MLBSeasonTeamStats!]! """ Each MLB season — spring training, the 162-game regular season, the Wild Card Series, the Division Series, the League Championship Series, and the World Series. Metered by rows resolved across all nested lists — the same record unit as REST. """ seasons( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt ): [MLBSeasons!]! """ Day-by-day player-to-team affiliations across the MLB season — who was on each 40-man roster, who was on the IL, who was optioned to the minors, and who was designated for assignment. Requires at least one of these filter sets: `team_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ team_player_rosters( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by team. """ team_id: Int ): [MLBTeamPlayerRosters!]! """ Each batter in each MLB starting lineup — position in the order (1 through 9), defensive position, and batting handedness for the day. Requires at least one of these filter sets: `team_starting_lineup_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ team_starting_lineup_batters( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single starting lineup. """ team_starting_lineup_id: Int ): [MLBTeamStartingLineupBatters!]! """ Each MLB team's starting lineup for each game — the nine batters in batting order plus the starting pitcher (and DH where applicable). Requires at least one of these filter sets: `team_id` | `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ team_starting_lineups( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by team. """ team_id: Int, """ Filter to a single game. """ game_id: Int ): [MLBTeamStartingLineups!]! """ The 30 MLB franchises, organized into the American and National Leagues with three divisions in each. Metered by rows resolved across all nested lists — the same record unit as REST. """ teams( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by active status (defaults to true to show only currently-active rows; pass active=false to include inactive). """ active: Boolean ): [MLBTeams!]! """ MLB umpires — the four-person crew of home-plate, first-base, second-base, and third-base umpires who work each game (six in the postseason with outfield umpires added). Metered by rows resolved across all nested lists — the same record unit as REST. """ umpires( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by active status (defaults to true to show only currently-active rows; pass active=false to include inactive). """ active: Boolean ): [MLBUmpires!]! """ Outfield dimensions and wall heights for each MLB ballpark — distances to left field, center field, right field, and the power alleys, plus the height of the outfield walls. Requires at least one of these filter sets: `venue_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ venue_dimensions( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by venue. """ venue_id: Int ): [MLBVenueDimensions!]! """ MLB ballparks — current home stadiums and historical venues, with dimensions, surface, capacity, and roof type. Metered by rows resolved across all nested lists — the same record unit as REST. """ venues( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt ): [MLBVenues!]! """ The weighted on-base average coefficients for each MLB season — the run values assigned to walks, singles, doubles, triples, and home runs, used to compute wOBA and wRC+. Metered by rows resolved across all nested lists — the same record unit as REST. """ woba_weights( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt ): [MLBWobaWeights!]! } """ Season totals for each MLB player — the full batting line (AVG, OBP, SLG, OPS), counting stats (HR, RBI, SB, R), and pitching line (W, L, ERA, WHIP, K, BB). Advanced run-value metrics (wRC+, FIP, WAR) are not carried here. Scope is not split by season type. """ type MLBSeasonPlayerStats { """ Primary Key """ id: BigInt player_id: BigInt season_id: BigInt games_played: Int games_started: Int at_bats: Int plate_appearances: Int hits: Int doubles: Int triples: Int home_runs: Int runs: Int runs_batted_in: Int stolen_bases: Int caught_stealing: Int walks: Int strikeouts: Int hit_by_pitch: Int sacrifice_hits: Int sacrifice_flies: Int grounded_into_double_play: Int batting_average: Float on_base_percentage: Float slugging_percentage: Float on_base_plus_slugging: Float wins: Int losses: Int games_pitched: Int games_started_pitching: Int complete_games: Int shutouts: Int saves: Int save_opportunities: Int holds: Int blown_saves: Int """ Innings pitched in MLB notation (6.2 = 6 and 2/3 innings) """ innings_pitched: Float hits_allowed: Int runs_allowed: Int earned_runs: Int walks_allowed: Int strikeouts_pitched: Int home_runs_allowed: Int batters_faced: Int earned_run_average: Float whip: Float strikeouts_per_nine: Float walks_per_nine: Float hits_per_nine: Float home_runs_per_nine: Float fielding_position: String fielding_games: Int fielding_games_started: Int total_chances: Int putouts: Int assists: Int errors: Int double_plays: Int fielding_percentage: Float passed_balls: Int stolen_bases_allowed: Int caught_stealing_by: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Derivable from hits - doubles - triples - home_runs """ singles: Int """ Derivable: 1B + 2*2B + 3*3B + 4*HR """ total_bases: Int intentional_walks: Int left_on_base: Int pitches_thrown: Int strikes: Int balls: Int quality_starts: Int """ The mlb.players row referenced by `player_id`; null when unlinked. """ player: MLBPlayers """ The mlb.seasons row referenced by `season_id`; null when unlinked. """ season: MLBSeasons } """ League-wide offensive context per MLB season — average runs per game, league batting line, ERA, and the offensive baseline used to normalize player and team stats across eras. """ type MLBSeasonRunEnvironments { """ Primary Key """ id: BigInt season_id: BigInt """ League average runs per plate appearance """ runs_per_plate_appearance: Float """ League average runs per out made """ runs_per_out: Float """ League average HR/FB rate """ home_run_per_fly_ball: Float """ League average BABIP """ batting_average_on_balls_in_play: Float """ League average strikeout rate """ strikeout_rate: Float """ League average walk rate """ walk_rate: Float """ FIP constant to scale FIP to ERA """ fip_constant: Float updated_date: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.seasons row referenced by `season_id`; null when unlinked. """ season: MLBSeasons } """ Season totals for each MLB team — wins and losses, runs scored and allowed, batting and pitching aggregates, fielding stats, and advanced team metrics (BaseRuns, pythagorean expectation, run differential). """ type MLBSeasonTeamStats { """ Primary Key """ id: BigInt team_id: BigInt season_id: BigInt games_played: Int wins: Int losses: Int ties: Int runs_scored: Int runs_allowed: Int at_bats: Int hits: Int doubles: Int triples: Int home_runs: Int runs_batted_in: Int stolen_bases: Int caught_stealing: Int walks: Int strikeouts: Int batting_average: Float on_base_percentage: Float slugging_percentage: Float on_base_plus_slugging: Float """ Innings pitched in MLB notation (6.2 = 6 and 2/3 innings) """ innings_pitched: Float earned_runs: Int earned_run_average: Float whip: Float complete_games: Int shutouts: Int saves: Int save_opportunities: Int holds: Int blown_saves: Int errors: Int fielding_percentage: Float double_plays: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.seasons row referenced by `season_id`; null when unlinked. """ season: MLBSeasons """ The mlb.teams row referenced by `team_id`; null when unlinked. """ team: MLBTeams } """ Each MLB season — spring training, the 162-game regular season, the Wild Card Series, the Division Series, the League Championship Series, and the World Series. """ type MLBSeasons { """ Primary Key """ id: BigInt """ Official MLB season identifier """ league_id: String start_date: String end_date: String start_year: Int regular_season_start_date: String post_season_start_date: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ mlb.game_lines rows whose `season_id` references this row. """ game_lines( """ Page size (default 50, max 500). """ first: Int ): [MLBGameLines!]! """ mlb.games rows whose `season_id` references this row. """ games( """ Page size (default 50, max 500). """ first: Int ): [MLBGames!]! """ mlb.park_factors rows whose `season_id` references this row. """ park_factors( """ Page size (default 50, max 500). """ first: Int ): [MLBParkFactors!]! """ mlb.player_awards rows whose `season_id` references this row. """ player_awards( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayerAwards!]! """ mlb.player_injuries rows whose `season_id` references this row. """ player_injuries( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayerInjuries!]! """ mlb.playoffs rows whose `season_id` references this row. """ playoffs( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayoffs!]! """ mlb.season_player_stats rows whose `season_id` references this row. """ season_player_stats( """ Page size (default 50, max 500). """ first: Int ): [MLBSeasonPlayerStats!]! """ mlb.season_run_environments rows whose `season_id` references this row. """ season_run_environments( """ Page size (default 50, max 500). """ first: Int ): [MLBSeasonRunEnvironments!]! """ mlb.season_team_stats rows whose `season_id` references this row. """ season_team_stats( """ Page size (default 50, max 500). """ first: Int ): [MLBSeasonTeamStats!]! """ mlb.team_player_rosters rows whose `season_id` references this row. """ team_player_rosters( """ Page size (default 50, max 500). """ first: Int ): [MLBTeamPlayerRosters!]! """ mlb.woba_weights rows whose `season_id` references this row. """ woba_weights( """ Page size (default 50, max 500). """ first: Int ): [MLBWobaWeights!]! } """ Day-by-day player-to-team affiliations across the MLB season — who was on each 40-man roster, who was on the IL, who was optioned to the minors, and who was designated for assignment. """ type MLBTeamPlayerRosters { """ Primary Key """ id: BigInt team_id: BigInt player_id: BigInt season_id: BigInt position: String position_group: String roster_type: String position_depth: Int day: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.players row referenced by `player_id`; null when unlinked. """ player: MLBPlayers """ The mlb.seasons row referenced by `season_id`; null when unlinked. """ season: MLBSeasons """ The mlb.teams row referenced by `team_id`; null when unlinked. """ team: MLBTeams } """ Each batter in each MLB starting lineup — position in the order (1 through 9), defensive position, and batting handedness for the day. """ type MLBTeamStartingLineupBatters { """ Primary Key """ id: BigInt team_starting_lineup_id: BigInt player_id: BigInt batting_order: String position: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.players row referenced by `player_id`; null when unlinked. """ player: MLBPlayers """ The mlb.team_starting_lineups row referenced by `team_starting_lineup_id`; null when unlinked. """ team_starting_lineup: MLBTeamStartingLineups } """ Each MLB team's starting lineup for each game — the nine batters in batting order plus the starting pitcher (and DH where applicable). """ type MLBTeamStartingLineups { """ Primary Key """ id: BigInt team_id: BigInt game_id: BigInt pitcher_id: BigInt pitcher_status: Int batter_status: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.games row referenced by `game_id`; null when unlinked. """ game: MLBGames """ The mlb.players row referenced by `pitcher_id`; null when unlinked. """ pitcher: MLBPlayers """ The mlb.teams row referenced by `team_id`; null when unlinked. """ team: MLBTeams """ mlb.team_starting_lineup_batters rows whose `team_starting_lineup_id` references this row. """ team_starting_lineup_batters( """ Page size (default 50, max 500). """ first: Int ): [MLBTeamStartingLineupBatters!]! } """ The 30 MLB franchises, organized into the American and National Leagues with three divisions in each. """ type MLBTeams { """ Primary Key """ id: BigInt abbreviation: String city: String """ Official MLB team ID from statsapi.mlb.com """ league_team_id: Int league: String division: String full_name: String name: String active: Boolean venue_id: BigInt """ URL to team logo image """ logo_url: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.venues row referenced by `venue_id`; null when unlinked. """ venue: MLBVenues """ mlb.game_player_batter_stats rows whose `team_id` references this row. """ game_player_batter_stats( """ Page size (default 50, max 500). """ first: Int ): [MLBGamePlayerBatterStats!]! """ mlb.game_player_pitching_stats rows whose `team_id` references this row. """ game_player_pitching_stats( """ Page size (default 50, max 500). """ first: Int ): [MLBGamePlayerPitchingStats!]! """ mlb.game_team_rosters rows whose `team_id` references this row. """ game_team_rosters( """ Page size (default 50, max 500). """ first: Int ): [MLBGameTeamRosters!]! """ mlb.game_team_stats rows whose `team_id` references this row. """ game_team_stats( """ Page size (default 50, max 500). """ first: Int ): [MLBGameTeamStats!]! """ mlb.games rows whose `away_team_id` references this row. """ games_by_away_team_id( """ Page size (default 50, max 500). """ first: Int ): [MLBGames!]! """ mlb.games rows whose `home_team_id` references this row. """ games_by_home_team_id( """ Page size (default 50, max 500). """ first: Int ): [MLBGames!]! """ mlb.play_by_plays rows whose `team_id` references this row. """ play_by_plays( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayByPlays!]! """ mlb.player_awards rows whose `team_id` references this row. """ player_awards( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayerAwards!]! """ mlb.player_injuries rows whose `team_id` references this row. """ player_injuries( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayerInjuries!]! """ mlb.player_news rows whose `opponent_team_id` references this row. """ player_news_by_opponent_team_id( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayerNews!]! """ mlb.player_news rows whose `team_id` references this row. """ player_news_by_team_id( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayerNews!]! """ mlb.players rows whose `team_id` references this row. """ players( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayers!]! """ mlb.playoffs rows whose `away_team_id` references this row. """ playoffs_by_away_team_id( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayoffs!]! """ mlb.playoffs rows whose `home_team_id` references this row. """ playoffs_by_home_team_id( """ Page size (default 50, max 500). """ first: Int ): [MLBPlayoffs!]! """ mlb.season_team_stats rows whose `team_id` references this row. """ season_team_stats( """ Page size (default 50, max 500). """ first: Int ): [MLBSeasonTeamStats!]! """ mlb.team_player_rosters rows whose `team_id` references this row. """ team_player_rosters( """ Page size (default 50, max 500). """ first: Int ): [MLBTeamPlayerRosters!]! """ mlb.team_starting_lineups rows whose `team_id` references this row. """ team_starting_lineups( """ Page size (default 50, max 500). """ first: Int ): [MLBTeamStartingLineups!]! } """ MLB umpires — the four-person crew of home-plate, first-base, second-base, and third-base umpires who work each game (six in the postseason with outfield umpires added). """ type MLBUmpires { """ Primary Key """ id: BigInt first_name: String last_name: String full_name: String mlb_umpire_id: Int experience: Int active: Boolean birth_date: String birth_city: String birth_state: String birth_country: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ mlb.game_umpires rows whose `umpire_id` references this row. """ game_umpires( """ Page size (default 50, max 500). """ first: Int ): [MLBGameUmpires!]! } """ Outfield dimensions and wall heights for each MLB ballpark — distances to left field, center field, right field, and the power alleys, plus the height of the outfield walls. """ type MLBVenueDimensions { """ Primary Key """ id: BigInt mlb_venue_id: Int venue_name: String year: Int venue_id: BigInt foul_territory_sq_ft: Float fair_territory_sq_ft: Float total_territory_sq_ft: Float description: String orientation: Float left_field: Float left_center_field: Float center_field: Float right_center_field: Float right_field: Float left_field_fence_height: Float right_field_fence_height: Float center_field_fence_height: Float """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Distance from home plate to backstop (feet) """ backstop_distance: Float """ Relative foul territory size (1.0 = average, >1 = large) """ foul_territory_rating: Float """ Venue altitude in feet (denormalized from venue for query convenience) """ altitude_ft: Float """ The mlb.venues row referenced by `venue_id`; null when unlinked. """ venue: MLBVenues } """ MLB ballparks — current home stadiums and historical venues, with dimensions, surface, capacity, and roof type. """ type MLBVenues { """ Primary Key """ id: BigInt name: String """ Official MLB venue ID from statsapi.mlb.com """ league_venue_id: Int longitude: Float latitude: Float """ Elevation in feet above sea level """ elevation: Float """ Field orientation in degrees (0-360). Direction home plate faces. 0/360=North, 90=East, 180=South, 270=West """ orientation: Float description: String city: String state: String country: String capacity: Int surface: String """ Open, Dome, Retractable """ roof_type: String opened_date: String closed_date: String team_name: String """ IANA timezone (e.g., America/New_York) """ timezone: String address: String """ URL to aerial/overview image of ballpark """ image_url: String """ Historical home run park factor (1.0 = neutral) """ hr_factor: Float """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ mlb.game_weathers rows whose `venue_id` references this row. """ game_weathers( """ Page size (default 50, max 500). """ first: Int ): [MLBGameWeathers!]! """ mlb.games rows whose `venue_id` references this row. """ games( """ Page size (default 50, max 500). """ first: Int ): [MLBGames!]! """ mlb.park_factors rows whose `venue_id` references this row. """ park_factors( """ Page size (default 50, max 500). """ first: Int ): [MLBParkFactors!]! """ mlb.teams rows whose `venue_id` references this row. """ teams( """ Page size (default 50, max 500). """ first: Int ): [MLBTeams!]! """ mlb.venue_dimensions rows whose `venue_id` references this row. """ venue_dimensions( """ Page size (default 50, max 500). """ first: Int ): [MLBVenueDimensions!]! } """ The weighted on-base average coefficients for each MLB season — the run values assigned to walks, singles, doubles, triples, and home runs, used to compute wOBA and wRC+. """ type MLBWobaWeights { """ Primary Key """ id: BigInt season_id: BigInt """ Weight for unintentional walks (wBB) """ walk_weight: Float """ Weight for hit by pitch (wHBP) """ hit_by_pitch_weight: Float """ Weight for singles (w1B) """ single_weight: Float """ Weight for doubles (w2B) """ double_weight: Float """ Weight for triples (w3B) """ triple_weight: Float """ Weight for home runs (wHR) """ home_run_weight: Float """ League average wOBA for the season """ league_woba: Float """ League average OBP for calibration """ league_obp: Float """ Scale factor to convert wOBA to runs """ woba_scale: Float """ When these weights were last updated """ updated_date: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The mlb.seasons row referenced by `season_id`; null when unlinked. """ season: MLBSeasons } """ Networks, regional sports networks, and streaming services that air NBA games — ESPN, TNT, ABC, NBA TV, plus team-local RSNs like YES, MSG, and Bally Sports. """ type NBABroadcasters { """ Primary Key """ id: BigInt broadcaster_scope: String broadcaster_media: String broadcaster_display: String broadcaster_abbreviation: String broadcaster_description: String tape_delay_comments: String broadcaster_video_link: String region_id: Int broadcaster_team_id: Int broadcaster_ranking: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ nba.game_broadcasters rows whose `broadcaster_id` references this row. """ game_broadcasters( """ Page size (default 50, max 500). """ first: Int ): [NBAGameBroadcasters!]! } """ NBA coaches and staff — head coaches, lead assistants, player-development coaches, and other basketball-operations staff who appear on team benches. """ type NBACoachingStaffs { """ Primary Key """ id: BigInt first_name: String last_name: String name: String """ Official NBA coach/staff ID from stats.nba.com """ coach_id: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ nba.team_coaching_staffs rows whose `coaching_staff_id` references this row. """ team_coaching_staffs( """ Page size (default 50, max 500). """ first: Int ): [NBATeamCoachingStaffs!]! } """ Which networks broadcast each NBA game — the national TV partner, home and away regional carriers, radio calls, and streaming providers. """ type NBAGameBroadcasters { """ Primary Key """ id: BigInt game_id: BigInt broadcaster_id: BigInt broadcaster_type: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nba.broadcasters row referenced by `broadcaster_id`; null when unlinked. """ broadcaster: NBABroadcasters """ The nba.games row referenced by `game_id`; null when unlinked. """ game: NBAGames } """ NBA game betting lines — point spreads, moneylines, and over/under totals from sportsbooks, captured over time as the lines move from opening to closing. """ type NBAGameLines { """ Primary Key """ id: BigInt game_id: BigInt """ Denormalized for efficient season-level queries """ season_id: BigInt """ Sportsbook id: 6 Consensus (full history); per-book ids (1 DraftKings, 2 FanDuel, 1683 Pinnacle, 1684 BetMGM, 1685 Caesars, 1686 BetRivers, 1687 ESPN BET) begin 2026-05. """ operator_id: BigInt """ Home team spread (e.g., -3.5 means home favored by 3.5) """ spread: Float """ American odds for home spread (e.g., -110) """ spread_home_odds: Int """ American odds for away spread """ spread_away_odds: Int """ American odds for home team win """ moneyline_home: Int """ American odds for away team win """ moneyline_away: Int """ Combined score total line (e.g., 224.5) """ total: Float """ American odds for over """ over_odds: Int """ American odds for under """ under_odds: Int """ Calculated from spread + total """ implied_home_score: Float implied_away_score: Float """ From moneyline, 0-1 """ implied_home_win_pct: Float implied_away_win_pct: Float """ When this snapshot was captured """ captured_at: String """ True if this is the opening line """ is_opening: Boolean """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String spread_bet_pct_home: Int spread_bet_pct_away: Int spread_money_pct_home: Int spread_money_pct_away: Int moneyline_bet_pct_home: Int moneyline_bet_pct_away: Int moneyline_money_pct_home: Int moneyline_money_pct_away: Int total_bet_pct_over: Int total_bet_pct_under: Int total_money_pct_over: Int total_money_pct_under: Int """ The nba.games row referenced by `game_id`; null when unlinked. """ game: NBAGames """ The main.operators row referenced by `operator_id`; null when unlinked. """ operator: ReferenceOperators """ The nba.seasons row referenced by `season_id`; null when unlinked. """ season: NBASeasons } """ Period-specific NBA betting lines — first-half, second-half, and individual-quarter spreads, moneylines, and totals offered alongside the full-game markets. """ type NBAGamePeriodLines { """ Primary Key """ id: BigInt game_id: BigInt """ Denormalized for efficient season-level queries """ season_id: BigInt """ Data source (consensus, DraftKings, FanDuel, etc.) """ operator_id: BigInt """ Market period code (1H, 2H, Q1, Q2, Q3, Q4) """ period_code: String """ Home team spread for this period """ spread: Float """ American odds for home spread (e.g., -110) """ spread_home_odds: Int """ American odds for away spread """ spread_away_odds: Int """ American odds for home team win in this period """ moneyline_home: Int """ American odds for away team win in this period """ moneyline_away: Int """ Combined score total line for this period """ total: Float """ American odds for over """ over_odds: Int """ American odds for under """ under_odds: Int """ From moneyline, 0-1 """ implied_home_win_pct: Float implied_away_win_pct: Float """ When this snapshot was captured """ captured_at: String """ True if this is the first captured line for this period """ is_opening: Boolean """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nba.games row referenced by `game_id`; null when unlinked. """ game: NBAGames """ The main.operators row referenced by `operator_id`; null when unlinked. """ operator: ReferenceOperators """ The nba.seasons row referenced by `season_id`; null when unlinked. """ season: NBASeasons } """ NBA player prop bets for each game — points, rebounds, assists, threes made, steals, blocks, and other player-statistic markets offered by sportsbooks. """ type NBAGamePlayerProps { """ Primary Key """ id: BigInt game_id: BigInt player_id: BigInt """ Denormalized for efficient season-level queries """ season_id: BigInt """ Usually consensus """ operator_id: BigInt """ Canonical category (points, rebounds, assists, pra, etc.) """ category: String """ Raw market key from source API (e.g., player_points) """ market_key: String """ Optional subtype (alternate, boosted, etc.) """ subcategory: String """ Optional period code (Q1, 1H) """ period_code: String """ ou | yes_no """ outcome_type: String """ Prop line for over/under markets (e.g., 24.5) """ line: Float """ American odds for over """ over_odds: Int """ American odds for under """ under_odds: Int """ American odds for yes """ yes_odds: Int """ American odds for no """ no_odds: Int """ Number of curated books contributing to this consensus value """ book_count: Int """ When this snapshot was captured """ captured_at: String """ True if this is the first captured line for this player/market """ is_opening: Boolean """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nba.games row referenced by `game_id`; null when unlinked. """ game: NBAGames """ The main.operators row referenced by `operator_id`; null when unlinked. """ operator: ReferenceOperators """ The nba.players row referenced by `player_id`; null when unlinked. """ player: NBAPlayers """ The nba.seasons row referenced by `season_id`; null when unlinked. """ season: NBASeasons } """ Each NBA player's stat line for each game — points, rebounds, assists, steals, blocks, shooting line, three-point line, free-throw line, plus-minus, and minutes played. """ type NBAGamePlayerStats { """ Primary Key """ id: BigInt game_id: BigInt team_id: BigInt player_id: BigInt comment: String start_position: String minutes: Float pts: Int assists: Int rebounds: Int steals: Int blocks: Int turnovers: Int """ Total fouls: personal_fouls + technical_fouls. Use personal_fouls, not this, to judge foul trouble — a player fouls out on 6 PERSONAL fouls and technicals do not count toward that. """ fouls: Int field_goals_made: Int field_goals_attempted: Int three_pointers_made: Int three_pointers_attempted: Int free_throws_made: Int free_throws_attempted: Int offensive_rebounds: Int defensive_rebounds: Int potential_assists: Int shots_blocked: Int deflections: Int contests: Int charges_taken: Int passes_deflected: Int balls_stolen: Int loose_balls_recovered: Int """ Personal fouls only — the count a player fouls out on at 6. Includes offensive and flagrant fouls, which the NBA scores as personal fouls. """ personal_fouls: Int """ Offensive fouls. A SUBSET of personal_fouls, not an addition to it. """ offensive_fouls: Int """ Technical fouls. The one foul type the NBA keeps OUT of the personal count; 2 means ejection. """ technical_fouls: Int fouls_drawn: Int and_ones: Int traveling_violations: Int double_dribble_violations: Int carrying_palming_violations: Int backcourt_violations: Int shot_clock_violations: Int lane_violations: Int goaltending_violations: Int basket_interference_violations: Int substitutions_in: Int substitutions_out: Int jump_balls_won: Int jump_balls_lost: Int timeouts_called: Int challenges_requested: Int shot_contested_count: Int dunks: Int layups: Int alley_oops: Int put_backs: Int fast_break_pts: Int second_chance_pts: Int hockey_assists: Int screen_assists: Int box_outs: Int ejections: Int plus_minus: Int field_goal_percentage: Float three_point_percentage: Float free_throw_percentage: Float triple_doubles: Int double_doubles: Int estimated_offensive_rating: Float offensive_rating: Float estimated_defensive_rating: Float defensive_rating: Float estimated_net_rating: Float net_rating: Float assist_percentage: Float assist_to_turnover: Float assist_ratio: Float offensive_rebound_percentage: Float defensive_rebound_percentage: Float rebound_percentage: Float turnover_ratio: Float effective_field_goal_percentage: Float true_shooting_percentage: Float usage_percentage: Float estimated_usage_percentage: Float estimated_pace: Float possessions: Int touches: Int front_court_touches: Int avg_seconds_per_touch: Float avg_dribbles_per_touch: Float elbow_touches: Int paint_touches: Int time_of_possession: Float post_touches: Int pts_per_touch: Float pts_per_elbow_touch: Float pts_per_post_touch: Float pts_per_paint_touch: Float player_impact_estimate: Float drives: Int passes: Int pass_percentage: Float """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String game_date: Int rotation_context: String foul_trouble_severity: Int abnormal_exit_period: Int abnormal_exit_clock: Int garbage_time_minutes: Float competitive_minutes: Float rotation_context_confidence: Float minutes_deviation_pct: Float role_archetype: String role_archetype_confidence: Float role_anomalous_game: Boolean """ The nba.games row referenced by `game_id`; null when unlinked. """ game: NBAGames """ The nba.players row referenced by `player_id`; null when unlinked. """ player: NBAPlayers """ The nba.teams row referenced by `team_id`; null when unlinked. """ team: NBATeams } """ Each offensive possession in an NBA game (regular season, play-in, IST, and playoffs — no preseason) — which team had the ball, how the possession started, how it ended (made shot, missed shot, turnover, foul), and how long it lasted. """ type NBAGamePossessions { """ Primary Key """ id: BigInt game_id: BigInt team_id: BigInt start_nba_event_num: Int end_nba_event_num: Int period: Int home_score: Int away_score: Int start_clock: Int end_clock: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String fga: Int fgm: Int fg3a: Int fg3m: Int fta: Int ftm: Int oreb: Int dreb: Int ast: Int stl: Int blk: Int tov: Int pf: Int pts: Int cum_home_poss: Int cum_away_poss: Int game_seconds_elapsed: Int time_actual_start: String time_actual_end: String """ The nba.games row referenced by `game_id`; null when unlinked. """ game: NBAGames """ The nba.teams row referenced by `team_id`; null when unlinked. """ team: NBATeams """ nba.play_by_plays rows whose `game_possession_id` references this row. """ play_by_plays( """ Page size (default 50, max 500). """ first: Int ): [NBAPlayByPlays!]! } """ The officiating crew assigned to each NBA game — the three referees who worked the matchup. """ type NBAGameReferees { """ Primary Key """ id: BigInt game_id: BigInt referee_id: BigInt position: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nba.games row referenced by `game_id`; null when unlinked. """ game: NBAGames """ The nba.referees row referenced by `referee_id`; null when unlinked. """ referee: NBAReferees } """ Each continuous stretch an NBA team had the same five players on the floor (regular season, play-in, IST, and playoffs — no preseason) — the five-man unit, when it started and ended, and the team's net production while it was in. """ type NBAGameTeamLineupStints { """ Primary Key """ id: BigInt game_id: BigInt team_id: BigInt period: Int player1_id: BigInt player2_id: BigInt player3_id: BigInt player4_id: BigInt player5_id: BigInt start_clock: Int end_clock: Int start_event_seq: Int end_event_seq: Int possessions: Int pts_scored: Int pts_allowed: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String pace: Float offensive_rating: Float defensive_rating: Float net_rating: Float offensive_rebound_pct: Float defensive_rebound_pct: Float assist_pct: Float turnover_pct: Float """ Array of individual player box scores and metrics recorded during this lineup stint. """ player_stats: JSON """ The nba.games row referenced by `game_id`; null when unlinked. """ game: NBAGames """ The nba.players row referenced by `player1_id`; null when unlinked. """ player1: NBAPlayers """ The nba.players row referenced by `player2_id`; null when unlinked. """ player2: NBAPlayers """ The nba.players row referenced by `player3_id`; null when unlinked. """ player3: NBAPlayers """ The nba.players row referenced by `player4_id`; null when unlinked. """ player4: NBAPlayers """ The nba.players row referenced by `player5_id`; null when unlinked. """ player5: NBAPlayers """ The nba.teams row referenced by `team_id`; null when unlinked. """ team: NBATeams } """ The gameday roster for each NBA game — every player available that night, who started, who sat, and who was on a minutes restriction, with the pre-tip snapshot and the reconciled post-game truth side by side. """ type NBAGameTeamRosters { """ Primary Key """ id: BigInt game_id: BigInt team_id: BigInt player_id: BigInt position: String comment: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Pre-tip roster availability: 1=Active, 2=Inactive, 3=Out """ pre_game_status: Int """ Pre-tip expected starter flag from lineup sources """ pre_game_starter: Boolean """ Pre-tip injury designation: OUT, DOUBTFUL, QUESTIONABLE, PROBABLE """ pre_game_injury_status: String """ Pre-tip lineup confidence from source (e.g. RotoWire confirmed vs expected) """ pre_game_confirmed: Boolean """ Reconciled final roster availability: 1=Active, 2=Inactive, 3=Out """ status: Int """ Whether the player was in the starting five (reconciled post-game) """ starter: Boolean """ Reconciled final injury designation for the roster row """ injury_status: String """ Whether the starter truth was established from post-game evidence """ confirmed: Boolean """ The nba.games row referenced by `game_id`; null when unlinked. """ game: NBAGames """ The nba.players row referenced by `player_id`; null when unlinked. """ player: NBAPlayers """ The nba.teams row referenced by `team_id`; null when unlinked. """ team: NBATeams } """ Each NBA team's stat line for each game — the same offensive, defensive, rebounding, and shooting counters as the season aggregate, broken out per game with home/away context. """ type NBAGameTeamStats { """ Primary Key """ id: BigInt game_id: BigInt team_id: BigInt win: Int loss: Int minutes: Int pts: Int assists: Int rebounds: Int steals: Int blocks: Int turnovers: Int fouls: Int field_goals_made: Int field_goals_attempted: Int field_goal_percentage: Float three_pointers_made: Int three_pointers_attempted: Int three_point_percentage: Float free_throws_made: Int free_throws_attempted: Int free_throw_percentage: Float offensive_rebounds: Int defensive_rebounds: Int fast_break_pts: Int pts_in_paint: Int second_chance_pts: Int pts_off_turnovers: Int bench_pts: Int timeouts_remaining: Int assists_to_turnovers: Float steals_to_turnovers: Float defensive_rating: Float offensive_rating: Float net_rating: Float assist_percentage: Float assist_ratio: Float offensive_rebound_percentage: Float defensive_rebound_percentage: Float rebound_percentage: Float turnover_percentage: Float possessions: Int pace: Float pace_per40: Float true_shooting_percentage: Float effective_field_goal_percentage: Float player_impact_estimate: Float estimated_offensive_rating: Float estimated_defensive_rating: Float estimated_net_rating: Float estimated_pace: Float free_throw_attempt_rate: Float pct_fga_2pt: Float pct_fga_3pt: Float pct_pts_2pt: Float pct_pts_2pt_mr: Float pct_pts_3pt: Float pct_pts_fb: Float pct_pts_ft: Float pct_pts_off_tov: Float pct_pts_paint: Float pct_ast_2pm: Float pct_uast_2pm: Float pct_ast_3pm: Float pct_uast_3pm: Float pct_ast_fgm: Float pct_uast_fgm: Float """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Cumulative wins """ wins: Int """ Cumulative losses """ losses: Int """ Conference rank entering game """ conference_rank: Int """ The nba.games row referenced by `game_id`; null when unlinked. """ game: NBAGames """ The nba.teams row referenced by `team_id`; null when unlinked. """ team: NBATeams } """ Every scheduled and played NBA game from the 2020-21 season onward — preseason, the 82-game regular season, the In-Season Tournament, the play-in round, and the four-round playoffs through the NBA Finals. All-Star exhibitions are not included. """ type NBAGames { """ Primary Key """ id: BigInt season_id: BigInt """ Scheduled tip-off (timezone-aware); null when the league published no time. """ game_time: String """ Official NBA game ID from stats.nba.com """ league_game_id: String home_team_id: BigInt away_team_id: BigInt status: String end_time: String season_type: String day: Int away_team: String home_team: String stadium_id: Int channel: String attendance: Int away_team_score: Int home_team_score: Int home_rotation_number: Int away_rotation_number: Int neutral_venue: Boolean series_name: String if_necessary: Boolean series_game_number: String game_label: String game_sub_label: String series_text: String postponed_status: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nba.seasons row referenced by `season_id`; null when unlinked. """ season: NBASeasons """ The nba.stadiums row referenced by `stadium_id`; null when unlinked. """ stadium: NBAStadiums """ nba.game_broadcasters rows whose `game_id` references this row. """ game_broadcasters( """ Page size (default 50, max 500). """ first: Int ): [NBAGameBroadcasters!]! """ nba.game_lines rows whose `game_id` references this row. """ game_lines( """ Page size (default 50, max 500). """ first: Int ): [NBAGameLines!]! """ nba.game_period_lines rows whose `game_id` references this row. """ game_period_lines( """ Page size (default 50, max 500). """ first: Int ): [NBAGamePeriodLines!]! """ nba.game_player_props rows whose `game_id` references this row. """ game_player_props( """ Page size (default 50, max 500). """ first: Int ): [NBAGamePlayerProps!]! """ nba.game_player_stats rows whose `game_id` references this row. """ game_player_stats( """ Page size (default 50, max 500). """ first: Int ): [NBAGamePlayerStats!]! """ nba.game_possessions rows whose `game_id` references this row. """ game_possessions( """ Page size (default 50, max 500). """ first: Int ): [NBAGamePossessions!]! """ nba.game_referees rows whose `game_id` references this row. """ game_referees( """ Page size (default 50, max 500). """ first: Int ): [NBAGameReferees!]! """ nba.game_team_lineup_stints rows whose `game_id` references this row. """ game_team_lineup_stints( """ Page size (default 50, max 500). """ first: Int ): [NBAGameTeamLineupStints!]! """ nba.game_team_rosters rows whose `game_id` references this row. """ game_team_rosters( """ Page size (default 50, max 500). """ first: Int ): [NBAGameTeamRosters!]! """ nba.game_team_stats rows whose `game_id` references this row. """ game_team_stats( """ Page size (default 50, max 500). """ first: Int ): [NBAGameTeamStats!]! """ nba.play_by_plays rows whose `game_id` references this row. """ play_by_plays( """ Page size (default 50, max 500). """ first: Int ): [NBAPlayByPlays!]! """ nba.player_news rows whose `game_id` references this row. """ player_news( """ Page size (default 50, max 500). """ first: Int ): [NBAPlayerNews!]! """ nba.team_game_contexts rows whose `game_id` references this row. """ team_game_contexts( """ Page size (default 50, max 500). """ first: Int ): [NBATeamGameContexts!]! } """ How each sportsbook and fantasy operator names every NBA player — the mapping from each operator's player identifier to a unified player record. """ type NBAOperatorPlayerLookups { """ Primary Key """ id: BigInt """ Operator id: 1 DraftKings, 2 FanDuel, 3 Yahoo, 13 sportsdata.io, 83 stats.nba.com. """ operator_id: BigInt """ External player ID from operator """ operator_player_id: String """ Internal nba.players.id reference """ player_id: BigInt """ Player name for reconciliation """ player_name: String """ Position for reconciliation """ position: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ How this mapping was decided: 'derived' (finder answer, overwritable), 'pinned' (decided on evidence, trigger-protected), 'blocked' (no player we hold is this id; player_id NULL, never retried). DB default 'derived'; a BEFORE UPDATE trigger preserves non-derived rows. """ decision: String """ Evidence behind a pinned or blocked decision. """ decided_reason: String """ When the pin or block was decided. """ decided_at: String """ The main.operators row referenced by `operator_id`; null when unlinked. """ operator: ReferenceOperators """ The nba.players row referenced by `player_id`; null when unlinked. """ player: NBAPlayers } """ How each sportsbook and fantasy operator names every NBA team — the mapping from each operator's team code to the unified franchise record. """ type NBAOperatorTeamLookups { """ Primary Key """ id: BigInt """ Reference to main.operator entity """ operator_id: BigInt """ External team ID from operator """ operator_team_id: String """ Internal nba.teams.id reference """ team_id: BigInt """ Team name for reconciliation """ team_name: String """ Team abbreviation for reconciliation """ abbreviation: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The main.operators row referenced by `operator_id`; null when unlinked. """ operator: ReferenceOperators """ The nba.teams row referenced by `team_id`; null when unlinked. """ team: NBATeams } """ Every individual event in every NBA game (regular season, play-in, IST, and playoffs — no preseason) — made and missed shots, rebounds, assists, fouls, turnovers, blocks, steals, substitutions, and timeouts, with the game clock at the moment. Period and score context live on game_possessions (FK game_possession_id). """ type NBAPlayByPlays { """ Primary Key """ id: BigInt play_id: String nba_event_num: Int game_possession_id: BigInt game_id: BigInt player_id: BigInt team_id: BigInt event_type: Int event_sub_type: Int home_description: String visitor_description: String neutral_description: String start_clock: Int end_clock: Int player2_id: BigInt player2_team_id: BigInt player3_id: BigInt player3_team_id: BigInt """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String time_actual: String event_seq: Int possession_seq: Int """ The nba.games row referenced by `game_id`; null when unlinked. """ game: NBAGames """ The nba.game_possessions row referenced by `game_possession_id`; null when unlinked. """ game_possession: NBAGamePossessions """ The nba.players row referenced by `player2_id`; null when unlinked. """ player2: NBAPlayers """ The nba.teams row referenced by `player2_team_id`; null when unlinked. """ player2_team: NBATeams """ The nba.players row referenced by `player3_id`; null when unlinked. """ player3: NBAPlayers """ The nba.teams row referenced by `player3_team_id`; null when unlinked. """ player3_team: NBATeams """ The nba.players row referenced by `player_id`; null when unlinked. """ player: NBAPlayers """ The nba.teams row referenced by `team_id`; null when unlinked. """ team: NBATeams } """ News about NBA players — trades, injuries, lineup decisions, suspensions, and general beat-reporter updates. """ type NBAPlayerNews { """ Primary Key """ id: BigInt """ Player ID associated with the news report. """ player_id: BigInt """ Team ID of the player at the time of publication. """ team_id: BigInt """ Headline of the news report. """ title: String """ Brief synopsis or summary of the news event. """ description: String """ Fantasy and tactical analysis of the news. """ analysis: String """ Primary news source or publication. """ source: String """ URL link to the original article or source video. """ link: String """ Publication timestamp of the news story. """ news_time: String """ Display priority score (1-10). """ priority: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Full text content of the news report. """ content: String """ Reporter or author of the article. """ author: String """ injury, transaction, lineup, general """ category: String """ Unique identifier from the news provider. """ external_id: String """ Whether this story was generated or enriched via LLM summarization. """ ai_processed: Boolean """ Structured situational impact assessment and fantasy implications for the player. """ situational_impact: JSON """ Standardized player status designation (RULED_OUT, DOUBTFUL, QUESTIONABLE, PROBABLE, CLEARED, MINUTES_LIMIT, MINUTES_LIFTED, STARTING, BENCHED, INACTIVE, ACTIVE, IR_PLACED, IR_ACTIVATED, TRADED, RELEASED, SIGNED, ROUTINE). """ status_enum: String """ Urgency level of the news event (BREAKING_GAME_TIME, HIGH, MEDIUM, ROUTINE). """ urgency: String """ Source citations with source name, URL, author, and published timestamp. """ sources: JSON """ Timestamp when this story was first reported before multi-source compaction. """ first_reported_at: String """ Opponent team ID when this news item relates to an upcoming or active game matchup. """ opponent_team_id: BigInt """ Associated game ID when this news item relates to a specific game. """ game_id: BigInt """ The nba.games row referenced by `game_id`; null when unlinked. """ game: NBAGames """ The nba.teams row referenced by `opponent_team_id`; null when unlinked. """ opponent_team: NBATeams """ The nba.players row referenced by `player_id`; null when unlinked. """ player: NBAPlayers """ The nba.teams row referenced by `team_id`; null when unlinked. """ team: NBATeams } """ Every individual who has played in the NBA — current rosters, two-way and 10-day contracts, G-League call-ups, free agents, and retired veterans. The roster signal lives in `roster_status` (the canonical cross-league vocabulary) and `team_id` (null for free agents and retired players). Pass `?team_id=` to scope to one franchise's current roster, or omit it to scan the full historical roster pool. """ type NBAPlayers { """ Primary Key """ id: BigInt """ Player's legal first name as registered with the league. """ first_name: String """ Player's legal last name. """ last_name: String """ Convenience concatenation of first_name + last_name. Use this for display. """ full_name: String """ Current jersey number as a string (some leagues allow leading zeros, e.g., "00"). """ jersey: String """ Official NBA player ID from stats.nba.com. Stable across seasons; use for cross-API joins to nba_stats sources. """ league_player_id: Int """ Primary position. One of G, F, C, G-F, F-C. (True PG/SG/SF/PF splits live in team_depth_charts.position.) """ primary_position: String """ Hyphenated full-word position list (e.g., "Guard-Forward", "Center-Forward"). """ full_position_list: String """ FK to nba.teams. Null for free agents and retired players. """ team_id: BigInt """ NBA-issued URL slug (e.g., for stats.nba.com player page). """ league_slug: String """ Coarse positional grouping. One of Guard, Forward, Center, Utility. """ position_category: String """ Height in inches. """ height: Int """ Listed weight in pounds. """ weight: Int """ Birth date in YYYY-MM-DD form. """ birth_date: String """ City of birth. """ birth_city: String """ State / province of birth (US/Canadian players). """ birth_state: String """ Country of birth (ISO English name). """ birth_country: String """ Last school attended before the NBA (college, prep, or international club). """ school: String """ Years of NBA experience as of the most recent season. Rookies = 0. """ experience: Int """ Display name in "Last, First" form. Useful for sorted lists. """ display_last_comma_first: String """ Display name in "F. Last" form. """ display_fi_last: String """ Most recent pre-NBA affiliation (school, league, or team). """ last_affiliation: String """ Current team's mascot name (denormalized from teams.name for read convenience). """ team_name: String """ Current team's tri-letter code. """ team_abbreviation: String """ Current team's lowercase URL slug. """ team_code: String """ Current team's city name. """ team_city: String """ NBA-issued player code (lastname_firstname format). """ playercode: String """ Player's NBA debut year as a string (per stats.nba.com). """ from_year: String """ Player's most recent NBA season year. Equal to from_year for rookies. """ to_year: String """ Two-character bit-string from stats.nba.com: "00" no G-League history, "01" G-League experience, "11" currently G-League-affiliated (two-way / assignment). """ dleague_flag: String """ String "Y"/"N" indicating NBA experience. Almost always "Y" in this table. """ nba_flag: String """ String "Y"/"N" indicating whether the player has played at least one regular-season game. """ games_played_flag: String """ Year the player was drafted (string form). Empty for undrafted players. """ draft_year: String """ Draft round (string). Empty for undrafted players. """ draft_round: String """ Overall pick number within the draft (string). Empty for undrafted. """ draft_number: String """ Canonical roster status, shared across leagues. NBA source granularity is coarse: "active" (on an NBA roster), "free_agent" (no team), "inactive" (not currently rostered); injured_reserve/retired appear where derivable. The "on a team now" set is {active, injured_reserve}. """ roster_status: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Current injury status snapshot derived from player_news. Values: "OUT", "QUESTIONABLE"; null = no active injury designation (healthy). """ injury_status: String """ Affected body part for the most recent injury (e.g., "Knee", "Ankle"). Null when injury_status is null. """ injury_body_part: String """ Free-text injury description from the source feed. """ injury_detail: String """ Timestamp of the injury status snapshot. Updated when player_news produces a new injury entry. """ injury_since: String """ The nba.teams row referenced by `team_id`; null when unlinked. """ team: NBATeams """ nba.game_player_props rows whose `player_id` references this row. """ game_player_props( """ Page size (default 50, max 500). """ first: Int ): [NBAGamePlayerProps!]! """ nba.game_player_stats rows whose `player_id` references this row. """ game_player_stats( """ Page size (default 50, max 500). """ first: Int ): [NBAGamePlayerStats!]! """ nba.game_team_lineup_stints rows whose `player1_id` references this row. """ game_team_lineup_stints_by_player1_id( """ Page size (default 50, max 500). """ first: Int ): [NBAGameTeamLineupStints!]! """ nba.game_team_lineup_stints rows whose `player2_id` references this row. """ game_team_lineup_stints_by_player2_id( """ Page size (default 50, max 500). """ first: Int ): [NBAGameTeamLineupStints!]! """ nba.game_team_lineup_stints rows whose `player3_id` references this row. """ game_team_lineup_stints_by_player3_id( """ Page size (default 50, max 500). """ first: Int ): [NBAGameTeamLineupStints!]! """ nba.game_team_lineup_stints rows whose `player4_id` references this row. """ game_team_lineup_stints_by_player4_id( """ Page size (default 50, max 500). """ first: Int ): [NBAGameTeamLineupStints!]! """ nba.game_team_lineup_stints rows whose `player5_id` references this row. """ game_team_lineup_stints_by_player5_id( """ Page size (default 50, max 500). """ first: Int ): [NBAGameTeamLineupStints!]! """ nba.game_team_rosters rows whose `player_id` references this row. """ game_team_rosters( """ Page size (default 50, max 500). """ first: Int ): [NBAGameTeamRosters!]! """ nba.operator_player_lookups rows whose `player_id` references this row. """ operator_player_lookups( """ Page size (default 50, max 500). """ first: Int ): [NBAOperatorPlayerLookups!]! """ nba.play_by_plays rows whose `player2_id` references this row. """ play_by_plays_by_player2_id( """ Page size (default 50, max 500). """ first: Int ): [NBAPlayByPlays!]! """ nba.play_by_plays rows whose `player3_id` references this row. """ play_by_plays_by_player3_id( """ Page size (default 50, max 500). """ first: Int ): [NBAPlayByPlays!]! """ nba.play_by_plays rows whose `player_id` references this row. """ play_by_plays_by_player_id( """ Page size (default 50, max 500). """ first: Int ): [NBAPlayByPlays!]! """ nba.player_news rows whose `player_id` references this row. """ player_news( """ Page size (default 50, max 500). """ first: Int ): [NBAPlayerNews!]! """ nba.season_player_stats rows whose `player_id` references this row. """ season_player_stats( """ Page size (default 50, max 500). """ first: Int ): [NBASeasonPlayerStats!]! """ nba.team_depth_charts rows whose `player_id` references this row. """ team_depth_charts( """ Page size (default 50, max 500). """ first: Int ): [NBATeamDepthCharts!]! } """ The NBA postseason bracket — the play-in tournament, the four conference series rounds, and the NBA Finals, tracked as best-of-seven matchups with seeds, wins, and outcomes. """ type NBAPlayoffs { """ Primary Key """ id: BigInt season_id: BigInt series_id: BigInt series_name: String home_team_id: BigInt away_team_id: BigInt home_team_wins: Int away_team_wins: Int games_played: Int max_games: Int status: String series_text: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nba.teams row referenced by `away_team_id`; null when unlinked. """ away_team: NBATeams """ The nba.teams row referenced by `home_team_id`; null when unlinked. """ home_team: NBATeams """ The nba.seasons row referenced by `season_id`; null when unlinked. """ season: NBASeasons } type NBAQuery { """ Networks, regional sports networks, and streaming services that air NBA games — ESPN, TNT, ABC, NBA TV, plus team-local RSNs like YES, MSG, and Bally Sports. Metered by rows resolved across all nested lists — the same record unit as REST. """ broadcasters( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt ): [NBABroadcasters!]! """ NBA coaches and staff — head coaches, lead assistants, player-development coaches, and other basketball-operations staff who appear on team benches. Metered by rows resolved across all nested lists — the same record unit as REST. """ coaching_staffs( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt ): [NBACoachingStaffs!]! """ Which networks broadcast each NBA game — the national TV partner, home and away regional carriers, radio calls, and streaming providers. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_broadcasters( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by broadcaster. """ broadcaster_id: Int, """ Filter by broadcaster role. """ broadcaster_type: String ): [NBAGameBroadcasters!]! """ NBA game betting lines — point spreads, moneylines, and over/under totals from sportsbooks, captured over time as the lines move from opening to closing. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_lines( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by season. """ season_id: Int, """ Filter by sportsbook id: 6 Consensus (full history), 1 DraftKings, 2 FanDuel, 1683 Pinnacle, 1684 BetMGM, 1685 Caesars, 1686 BetRivers, 1687 ESPN BET (per-book rows begin 2026-05). """ operator_id: Int, """ Filter to opening lines only. Reliable from the 2025-26 season; earlier seasons largely lack opener flags. """ is_opening: Boolean ): [NBAGameLines!]! """ Period-specific NBA betting lines — first-half, second-half, and individual-quarter spreads, moneylines, and totals offered alongside the full-game markets. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_period_lines( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by season. """ season_id: Int, """ Filter by sportsbook. """ operator_id: Int, """ Filter by period (1H, 2H, Q1, Q2, Q3, Q4). """ period_code: String ): [NBAGamePeriodLines!]! """ NBA player prop bets for each game — points, rebounds, assists, threes made, steals, blocks, and other player-statistic markets offered by sportsbooks. Requires at least one of these filter sets: `game_id` | `player_id + season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_player_props( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter to a single player. With season_id: the player's prop history across a season. """ player_id: Int, """ Filter by season. """ season_id: Int, """ Filter by sportsbook. Historical rows are operator 6 (Consensus); per-book rows (1 DraftKings, 2 FanDuel, 1683 Pinnacle, 1684 BetMGM, 1685 Caesars, 1686 BetRivers, 1687 ESPN BET) begin 2026-05. """ operator_id: Int, """ Filter by prop category (points, rebounds, assists, pra, etc.). """ category: String, """ Filter by raw market key (e.g., player_points). """ market_key: String ): [NBAGamePlayerProps!]! """ Each NBA player's stat line for each game — points, rebounds, assists, steals, blocks, shooting line, three-point line, free-throw line, plus-minus, and minutes played. Requires at least one of these filter sets: `game_id` | `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_player_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter to a single player — their full game log, newest first. Combine with game_date ranges to window it. """ player_id: Int, """ Filter by team. """ team_id: Int, """ Filter by game day (YYYYMMDD integer, US Eastern). """ game_date: Int, """ `gte` comparison on `game_date`. """ game_date__gte: Int, """ `lte` comparison on `game_date`. """ game_date__lte: Int, """ Range filter on `game_date` — pass "lo,hi". """ game_date__between: String ): [NBAGamePlayerStats!]! """ Each offensive possession in an NBA game (regular season, play-in, IST, and playoffs — no preseason) — which team had the ball, how the possession started, how it ended (made shot, missed shot, turnover, foul), and how long it lasted. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_possessions( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by team in possession. """ team_id: Int ): [NBAGamePossessions!]! """ The officiating crew assigned to each NBA game — the three referees who worked the matchup. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_referees( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by referee. """ referee_id: Int ): [NBAGameReferees!]! """ Each continuous stretch an NBA team had the same five players on the floor (regular season, play-in, IST, and playoffs — no preseason) — the five-man unit, when it started and ended, and the team's net production while it was in. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_team_lineup_stints( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by team. """ team_id: Int ): [NBAGameTeamLineupStints!]! """ The gameday roster for each NBA game — every player available that night, who started, who sat, and who was on a minutes restriction, with the pre-tip snapshot and the reconciled post-game truth side by side. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_team_rosters( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by team. """ team_id: Int, """ Filter to a single player. """ player_id: Int ): [NBAGameTeamRosters!]! """ Each NBA team's stat line for each game — the same offensive, defensive, rebounding, and shooting counters as the season aggregate, broken out per game with home/away context. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_team_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by team. """ team_id: Int ): [NBAGameTeamStats!]! """ Every scheduled and played NBA game from the 2020-21 season onward — preseason, the 82-game regular season, the In-Season Tournament, the play-in round, and the four-round playoffs through the NBA Finals. All-Star exhibitions are not included. Requires at least one of these filter sets: `season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ games( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a season. Defaults to the current season. """ season_id: Int, """ Filter by home team. """ home_team_id: Int, """ Filter by away team. """ away_team_id: Int, """ Filter by game status. """ status: String, """ Filter by calendar day (YYYYMMDD integer, US Eastern) — e.g. day=20260609 for tonight's slate. Note season_id defaults to the current season; pass season_id explicitly when querying a past season's day. """ day: Int, """ `gte` comparison on `day`. """ day__gte: Int, """ `lte` comparison on `day`. """ day__lte: Int, """ Range filter on `day` — pass "lo,hi". """ day__between: String, """ Filter by season phase (regular_season, preseason, postseason, play_in, in_season_tournament, all_star). """ season_type: String ): [NBAGames!]! """ How each sportsbook and fantasy operator names every NBA player — the mapping from each operator's player identifier to a unified player record. Requires at least one of these filter sets: `operator_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ operator_player_lookups( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by operator id: 1 DraftKings, 2 FanDuel, 3 Yahoo, 13 sportsdata.io, 83 stats.nba.com. """ operator_id: Int, """ Filter to a single player. """ player_id: Int ): [NBAOperatorPlayerLookups!]! """ How each sportsbook and fantasy operator names every NBA team — the mapping from each operator's team code to the unified franchise record. Requires at least one of these filter sets: `operator_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ operator_team_lookups( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by operator. """ operator_id: Int, """ Filter by team. """ team_id: Int ): [NBAOperatorTeamLookups!]! """ Every individual event in every NBA game (regular season, play-in, IST, and playoffs — no preseason) — made and missed shots, rebounds, assists, fouls, turnovers, blocks, steals, substitutions, and timeouts, with the game clock at the moment. Period and score context live on game_possessions (FK game_possession_id). Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ play_by_plays( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter to plays involving a specific player. """ player_id: Int, """ Filter to plays by a specific team. """ team_id: Int, """ Filter by event type code: 1 made shot, 2 missed shot, 3 free throw, 4 rebound, 5 turnover, 6 foul, 7 violation, 8 substitution, 9 timeout, 10 jump ball, 11 ejection, 12 period start, 13 period end, 18 instant replay (stats.nba.com codes). """ event_type: Int ): [NBAPlayByPlays!]! """ News about NBA players — trades, injuries, lineup decisions, suspensions, and general beat-reporter updates. Requires at least one of these filter sets: `player_id` | `team_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ player_news( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to news about a single player. """ player_id: Int, """ Filter by team — a team-level news feed, newest first. """ team_id: Int, """ Filter by news category (injury, transaction, lineup, general). """ category: String, """ Filter by player status designation. """ status_enum: String, """ Filter by news urgency. """ urgency: String, """ Filter by publication time (ISO 8601). Use news_time__gte to poll for items since your last check. """ news_time: String, """ `gte` comparison on `news_time`. """ news_time__gte: String, """ `lte` comparison on `news_time`. """ news_time__lte: String, """ Range filter on `news_time` — pass "lo,hi". """ news_time__between: String ): [NBAPlayerNews!]! """ Every individual who has played in the NBA — current rosters, two-way and 10-day contracts, G-League call-ups, free agents, and retired veterans. The roster signal lives in `roster_status` (the canonical cross-league vocabulary) and `team_id` (null for free agents and retired players). Pass `?team_id=` to scope to one franchise's current roster, or omit it to scan the full historical roster pool. Requires at least one of these filter sets: `roster_status`. Metered by rows resolved across all nested lists — the same record unit as REST. """ players( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to players whose current team_id matches. Null team_id rows (free agents, retired) are excluded when this filter is applied. """ team_id: Int, """ Filter by canonical roster status. Defaults to active (current roster); pass roster_status= explicitly for other tiers (injured_reserve, free_agent, retired, inactive). The "on a team now" set is {active, injured_reserve}. """ roster_status: String ): [NBAPlayers!]! """ The NBA postseason bracket — the play-in tournament, the four conference series rounds, and the NBA Finals, tracked as best-of-seven matchups with seeds, wins, and outcomes. Metered by rows resolved across all nested lists — the same record unit as REST. """ playoffs( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt ): [NBAPlayoffs!]! """ NBA officials — the three-person crew of referees who work each game. Metered by rows resolved across all nested lists — the same record unit as REST. """ referees( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by active status (defaults to true to show only currently-active rows; pass active=false to include inactive). """ active: Boolean ): [NBAReferees!]! """ Season totals for each NBA player — scoring, rebounding, assists, steals, blocks, shooting splits, advanced metrics, plus-minus, and minutes played. Regular-season games only; playoff, play-in, and preseason totals are not included. Players traded mid-season have one merged row (no per-team split). Requires at least one of these filter sets: `season_id` | `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ season_player_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single season. Defaults to the current season. """ season_id: Int, """ Filter to a single player. """ player_id: Int ): [NBASeasonPlayerStats!]! """ Season totals for each NBA team — wins and losses, points scored and allowed, pace, offensive and defensive ratings, rebounding margins, shooting splits, and turnover differentials. Regular-season games only; playoff, play-in, and preseason totals are not included. Requires at least one of these filter sets: `season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ season_team_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single season. Defaults to the current season. """ season_id: Int, """ Filter by team. """ team_id: Int ): [NBASeasonTeamStats!]! """ Each NBA league year, running from October through June — the 82-game regular season, the play-in tournament, and the four-round playoffs that end with the NBA Finals. Metered by rows resolved across all nested lists — the same record unit as REST. """ seasons( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt ): [NBASeasons!]! """ NBA arenas — current home venues and historical buildings the league's teams have played in. Metered by rows resolved across all nested lists — the same record unit as REST. """ stadiums( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt ): [NBAStadiums!]! """ The coaching staff each NBA team carries through the season — head coach, assistants, trainers — with the dates each staff member started and ended their tenure. Requires at least one of these filter sets: `team_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ team_coaching_staffs( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by team. """ team_id: Int, """ Filter to a season. """ season_id: Int, """ Filter by coach role (Head Coach, Assistant Coach, Trainer). """ coach_type: String ): [NBATeamCoachingStaffs!]! """ Each NBA team's depth chart by position on each date — the starter, second-unit, and bench order at point guard, shooting guard, small forward, power forward, and center, with injury designations layered in. Requires at least one of these filter sets: `team_id + season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ team_depth_charts( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by team. """ team_id: Int, """ Filter to a season. Defaults to the current season. """ season_id: Int, """ Filter by position (PG, SG, SF, PF, C). """ position: String, """ Snapshot day (YYYYMMDD integer). The table holds one snapshot per day; pass the latest day for the current depth chart. """ day: Int, """ `gte` comparison on `day`. """ day__gte: Int, """ `lte` comparison on `day`. """ day__lte: Int, """ Range filter on `day` — pass "lo,hi". """ day__between: String ): [NBATeamDepthCharts!]! """ Situational context for each NBA team in each game — how much the game matters (playoff push, tanking, contender mode, In-Season Tournament stakes), what phase of the season it's in, and how far along the schedule the team is. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ team_game_contexts( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by team. """ team_id: Int, """ Filter by season. """ season_id: Int ): [NBATeamGameContexts!]! """ Conference and division standings throughout the NBA season — wins, losses, win percentage, games behind, last-10 record, win/loss streak, and home/away splits as of each date. Requires at least one of these filter sets: `season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ team_standings( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single season. Defaults to the current season. """ season_id: Int, """ Filter by team. """ team_id: Int, """ Standings as of this day (YYYYMMDD integer). Omit for all daily snapshots, newest first; pass a day for a point-in-time table. """ day: Int, """ `gte` comparison on `day`. """ day__gte: Int, """ `lte` comparison on `day`. """ day__lte: Int, """ Range filter on `day` — pass "lo,hi". """ day__between: String ): [NBATeamStandings!]! """ The 30 NBA franchises, organized into the Eastern and Western Conferences with three divisions in each. Metered by rows resolved across all nested lists — the same record unit as REST. """ teams( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by active status (defaults to true to show only currently-active rows; pass active=false to include inactive). """ active: Boolean ): [NBATeams!]! } """ NBA officials — the three-person crew of referees who work each game. """ type NBAReferees { """ Primary Key """ id: BigInt first_name: String last_name: String full_name: String jersey_number: String nba_referee_id: Int experience: Int active: Boolean birth_date: String birth_city: String birth_state: String birth_country: String college: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ nba.game_referees rows whose `referee_id` references this row. """ game_referees( """ Page size (default 50, max 500). """ first: Int ): [NBAGameReferees!]! } """ Season totals for each NBA player — scoring, rebounding, assists, steals, blocks, shooting splits, advanced metrics, plus-minus, and minutes played. Regular-season games only; playoff, play-in, and preseason totals are not included. Players traded mid-season have one merged row (no per-team split). """ type NBASeasonPlayerStats { """ Primary Key """ id: BigInt player_id: BigInt season_id: BigInt games_played: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String wins: Int losses: Int minutes: Float pts: Int assists: Int rebounds: Int steals: Int blocks: Int turnovers: Int fouls: Int field_goals_made: Int field_goals_attempted: Int three_pointers_made: Int three_pointers_attempted: Int free_throws_made: Int free_throws_attempted: Int offensive_rebounds: Int defensive_rebounds: Int plus_minus: Int double_doubles: Int triple_doubles: Int field_goal_percentage: Float three_point_percentage: Float free_throw_percentage: Float offensive_rating: Float defensive_rating: Float net_rating: Float assist_percentage: Float assist_to_turnover: Float assist_ratio: Float offensive_rebound_percentage: Float defensive_rebound_percentage: Float rebound_percentage: Float turnover_percentage: Float effective_field_goal_percentage: Float true_shooting_percentage: Float usage_percentage: Float pace: Float player_impact_estimate: Float possessions: Int touches: Int front_court_touches: Int time_of_possession: Float avg_seconds_per_touch: Float avg_dribbles_per_touch: Float """ The nba.players row referenced by `player_id`; null when unlinked. """ player: NBAPlayers """ The nba.seasons row referenced by `season_id`; null when unlinked. """ season: NBASeasons } """ Season totals for each NBA team — wins and losses, points scored and allowed, pace, offensive and defensive ratings, rebounding margins, shooting splits, and turnover differentials. Regular-season games only; playoff, play-in, and preseason totals are not included. """ type NBASeasonTeamStats { """ Primary Key """ id: BigInt team_id: BigInt season_id: BigInt games_played: Int wins: Int losses: Int ties: Int pts_scored: Int pts_allowed: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nba.seasons row referenced by `season_id`; null when unlinked. """ season: NBASeasons """ The nba.teams row referenced by `team_id`; null when unlinked. """ team: NBATeams } """ Each NBA league year, running from October through June — the 82-game regular season, the play-in tournament, and the four-round playoffs that end with the NBA Finals. """ type NBASeasons { """ Primary Key """ id: BigInt start_date: String end_date: String start_year: Int regular_season_start_date: String post_season_start_date: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ nba.game_lines rows whose `season_id` references this row. """ game_lines( """ Page size (default 50, max 500). """ first: Int ): [NBAGameLines!]! """ nba.game_period_lines rows whose `season_id` references this row. """ game_period_lines( """ Page size (default 50, max 500). """ first: Int ): [NBAGamePeriodLines!]! """ nba.game_player_props rows whose `season_id` references this row. """ game_player_props( """ Page size (default 50, max 500). """ first: Int ): [NBAGamePlayerProps!]! """ nba.games rows whose `season_id` references this row. """ games( """ Page size (default 50, max 500). """ first: Int ): [NBAGames!]! """ nba.playoffs rows whose `season_id` references this row. """ playoffs( """ Page size (default 50, max 500). """ first: Int ): [NBAPlayoffs!]! """ nba.season_player_stats rows whose `season_id` references this row. """ season_player_stats( """ Page size (default 50, max 500). """ first: Int ): [NBASeasonPlayerStats!]! """ nba.season_team_stats rows whose `season_id` references this row. """ season_team_stats( """ Page size (default 50, max 500). """ first: Int ): [NBASeasonTeamStats!]! """ nba.team_coaching_staffs rows whose `season_id` references this row. """ team_coaching_staffs( """ Page size (default 50, max 500). """ first: Int ): [NBATeamCoachingStaffs!]! """ nba.team_depth_charts rows whose `season_id` references this row. """ team_depth_charts( """ Page size (default 50, max 500). """ first: Int ): [NBATeamDepthCharts!]! """ nba.team_game_contexts rows whose `season_id` references this row. """ team_game_contexts( """ Page size (default 50, max 500). """ first: Int ): [NBATeamGameContexts!]! """ nba.team_standings rows whose `season_id` references this row. """ team_standings( """ Page size (default 50, max 500). """ first: Int ): [NBATeamStandings!]! } """ NBA arenas — current home venues and historical buildings the league's teams have played in. """ type NBAStadiums { """ Primary Key """ id: BigInt name: String """ Official NBA arena ID from stats.nba.com """ league_stadium_id: Int longitude: Float latitude: Float """ Elevation in feet above sea level """ elevation: Float description: String city: String state: String country: String capacity: Int surface: String """ Arena roof type (all indoor) """ roof_type: String opened_date: String closed_date: String team_name: String """ IANA timezone (e.g., America/New_York) """ timezone: String address: String """ URL to aerial/overview image of arena """ image_url: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ nba.games rows whose `stadium_id` references this row. """ games( """ Page size (default 50, max 500). """ first: Int ): [NBAGames!]! """ nba.teams rows whose `stadium_id` references this row. """ teams( """ Page size (default 50, max 500). """ first: Int ): [NBATeams!]! } """ The coaching staff each NBA team carries through the season — head coach, assistants, trainers — with the dates each staff member started and ended their tenure. """ type NBATeamCoachingStaffs { """ Primary Key """ id: BigInt team_id: BigInt """ First season of this tenure """ season_id: BigInt """ Head Coach, Assistant Coach, Trainer """ coach_type: String is_assistant: Boolean sort_sequence: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Tenure start date (derived from season start) """ start_date: String """ Tenure end date. NULL = still active. """ end_date: String coaching_staff_id: BigInt """ The nba.coaching_staffs row referenced by `coaching_staff_id`; null when unlinked. """ coaching_staff: NBACoachingStaffs """ The nba.seasons row referenced by `season_id`; null when unlinked. """ season: NBASeasons """ The nba.teams row referenced by `team_id`; null when unlinked. """ team: NBATeams } """ Each NBA team's depth chart by position on each date — the starter, second-unit, and bench order at point guard, shooting guard, small forward, power forward, and center, with injury designations layered in. """ type NBATeamDepthCharts { """ Primary Key """ id: BigInt team_id: BigInt player_id: BigInt season_id: BigInt """ YYYYMMDD snapshot day """ day: Int """ PG, SG, SF, PF, C """ position: String """ 1-based rank within position (1 = starter) """ depth_rank: Int """ Day-To-Day, Out, etc. from ESPN """ injury_status: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nba.players row referenced by `player_id`; null when unlinked. """ player: NBAPlayers """ The nba.seasons row referenced by `season_id`; null when unlinked. """ season: NBASeasons """ The nba.teams row referenced by `team_id`; null when unlinked. """ team: NBATeams } """ Situational context for each NBA team in each game — how much the game matters (playoff push, tanking, contender mode, In-Season Tournament stakes), what phase of the season it's in, and how far along the schedule the team is. """ type NBATeamGameContexts { """ Primary Key """ id: BigInt game_id: BigInt team_id: BigInt season_id: BigInt opponent_team_id: BigInt """ contender, playoff_lock, seeding_battle, playoff_push, play_in, fringe, tanking, eliminated, early_season, playoff_comfortable, playoff_competitive, playoff_desperate, playoff_elimination, playoff_clinch, ist_contending, ist_eliminated, ist_knockout """ motivation: String """ 1-10 motivation intensity scale """ intensity: Int """ early, mid, late, final_push, postseason """ season_phase: String """ 0.0-1.0 how far through regular season """ season_pct: Float """ regular, playoff, play_in, ist_group, ist_knockout, preseason, allstar """ game_type: String conference_rank: Int win_pct: Float games_remaining: Int team_series_wins: Int is_elimination: Boolean is_clinch: Boolean ist_group_rank: Int """ e.g. 2-1 """ ist_group_record: String rest_days: Int is_back_to_back: Boolean """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nba.games row referenced by `game_id`; null when unlinked. """ game: NBAGames """ The nba.teams row referenced by `opponent_team_id`; null when unlinked. """ opponent_team: NBATeams """ The nba.seasons row referenced by `season_id`; null when unlinked. """ season: NBASeasons """ The nba.teams row referenced by `team_id`; null when unlinked. """ team: NBATeams } """ Conference and division standings throughout the NBA season — wins, losses, win percentage, games behind, last-10 record, win/loss streak, and home/away splits as of each date. """ type NBATeamStandings { """ Primary Key """ id: BigInt season_id: BigInt team_id: BigInt """ YYYYMMDD — standings as of this date (before games on this day) """ day: Int wins: Int losses: Int win_pct: Float """ 1-15 within conference """ conference_rank: Int """ 1-5 within division """ division_rank: Int """ Games back from conference leader """ conference_gb: Float """ Games back from 6th seed (auto-qualify cutoff) """ playoff_gb: Float """ Games back from 10th seed (play-in cutoff) """ playin_gb: Float games_played: Int games_remaining: Int l10_wins: Int l10_losses: Int """ Positive = win streak, negative = loss streak """ streak: Int home_wins: Int home_losses: Int away_wins: Int away_losses: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nba.seasons row referenced by `season_id`; null when unlinked. """ season: NBASeasons """ The nba.teams row referenced by `team_id`; null when unlinked. """ team: NBATeams } """ The 30 NBA franchises, organized into the Eastern and Western Conferences with three divisions in each. """ type NBATeams { """ Primary Key """ id: BigInt abbreviation: String city: String """ Official NBA team ID from stats.nba.com """ league_team_id: Int conference: String division: String full_name: String name: String active: Boolean stadium_id: BigInt """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nba.stadiums row referenced by `stadium_id`; null when unlinked. """ stadium: NBAStadiums """ nba.game_player_stats rows whose `team_id` references this row. """ game_player_stats( """ Page size (default 50, max 500). """ first: Int ): [NBAGamePlayerStats!]! """ nba.game_possessions rows whose `team_id` references this row. """ game_possessions( """ Page size (default 50, max 500). """ first: Int ): [NBAGamePossessions!]! """ nba.game_team_lineup_stints rows whose `team_id` references this row. """ game_team_lineup_stints( """ Page size (default 50, max 500). """ first: Int ): [NBAGameTeamLineupStints!]! """ nba.game_team_rosters rows whose `team_id` references this row. """ game_team_rosters( """ Page size (default 50, max 500). """ first: Int ): [NBAGameTeamRosters!]! """ nba.game_team_stats rows whose `team_id` references this row. """ game_team_stats( """ Page size (default 50, max 500). """ first: Int ): [NBAGameTeamStats!]! """ nba.games rows whose `away_team_id` references this row. """ games_by_away_team_id( """ Page size (default 50, max 500). """ first: Int ): [NBAGames!]! """ nba.games rows whose `home_team_id` references this row. """ games_by_home_team_id( """ Page size (default 50, max 500). """ first: Int ): [NBAGames!]! """ nba.operator_team_lookups rows whose `team_id` references this row. """ operator_team_lookups( """ Page size (default 50, max 500). """ first: Int ): [NBAOperatorTeamLookups!]! """ nba.play_by_plays rows whose `player2_team_id` references this row. """ play_by_plays_by_player2_team_id( """ Page size (default 50, max 500). """ first: Int ): [NBAPlayByPlays!]! """ nba.play_by_plays rows whose `player3_team_id` references this row. """ play_by_plays_by_player3_team_id( """ Page size (default 50, max 500). """ first: Int ): [NBAPlayByPlays!]! """ nba.play_by_plays rows whose `team_id` references this row. """ play_by_plays_by_team_id( """ Page size (default 50, max 500). """ first: Int ): [NBAPlayByPlays!]! """ nba.player_news rows whose `opponent_team_id` references this row. """ player_news_by_opponent_team_id( """ Page size (default 50, max 500). """ first: Int ): [NBAPlayerNews!]! """ nba.player_news rows whose `team_id` references this row. """ player_news_by_team_id( """ Page size (default 50, max 500). """ first: Int ): [NBAPlayerNews!]! """ nba.players rows whose `team_id` references this row. """ players( """ Page size (default 50, max 500). """ first: Int ): [NBAPlayers!]! """ nba.playoffs rows whose `away_team_id` references this row. """ playoffs_by_away_team_id( """ Page size (default 50, max 500). """ first: Int ): [NBAPlayoffs!]! """ nba.playoffs rows whose `home_team_id` references this row. """ playoffs_by_home_team_id( """ Page size (default 50, max 500). """ first: Int ): [NBAPlayoffs!]! """ nba.season_team_stats rows whose `team_id` references this row. """ season_team_stats( """ Page size (default 50, max 500). """ first: Int ): [NBASeasonTeamStats!]! """ nba.team_coaching_staffs rows whose `team_id` references this row. """ team_coaching_staffs( """ Page size (default 50, max 500). """ first: Int ): [NBATeamCoachingStaffs!]! """ nba.team_depth_charts rows whose `team_id` references this row. """ team_depth_charts( """ Page size (default 50, max 500). """ first: Int ): [NBATeamDepthCharts!]! """ nba.team_game_contexts rows whose `opponent_team_id` references this row. """ team_game_contexts_by_opponent_team_id( """ Page size (default 50, max 500). """ first: Int ): [NBATeamGameContexts!]! """ nba.team_game_contexts rows whose `team_id` references this row. """ team_game_contexts_by_team_id( """ Page size (default 50, max 500). """ first: Int ): [NBATeamGameContexts!]! """ nba.team_standings rows whose `team_id` references this row. """ team_standings( """ Page size (default 50, max 500). """ first: Int ): [NBATeamStandings!]! } """ Analytical coaching scheme tendencies, tempo, neutral PROE, personnel grouping distributions (11/12/21/13), opportunity concentration, and situational playcalling tendencies computed with strict pre-kickoff timewalls. """ type NFLCoachSchemeTendencies { """ Primary Key """ id: BigInt season_id: BigInt """ NFL regular season week number (1-18). """ week: Int team_id: BigInt opponent_team_id: BigInt game_id: BigInt """ Team head coach. """ head_coach: String """ Team offensive coordinator. """ offensive_coordinator: String """ Team defensive coordinator. """ defensive_coordinator: String """ Active primary offensive playcaller. """ primary_playcaller: String """ Number of recent games in sample window. """ sample_games: Int """ Temporal timewall timestamp when metrics were computed. """ as_of: String """ Average seconds between offensive plays across all game scripts. """ seconds_per_play: Float """ Seconds per play in neutral game scripts (score margin between -6 and +6). """ seconds_per_play_neutral: Float """ Fraction of offensive plays run with no-huddle / hurry-up tempo. """ no_huddle_rate: Float """ Seconds per play delta when trailing by 7+ points vs neutral. """ trailing_tempo_delta: Float """ Seconds per play delta when leading by 7+ points vs neutral. """ leading_tempo_delta: Float """ Average offensive snaps per game. """ offensive_plays_per_game: Float """ Pass rate over expected in neutral game scripts (-6 to +6 score margin) in percentage points. """ neutral_pass_oe: Float """ Pass rate over expected across all game situations in percentage points. """ overall_pass_oe: Float """ Pass rate over expected when trailing by 7+ points. """ trailing_pass_oe: Float """ Pass rate over expected when leading by 7+ points. """ leading_pass_oe: Float """ Pass play frequency on 1st and 2nd down. """ early_down_pass_rate: Float """ Pass frequency on 3rd down with <= 3 yards to go. """ third_down_pass_rate_short: Float """ Pass frequency on 3rd down with > 3 yards to go. """ third_down_pass_rate_long: Float """ Fraction of offensive snaps in 11-personnel (1 RB, 1 TE, 3 WR). """ rate_11_personnel: Float """ Fraction of offensive snaps in 12-personnel (1 RB, 2 TE, 2 WR). """ rate_12_personnel: Float """ Fraction of offensive snaps in 21-personnel (2 RB, 1 TE, 2 WR). """ rate_21_personnel: Float """ Fraction of offensive snaps in 13-personnel (1 RB, 3 TE, 1 WR). """ rate_13_personnel: Float """ Average tight ends on the field per offensive snap. """ avg_te_capacity: Float """ Average wide receivers on the field per offensive snap. """ avg_wr_capacity: Float """ Average running backs on the field per offensive snap. """ avg_rb_capacity: Float """ Primary tight end deployment archetype (11_HEAVY, 12_HEAVY, 13_HEAVY, BALANCED). """ te_archetype: String """ Bellcow concentration index (0.0 to 1.0) measuring lead back monopoly over carries and snaps. """ rb_bellcow_index: Float """ Lead running back share of total team designed rush attempts. """ rb1_carry_share: Float """ Lead running back share of total offensive snaps. """ rb1_snap_share: Float """ WR1 target share of team passing targets. """ wr1_target_share: Float """ Combined target share captured by top 3 wide receivers. """ wr_triad_concentration: Float """ Fraction of team targets directed to slot-aligned receivers. """ slot_target_rate: Float """ Designed rush play rate inside opponent 20-yard line (red zone). """ rz_rush_rate: Float """ Pass play rate inside opponent 20-yard line (red zone). """ rz_pass_rate: Float """ Designed rush play rate inside opponent 5-yard line (goal-to-go). """ gl_rush_rate: Float """ Fourth down aggressiveness rate of going for 4th down conversions in eligible situations. """ fourth_down_go_rate: Float """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Rate of defensive pass coverage snaps played in Man coverage. """ def_man_coverage_rate: Float """ Rate of defensive pass coverage snaps played in Zone coverage. """ def_zone_coverage_rate: Float """ Rate of defensive snaps with Cover 1 (Man-Free) coverage shell. """ def_cover_1_rate: Float """ Rate of defensive snaps with Cover 2 coverage shell. """ def_cover_2_rate: Float """ Rate of defensive snaps with Cover 3 coverage shell. """ def_cover_3_rate: Float """ Rate of defensive snaps with Cover 4 (Quarters) coverage shell. """ def_cover_4_rate: Float """ Rate of defensive snaps with Two-High safety shells (Cover 2, Cover 4, Cover 6, 2-Man). """ def_two_high_shell_rate: Float """ Rate of opponent dropbacks where defensive pressure was generated. """ def_pressure_rate: Float """ Rate of opponent dropbacks where 5 or more pass rushers were sent. """ def_blitz_rate: Float """ Opponent neutral pass rate over expected allowed in neutral game scripts (-6 to +6 score margin). """ def_neutral_pass_oe_allowed: Float """ Opponent pass play rate allowed on 1st and 2nd down. """ def_early_down_pass_rate_allowed: Float """ Opponent middle/slot target share allowed. """ def_slot_target_rate_allowed: Float """ Opponent target share allowed to Tight Ends. """ def_te_target_rate_allowed: Float """ Opponent target share allowed to Running Backs. """ def_rb_target_rate_allowed: Float """ Opponent designed rush rate allowed inside the 20-yard line (red zone). """ def_rz_rush_rate_allowed: Float """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.teams row referenced by `opponent_team_id`; null when unlinked. """ opponent_team: NFLTeams """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ Every coaching change across NFL history with dates — when each head coach, offensive coordinator, and defensive coordinator started, when they left, and why (fired, resigned, promoted, retired). """ type NFLCoachingStaffTenures { """ Primary Key """ id: BigInt """ Reference to the team """ team_id: BigInt """ Reference to the season """ season_id: BigInt """ Coaching position (HC, OC, DC) """ position: String """ Coach full name """ full_name: String first_name: String last_name: String """ Date this coach started in this role """ effective_date: String """ Date this coach ended (null if current) """ end_date: String is_interim: Boolean """ Reason for change (fired, resigned, hired, promoted) """ reason: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ The coaching staff for each NFL team at a given season — head coach, offensive coordinator, defensive coordinator, special teams coordinator, and position coaches. """ type NFLCoachingStaffs { """ Primary Key """ id: BigInt team_id: BigInt season_id: BigInt first_name: String last_name: String full_name: String position: String experience: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ NFL Scouting Combine results — every prospect's measurables and drill times from the annual Indianapolis combine (height, weight, 40-yard dash, vertical jump, bench press, broad jump, three-cone, shuttle). """ type NFLCombineResults { """ Primary Key """ id: BigInt player_id: BigInt """ Calendar year of the Combine (e.g., 2024 for the February 2024 combine). """ season: Int team_id: BigInt """ Position the player was measured as (e.g., QB, WR, RB, CB). """ position: String """ College or last-affiliation school name. """ school: String """ Height as reported by the Combine (e.g., `6-2` for 6 feet 2 inches). """ ht: String """ Weight in pounds. """ wt: Int """ 40-yard dash time in seconds. """ forty: Float """ Bench press repetitions at 225 lbs. """ bench: Int """ Vertical jump in inches. """ vertical: Float """ Broad jump distance in inches. """ broad_jump: Int """ 3-cone drill time in seconds. """ cone: Float """ 20-yard shuttle time in seconds. """ shuttle: Float """ Pro Football Reference player ID (external lookup). """ pfr_id: String """ College Football Reference player ID (external lookup). """ cfb_id: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ One player's depth-chart slot for a given team in a given NFL game — position, depth order (starter, backup, …), roster status, and game context. Exactly one active depth chart per game. """ type NFLDepthCharts { """ Primary Key """ id: BigInt """ FK to nfl.players — the player occupying this depth-chart slot. """ player_id: BigInt """ FK to nfl.games — the game this depth chart is associated with. """ game_id: BigInt """ FK to nfl.teams — the team whose depth chart this row belongs to. """ team_id: BigInt """ FK to nfl.seasons — the season containing this game. """ season_id: BigInt """ NFL week number within the season (1-18 regular season; postseason weeks use higher numbers per league convention). """ week: Int """ Phase of the season: REG (regular season), WC (Wild Card), DIV (Divisional), CON (Conference Championship), SB (Super Bowl). """ game_type: String """ Sub-team designation within the depth chart when present (e.g., a formation-specific team grouping). Sparse — typically NULL. """ depth_team: String """ Formation unit this slot belongs to (e.g., OFF, DEF, ST). Sparse — typically NULL. """ formation: String """ Player's jersey number on the team for this game (nullable — populated when the depth chart includes uniform numbers). """ jersey_number: Int """ Player's listed position abbreviation (e.g., QB, RB, WR, T, DT, CB, MLB, K, P). """ position: String """ Position slot on the depth chart, which can differ from the player's primary position when they're listed at a secondary position (e.g., a player whose primary position is T may also appear on the depth chart at G). """ depth_position: String """ Elias Sports Bureau player identifier (nullable — populated only when the source feed includes Elias IDs). """ elias_id: String """ Depth-chart rank at this position — 1 for the starter, 2 for the primary backup, etc. NFL depth charts typically run 1–5 deep at each position. """ depth_order: Int """ NFL roster status code at the time of the chart: ACT (active), DEV (practice squad / developmental), INA (inactive), RES (reserve / IR), EXE (exempt), CUT (released), TRC (traded — pending), TRD (traded), RET (retired), E01 (other transactional status). """ status: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ Every NFL Draft selection from the modern draft era — round, pick number, drafting team, college, and the career stats that followed (Pro Bowls, All-Pros, Hall of Fame, total games played, career statistics by position). """ type NFLDraftPicks { """ Primary Key """ id: BigInt """ Calendar year of the draft. """ season: Int """ Draft round (1-7). """ round: Int """ Pick number within the round. """ pick: Int team_id: BigInt player_id: BigInt """ Game Statistics and Information System ID (NFL official cross-system join key). """ gsis_id: String """ Pro Football Reference player ID. """ pfr_player_id: String """ College Football Reference player ID. """ cfb_player_id: String """ Player name as recorded on Pro Football Reference. """ pfr_player_name: String """ True if the player is enshrined in the Pro Football Hall of Fame. """ is_hof: Boolean """ Position the player was drafted at (e.g., QB, WR, DE). """ position: String """ Position category (e.g., `OFF`, `DEF`, `ST`). """ category: String """ Side of the ball (`OFF` or `DEF`). """ side: String """ College the player was drafted out of. """ college: String """ Player age at the time of the draft. """ age: Int """ Most recent NFL season the player appeared in (calendar year). """ career_to_year: Int """ Career All-Pro selections. """ allpro_count: Int """ Career Pro Bowl selections. """ probowl_count: Int """ Number of NFL seasons in which the player was a primary starter. """ seasons_started: Int """ Weighted Approximate Value (Pro Football Reference career composite metric). """ w_av: Int """ Career Approximate Value (Pro Football Reference, unweighted sum across seasons). """ car_av: Int """ Approximate Value accumulated while with the drafting team. """ dr_av: Int """ Total career regular-season games played. """ games_played: Int """ Career pass completions. """ pass_completions: Int """ Career pass attempts. """ pass_attempts: Int """ Career passing yards. """ pass_yds: Int """ Career passing touchdowns. """ pass_tds: Int """ Career interceptions thrown. """ pass_ints: Int """ Career rushing attempts. """ rush_atts: Int """ Career rushing yards. """ rush_yds: Int """ Career rushing touchdowns. """ rush_tds: Int """ Career receptions. """ receptions: Int """ Career receiving yards. """ rec_yds: Int """ Career receiving touchdowns. """ rec_tds: Int """ Career solo defensive tackles. """ def_solo_tackles: Int """ Career defensive interceptions. """ def_ints: Int """ Career sacks (defensive; half-sacks supported as decimals). """ def_sacks: Float """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ Each offensive possession in an NFL game — how the drive started, how it ended (touchdown, field goal, punt, turnover), starting and ending field position, time of possession, and play count. """ type NFLGameDrives { """ Primary Key """ id: BigInt game_id: BigInt """ Team with possession (FK to teams) """ possession_team_id: BigInt """ Drive sequence number in game (1-indexed) """ drive_number: Int """ Corrected drive number from nflverse """ fixed_drive: Int """ Quarter when drive started """ quarter_start: Int """ Quarter when drive ended """ quarter_end: Int """ How possession was gained (KICKOFF, PUNT, TURNOVER, etc.) """ start_transition: String """ How possession ended (PUNT, TOUCHDOWN, TURNOVER, etc.) """ end_transition: String """ Drive outcome (Touchdown, Field goal, Punt, Turnover, etc.) """ result: String """ Starting field position (e.g., "KC 25") """ start_yard_line: String """ Ending field position (e.g., "OPP 10") """ end_yard_line: String """ Game clock at drive start (mm:ss) """ game_clock_start: String """ Game clock at drive end (mm:ss) """ game_clock_end: String """ Drive duration (mm:ss format) """ time_of_possession: String """ Number of plays in drive """ play_count: Int """ First downs gained """ first_downs: Int """ Penalty yards on drive """ yds_penalized: Int """ Drive reached red zone """ inside_20: Boolean """ Drive resulted in points """ ended_with_score: Boolean """ play_id of first play in drive """ first_play_id: BigInt """ play_id of last play in drive """ last_play_id: BigInt """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.teams row referenced by `possession_team_id`; null when unlinked. """ possession_team: NFLTeams """ The nfl.play_by_plays row referenced by `first_play_id`; null when unlinked. """ first_play: NFLPlayByPlays """ The nfl.play_by_plays row referenced by `last_play_id`; null when unlinked. """ last_play: NFLPlayByPlays """ nfl.play_by_plays rows whose `drive_id` references this row. """ play_by_plays( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayByPlays!]! } """ NFL game betting lines — point spreads, moneylines, and over/under totals, one row per capture. `source` says where a row came from - `espn` rows are live captures before kickoff (2026 on); `nflverse` rows are one closing line per Final game with `captured_at` equal to kickoff (2020-2025, and a post-game fallback). Regular-season games only. """ type NFLGameLines { """ Primary Key """ id: BigInt game_id: BigInt """ Denormalized for efficient season-level queries """ season_id: BigInt """ Data source (ESPN, DraftKings, FanDuel, nflverse, etc.) """ operator_id: BigInt """ Home team spread (e.g., -3.5 means home favored by 3.5) """ spread: Float """ American odds for home spread (e.g., -110) """ spread_home_odds: Int """ American odds for away spread """ spread_away_odds: Int """ American odds for home team win """ moneyline_home: Int """ American odds for away team win """ moneyline_away: Int """ Combined score total line (e.g., 47.5) """ total: Float """ American odds for over """ over_odds: Int """ American odds for under """ under_odds: Int """ Calculated from spread + total """ implied_home_score: Float """ Calculated from spread + total """ implied_away_score: Float """ From moneyline, 0-1 """ implied_home_win_pct: Float """ From moneyline, 0-1 """ implied_away_win_pct: Float """ When this snapshot was captured """ captured_at: String """ True if this is the opening line """ is_opening: Boolean """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Where the row came from - `espn` (a live capture from the ESPN odds feed, before kickoff) or `nflverse` (the closing line of a Final game from nflverse games.csv; `captured_at` is the kickoff). """ source: String """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The main.operators row referenced by `operator_id`; null when unlinked. """ operator: ReferenceOperators """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons } """ Per-game player stats restricted to first-down plays — the same first-down production breakouts as the season aggregate, for each individual game. """ type NFLGamePlayerFirstdownStats { """ Primary Key """ id: BigInt game_id: BigInt player_id: BigInt team_id: BigInt opponent_team_id: BigInt """ True if player's team is the home team """ is_home: Boolean """ Player position at time of game """ position: String """ Passing attempts on first down """ passing_attempts: Int """ Completed passes on first down """ passing_completions: Int """ Passing yards on first down """ passing_yds: Int """ Passing touchdowns on first down """ passing_tds: Int """ Interceptions thrown on first down """ passing_interceptions: Int """ Passer rating on first down """ passing_rating: Float """ Completion percentage on first down """ passing_completion_percentage: Float """ Passing yards per attempt on first down """ passing_yds_per_attempt: Float """ Passing yards per completion on first down """ passing_yds_per_completion: Float """ Longest pass completion on first down """ passing_long: Int """ Times sacked on first down """ passing_sacks: Int """ Yards lost to sacks on first down """ passing_sack_yds: Int """ Rushing attempts on first down """ rushing_attempts: Int """ Rushing yards on first down """ rushing_yds: Int """ Rushing touchdowns on first down """ rushing_tds: Int """ Rushing yards per attempt on first down """ rushing_yds_per_attempt: Float """ Longest rush on first down """ rushing_long: Int """ Times targeted on first down """ targets: Int """ Receptions on first down """ receptions: Int """ Receiving yards on first down """ receiving_yds: Int """ Receiving touchdowns on first down """ receiving_tds: Int """ Yards per reception on first down """ receiving_yds_per_reception: Float """ Longest reception on first down """ receiving_long: Int """ Reception percentage (receptions/targets) on first down """ reception_percentage: Float """ Receiving yards per target on first down """ receiving_yds_per_target: Float """ Fumbles on first down """ fumbles: Int """ Fumbles lost on first down """ fumbles_lost: Int """ Total offensive touchdowns on first down """ offensive_tds: Int """ Total touchdowns scored on first down """ total_tds: Int two_pt_pass_conversions: Int two_pt_rush_conversions: Int two_pt_reception_conversions: Int """ Offensive snaps played on first down """ offensive_snaps: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Solo tackles on first down """ solo_tackles: Int """ Assisted tackles on first down """ assisted_tackles: Int """ Tackles for loss on first down """ tackles_for_loss: Int """ Sacks on first down (0.5 for half sacks) """ sacks: Float """ QB hits on first down """ quarterback_hits: Int """ Passes defended on first down """ passes_defended: Int """ Interceptions on first down """ interceptions: Int """ Interception return yards on first down """ interception_yds: Int """ Interception return touchdowns on first down """ interception_tds: Int """ Forced fumbles on first down """ forced_fumbles: Int """ Fumbles recovered on first down """ fumbles_recovered: Int """ Fumble recovery yards on first down """ fumble_recovery_yds: Int """ Fumble recovery touchdowns on first down """ fumble_recovery_tds: Int """ Total defensive touchdowns on first down """ defensive_tds: Int """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.teams row referenced by `opponent_team_id`; null when unlinked. """ opponent_team: NFLTeams """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ NFL Next Gen Stats for quarterbacks per game — RFID-tracked passing metrics like time to throw, average depth of target, completed air yards, on-target throw rate, and aggressiveness against tight coverage. """ type NFLGamePlayerNgsPassings { """ Primary Key """ id: BigInt game_id: BigInt player_id: BigInt team_id: BigInt season: Int week: Int """ Canonical season phase. """ season_type: String """ Average time from snap to throw (seconds) """ avg_time_to_throw: Float """ Average air yards on completed passes """ avg_completed_air_yds: Float """ Average air yards on all pass attempts """ avg_intended_air_yds: Float """ Difference between intended and completed air yards """ avg_air_yds_differential: Float """ Percentage of throws into tight windows (defender within 1 yard) """ aggressiveness: Float """ Longest completed pass distance (ball travel) """ max_completed_air_distance: Float """ Average air yards relative to first down marker """ avg_air_yds_to_sticks: Float """ Average ball travel distance on all attempts """ avg_air_distance: Float """ Maximum ball travel distance """ max_air_distance: Float """ Model-predicted completion percentage based on throw difficulty """ expected_completion_percentage: Float """ CPOE - Actual completion % minus expected (positive = better than expected) """ completion_percentage_above_expectation: Float attempts: Int completions: Int completion_percentage: Float pass_yds: Int pass_tds: Int interceptions: Int passer_rating: Float """ GSIS ID for cross-reference """ player_gsis_id: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ NFL Next Gen Stats for receivers per game — RFID-tracked receiving metrics like separation at the throw, cushion at the snap, target separation, and yards over expected. """ type NFLGamePlayerNgsReceivings { """ Primary Key """ id: BigInt game_id: BigInt player_id: BigInt team_id: BigInt season: Int week: Int """ Canonical season phase. """ season_type: String """ Average distance from nearest defender at snap (yards) """ avg_cushion: Float """ Average distance from nearest defender at catch point (yards) """ avg_separation: Float """ Average depth of targets """ avg_intended_air_yds: Float """ Percentage of team total intended air yards (deep target share) """ percent_share_of_intended_air_yds: Float """ Average yards after catch """ avg_yac: Float """ Model-predicted YAC based on catch location/defenders """ avg_expected_yac: Float """ Actual YAC minus expected (positive = creates extra yards) """ avg_yac_above_expectation: Float targets: Int receptions: Int catch_percentage: Float yards: Int rec_tds: Int """ GSIS ID for cross-reference """ player_gsis_id: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ NFL Next Gen Stats for ball carriers per game — RFID-tracked rushing metrics like efficiency, expected rushing yards, rushing yards over expected, and time behind the line of scrimmage. """ type NFLGamePlayerNgsRushings { """ Primary Key """ id: BigInt game_id: BigInt player_id: BigInt team_id: BigInt season: Int week: Int """ Canonical season phase. """ season_type: String """ Distance traveled per rushing yard gained (lower = more efficient) """ efficiency: Float """ Percentage of rushes facing 8+ defenders in box """ percent_attempts_gte_eight_defenders: Float """ Average time to reach line of scrimmage (seconds) """ avg_time_to_los: Float """ Model-predicted rushing yards based on blocking/defense """ expected_rush_yds: Float """ RYOE - Actual yards minus expected (positive = better) """ rush_yds_over_expected: Float """ RYOE per attempt """ rush_yds_over_expected_per_att: Float """ RYOE as percentage over expected """ rush_pct_over_expected: Float rush_attempts: Int rush_yds: Int avg_rush_yds: Float rush_tds: Int """ GSIS ID for cross-reference """ player_gsis_id: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ Per-game advanced player stats in the Pro Football Reference tradition — drop rates, time under pressure, yards before and after contact, broken tackles, passer rating allowed in coverage. """ type NFLGamePlayerPfrAdvstats { """ Primary Key """ id: BigInt game_id: BigInt player_id: BigInt team_id: BigInt """ Opposing team in this matchup (FK to `teams`). """ opponent_team_id: BigInt """ Pass attempts dropped by the receiver (charged to the QB's catchable-target count). """ passing_drops: Int """ Drop rate on catchable passes (0.0-100.0). """ passing_drop_pct: Float """ Drops charged to this receiver. """ receiving_drop: Int """ Receiver drop rate on catchable targets (0.0-100.0). """ receiving_drop_pct: Float """ Pass attempts charged as bad throws by PFR scoring. """ passing_bad_throws: Int """ Bad-throw rate on pass attempts (0.0-100.0). """ passing_bad_throw_pct: Float """ Sacks taken by this QB. """ times_sacked: Int """ Dropbacks the QB faced a blitz. """ times_blitzed: Int """ Dropbacks the QB was hurried but not pressured. """ times_hurried: Int """ QB hits (defender contacted the QB on the throw). """ times_hit: Int """ Total pressures faced (sum of hurries/hits/sacks-allowed indicators). """ times_pressured: Int """ Pressure rate per dropback (0.0-100.0). """ times_pressured_pct: Float """ Rushing attempts. """ carries: Int """ Total rushing yards gained before first contact. """ rushing_yds_before_contact: Int """ Yards before contact averaged per rush. """ rushing_yds_before_contact_avg: Float """ Total rushing yards gained after first contact. """ rushing_yds_after_contact: Int """ Yards after contact averaged per rush. """ rushing_yds_after_contact_avg: Float """ Tackles the runner broke on rushing plays. """ rushing_broken_tackles: Int """ Tackles the receiver broke on receiving plays. """ receiving_broken_tackles: Int """ Interceptions thrown when this player was the target. """ receiving_int: Int """ Passer rating generated when targeted (0-158.3). """ receiving_rat: Float """ Interceptions made by this defender in coverage. """ def_ints: Int """ Pass targets thrown at this defender's coverage assignment. """ def_targets: Int """ Receptions allowed in coverage. """ def_completions_allowed: Int """ Completion percentage allowed (0.0-100.0). """ def_completion_pct: Float """ Receiving yards allowed in coverage. """ def_yds_allowed: Int """ Yards allowed per reception. """ def_yds_allowed_per_cmp: Float """ Yards allowed per target. """ def_yds_allowed_per_tgt: Float """ Receiving touchdowns allowed in coverage. """ def_receiving_td_allowed: Int """ Passer rating allowed when targeted (0-158.3). """ def_passer_rating_allowed: Float """ Average depth of target (yards) when this defender was in coverage. """ def_adot: Float """ Air yards completed on receptions allowed. """ def_air_yds_completed: Int """ Yards-after-catch allowed in coverage. """ def_yds_after_catch: Int """ Pass-rushing snaps as a blitzer. """ def_times_blitzed: Int """ Hurries generated as a pass rusher. """ def_times_hurried: Int """ QB hits generated as a pass rusher. """ def_times_hitqb: Int """ Sacks recorded (half-sacks supported as decimals). """ def_sacks: Float """ Total pressures generated (hurries + hits + sacks). """ def_pressures: Int """ Combined tackles (solo + assisted). """ def_tackles_combined: Int """ Tackle attempts missed by this defender. """ def_missed_tackles: Int """ Missed-tackle rate on tackle opportunities (0.0-100.0). """ def_missed_tackle_pct: Float """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.teams row referenced by `opponent_team_id`; null when unlinked. """ opponent_team: NFLTeams """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ NFL player prop bets for each game — passing yards, rushing touchdowns, receptions, and other player-statistic markets offered by sportsbooks. """ type NFLGamePlayerProps { """ Primary Key """ id: BigInt game_id: BigInt player_id: BigInt """ Denormalized for efficient season-level queries """ season_id: BigInt """ Usually consensus """ operator_id: BigInt """ Canonical prop category. Common values: - passing_yds, passing_tds, passing_attempts, completions, interceptions - rushing_yds, rushing_tds, rushing_attempts - receiving_yds, receiving_tds, receptions, targets - longest_reception, longest_rush, longest_pass - sacks, tackles, interceptions_def - anytime_td, first_td """ category: String """ Optional subtype (alternate, boosted, etc.) """ subcategory: String """ Prop line for over/under markets (275.5 yards, 1.5 TDs). NULL for yes/no markets. """ line: Float """ American odds for over """ over_odds: Int """ American odds for under """ under_odds: Int captured_at: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Raw market key from source API (e.g., player_reception_yds) """ market_key: String """ Optional period code (1Q, 1H). NULL = full game. """ period_code: String """ ou | yes_no """ outcome_type: String """ American odds for yes (anytime_td, first_td) """ yes_odds: Int """ American odds for no (anytime_td, first_td) """ no_odds: Int """ Number of curated books contributing to this consensus value """ book_count: Int """ True for the first capture of a (game, player, market, line) """ is_opening: Boolean """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The main.operators row referenced by `operator_id`; null when unlinked. """ operator: ReferenceOperators """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons } """ Per-game player stats restricted to red-zone plays — the same red-zone breakouts as the season aggregate, for each individual game. """ type NFLGamePlayerRedzoneStats { """ Primary Key """ id: BigInt game_id: BigInt player_id: BigInt team_id: BigInt opponent_team_id: BigInt """ True if player's team is the home team """ is_home: Boolean """ Player position at time of game """ position: String """ Passing attempts in the red zone """ passing_attempts: Int """ Completed passes in the red zone """ passing_completions: Int """ Passing yards in the red zone """ passing_yds: Int """ Passing touchdowns in the red zone """ passing_tds: Int """ Interceptions thrown in the red zone """ passing_interceptions: Int """ Passer rating in the red zone """ passing_rating: Float """ Completion percentage in the red zone """ passing_completion_percentage: Float """ Passing yards per attempt in the red zone """ passing_yds_per_attempt: Float """ Passing yards per completion in the red zone """ passing_yds_per_completion: Float """ Longest pass completion in the red zone """ passing_long: Int """ Times sacked in the red zone """ passing_sacks: Int """ Yards lost to sacks in the red zone """ passing_sack_yds: Int """ Rushing attempts in the red zone """ rushing_attempts: Int """ Rushing yards in the red zone """ rushing_yds: Int """ Rushing touchdowns in the red zone """ rushing_tds: Int """ Rushing yards per attempt in the red zone """ rushing_yds_per_attempt: Float """ Longest rush in the red zone """ rushing_long: Int """ Times targeted in the red zone """ targets: Int """ Receptions in the red zone """ receptions: Int """ Receiving yards in the red zone """ receiving_yds: Int """ Receiving touchdowns in the red zone """ receiving_tds: Int """ Yards per reception in the red zone """ receiving_yds_per_reception: Float """ Longest reception in the red zone """ receiving_long: Int """ Reception percentage (receptions/targets) in the red zone """ reception_percentage: Float """ Receiving yards per target in the red zone """ receiving_yds_per_target: Float """ Fumbles in the red zone """ fumbles: Int """ Fumbles lost in the red zone """ fumbles_lost: Int """ Total offensive touchdowns in the red zone """ offensive_tds: Int """ Total touchdowns scored in the red zone """ total_tds: Int """ Successful two-point conversion passes in the red zone """ two_pt_pass_conversions: Int """ Successful two-point conversion runs in the red zone """ two_pt_rush_conversions: Int """ Successful two-point conversion receptions in the red zone """ two_pt_reception_conversions: Int """ Offensive snaps played in red zone situations """ offensive_snaps: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Solo tackles in red zone """ solo_tackles: Int """ Assisted tackles in red zone """ assisted_tackles: Int """ Tackles for loss in red zone """ tackles_for_loss: Int """ Sacks in red zone (0.5 for half sacks) """ sacks: Float """ QB hits in red zone """ quarterback_hits: Int """ Passes defended in red zone """ passes_defended: Int """ Interceptions in red zone """ interceptions: Int """ Interception return yards in red zone """ interception_yds: Int """ Interception return touchdowns in red zone """ interception_tds: Int """ Forced fumbles in red zone """ forced_fumbles: Int """ Fumbles recovered in red zone """ fumbles_recovered: Int """ Fumble recovery yards in red zone """ fumble_recovery_yds: Int """ Fumble recovery touchdowns in red zone """ fumble_recovery_tds: Int """ Total defensive touchdowns in red zone """ defensive_tds: Int """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.teams row referenced by `opponent_team_id`; null when unlinked. """ opponent_team: NFLTeams """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ Each NFL player's stat line for each game — every passing, rushing, receiving, defensive, special-teams, and scoring statistic recorded that day. """ type NFLGamePlayerStats { """ Primary Key """ id: BigInt game_id: BigInt player_id: BigInt team_id: BigInt opponent_team_id: BigInt """ True if player's team is the home team """ is_home: Boolean """ Player position at time of game """ position: String """ Position group (QB, RB, WR, TE, etc.) """ position_group: String completions: Int pass_attempts: Int passing_yds: Int passing_tds: Int interceptions_thrown: Int sacks_allowed: Int sack_yds: Int sack_fumbles: Int sack_fumbles_lost: Int passing_air_yds: Int passing_yds_after_catch: Int passing_first_downs: Int """ Expected points added from passing """ passing_epa: Float passing_2pt_conversions: Int """ Passer air conversion ratio """ pacr: Float """ DAKOTA: adjusted completion % + EPA metric """ dakota: Float rushing_attempts: Int rushing_yds: Int rushing_tds: Int rushing_fumbles: Int rushing_fumbles_lost: Int rushing_first_downs: Int """ Expected points added from rushing """ rushing_epa: Float rushing_2pt_conversions: Int receptions: Int targets: Int receiving_yds: Int receiving_tds: Int receiving_fumbles: Int receiving_fumbles_lost: Int receiving_air_yds: Int receiving_yds_after_catch: Int receiving_first_downs: Int """ Expected points added from receiving """ receiving_epa: Float receiving_2pt_conversions: Int """ Receiver air conversion ratio """ racr: Float """ Percentage of team targets """ target_share: Float """ Percentage of team air yards """ air_yds_share: Float """ Weighted opportunity rating """ wopr: Float special_teams_tds: Int """ Standard fantasy points (nflverse calculation) """ fantasy_pts: Float """ PPR fantasy points (nflverse calculation) """ fantasy_pts_ppr: Float """ Passer rating """ passing_rating: Float """ Longest pass completion (yards) """ passing_long: Int """ Completion percentage """ passing_completion_percentage: Float """ Longest rush (yards) """ rushing_long: Int """ Rushing yards per attempt """ rushing_yds_per_attempt: Float """ Longest reception (yards) """ receiving_long: Int """ Yards per reception """ receiving_yds_per_reception: Float """ Reception percentage (receptions/targets) """ reception_percentage: Float """ Number of punt returns """ punt_returns: Int """ Total punt return yards """ punt_return_yds: Int """ Punt return touchdowns """ punt_return_tds: Int """ Longest punt return (yards) """ punt_return_long: Int """ Number of kick returns """ kick_returns: Int """ Total kick return yards """ kick_return_yds: Int """ Kick return touchdowns """ kick_return_tds: Int """ Longest kick return (yards) """ kick_return_long: Int """ Solo tackles """ solo_tackles: Int """ Assisted tackles """ assisted_tackles: Int """ Tackles for loss """ tackles_for_loss: Int """ Defensive sacks (can be half sacks) """ defensive_sacks: Float """ Quarterback hits """ quarterback_hits: Int """ Passes defended """ passes_defended: Int """ Forced fumbles """ forced_fumbles: Int """ Fumbles recovered """ fumbles_recovered: Int """ Defensive interceptions """ defensive_interceptions: Int """ Interception return yards """ interception_return_yds: Int """ Interception return touchdowns """ interception_return_tds: Int """ Safeties """ safeties: Int """ Field goals made """ field_goals_made: Int """ Field goals attempted """ field_goals_attempted: Int """ Field goal percentage """ field_goal_percentage: Float """ Longest field goal made (yards) """ field_goals_longest: Int """ Field goals made 0-19 yards """ field_goals_made_0_19: Int """ Field goals made 20-29 yards """ field_goals_made_20_29: Int """ Field goals made 30-39 yards """ field_goals_made_30_39: Int """ Field goals made 40-49 yards """ field_goals_made_40_49: Int """ Field goals made 50+ yards """ field_goals_made_50_plus: Int """ Extra points made """ extra_pts_made: Int """ Extra points attempted """ extra_pts_attempted: Int """ Number of punts """ punts: Int """ Total punt yards """ punt_yds: Int """ Punt average (yards) """ punt_average: Float """ Punts inside 20 yard line """ punt_inside_20: Int """ Punt touchbacks """ punt_touchbacks: Int """ Longest punt (yards) """ punt_long: Int """ Offensive snaps played """ offensive_snaps: Int """ Defensive snaps played """ defensive_snaps: Int """ Special teams snaps played """ special_teams_snaps: Int """ Depth chart position (QB1, RB2, etc.) - joined from depth charts """ depth_position: String """ Depth order within position (1=starter, 2=backup, etc.) - joined from depth charts """ depth_order: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Total team offensive snaps (for calculating snap %) """ offensive_team_snaps: Int """ Total team defensive snaps (for calculating snap %) """ defensive_team_snaps: Int """ Total team special teams snaps (for calculating snap %) """ special_teams_team_snaps: Int """ Yards lost on defensive sacks """ defensive_sack_yds: Int """ Fumble return yards """ fumble_return_yds: Int """ Fumble return touchdowns """ fumble_return_tds: Int """ Blocked kicks (FG, XP, punts) """ blocked_kicks: Int """ Total defensive touchdowns (INT + fumble return TDs) """ defensive_tds: Int """ Punt return average (yards per return) """ punt_return_avg: Float """ Fair catches on punt returns """ punt_return_fair_catches: Int """ Kick return average (yards per return) """ kick_return_avg: Float """ Fair catches on kick returns """ kick_return_fair_catches: Int """ Blocked kick return yards """ blocked_kick_return_yds: Int """ Blocked kick return touchdowns """ blocked_kick_return_tds: Int """ Field goal return yards (missed FG returns) """ field_goal_return_yds: Int """ Field goal return touchdowns """ field_goal_return_tds: Int """ Solo tackles on special teams """ special_teams_solo_tackles: Int """ Assisted tackles on special teams """ special_teams_assisted_tackles: Int """ Fumbles forced on special teams """ special_teams_fumbles_forced: Int """ Fumbles recovered on special teams """ special_teams_fumbles_recovered: Int """ Miscellaneous solo tackles """ misc_solo_tackles: Int """ Miscellaneous assisted tackles """ misc_assisted_tackles: Int """ Miscellaneous fumbles forced """ misc_fumbles_forced: Int """ Miscellaneous fumbles recovered """ misc_fumbles_recovered: Int """ Own fumbles recovered """ fumbles_own_recoveries: Int """ Fumbles out of bounds """ fumbles_out_of_bounds: Int """ Field goals blocked by opponent """ field_goals_had_blocked: Int """ Extra points blocked by opponent """ extra_pts_had_blocked: Int """ Net punt average (gross - return yards) """ punt_net_average: Float """ Punts blocked by opponent """ punts_had_blocked: Int """ Net punt yards (gross - return yards) """ punt_net_yds: Int """ Two-point conversion returns (defensive) """ two_pt_returns: Int """ Stadium name """ stadium: String """ Playing surface type (grass, turf, etc.) """ playing_surface: String """ Game temperature (Fahrenheit) """ temperature: Int """ Humidity percentage """ humidity: Int """ Wind speed (mph) """ wind_speed: Int """ Fumbles on punt returns (includes muffs) """ punt_return_fumbles: Int """ Fumbles lost on punt returns """ punt_return_fumbles_lost: Int """ Fumbles on kick returns """ kick_return_fumbles: Int """ Fumbles lost on kick returns """ kick_return_fumbles_lost: Int """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.teams row referenced by `opponent_team_id`; null when unlinked. """ opponent_team: NFLTeams """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ Per-game player stats restricted to third-down plays — the same third-down breakouts as the season aggregate, for each individual game. """ type NFLGamePlayerThirddownStats { """ Primary Key """ id: BigInt game_id: BigInt player_id: BigInt team_id: BigInt opponent_team_id: BigInt """ True if player's team is the home team """ is_home: Boolean """ Player position at time of game """ position: String """ Passing attempts on third down """ passing_attempts: Int """ Completed passes on third down """ passing_completions: Int """ Passing yards on third down """ passing_yds: Int """ Passing touchdowns on third down """ passing_tds: Int """ Interceptions thrown on third down """ passing_interceptions: Int """ Passer rating on third down """ passing_rating: Float """ Completion percentage on third down """ passing_completion_percentage: Float """ Passing yards per attempt on third down """ passing_yds_per_attempt: Float """ Passing yards per completion on third down """ passing_yds_per_completion: Float """ Longest pass completion on third down """ passing_long: Int """ Times sacked on third down """ passing_sacks: Int """ Yards lost to sacks on third down """ passing_sack_yds: Int """ Rushing attempts on third down """ rushing_attempts: Int """ Rushing yards on third down """ rushing_yds: Int """ Rushing touchdowns on third down """ rushing_tds: Int """ Rushing yards per attempt on third down """ rushing_yds_per_attempt: Float """ Longest rush on third down """ rushing_long: Int """ Times targeted on third down """ targets: Int """ Receptions on third down """ receptions: Int """ Receiving yards on third down """ receiving_yds: Int """ Receiving touchdowns on third down """ receiving_tds: Int """ Yards per reception on third down """ receiving_yds_per_reception: Float """ Longest reception on third down """ receiving_long: Int """ Reception percentage (receptions/targets) on third down """ reception_percentage: Float """ Receiving yards per target on third down """ receiving_yds_per_target: Float """ Fumbles on third down """ fumbles: Int """ Fumbles lost on third down """ fumbles_lost: Int """ Total offensive touchdowns on third down """ offensive_tds: Int """ Total touchdowns scored on third down """ total_tds: Int two_pt_pass_conversions: Int two_pt_rush_conversions: Int two_pt_reception_conversions: Int """ Offensive snaps played on third down """ offensive_snaps: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Solo tackles on third down """ solo_tackles: Int """ Assisted tackles on third down """ assisted_tackles: Int """ Tackles for loss on third down """ tackles_for_loss: Int """ Sacks on third down (0.5 for half sacks) """ sacks: Float """ QB hits on third down """ quarterback_hits: Int """ Passes defended on third down """ passes_defended: Int """ Interceptions on third down """ interceptions: Int """ Interception return yards on third down """ interception_yds: Int """ Interception return touchdowns on third down """ interception_tds: Int """ Forced fumbles on third down """ forced_fumbles: Int """ Fumbles recovered on third down """ fumbles_recovered: Int """ Fumble recovery yards on third down """ fumble_recovery_yds: Int """ Fumble recovery touchdowns on third down """ fumble_recovery_tds: Int """ Total defensive touchdowns on third down """ defensive_tds: Int """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.teams row referenced by `opponent_team_id`; null when unlinked. """ opponent_team: NFLTeams """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ The officiating crew working each NFL game — who refereed, who umpired, who judged each part of the field. """ type NFLGameReferees { """ Primary Key """ id: BigInt game_id: BigInt referee_id: BigInt position: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.referees row referenced by `referee_id`; null when unlinked. """ referee: NFLReferees } """ The gameday roster for each NFL game — every player who suited up that day, who started, who was inactive, and at what position. """ type NFLGameTeamRosters { """ Primary Key """ id: BigInt game_id: BigInt team_id: BigInt player_id: BigInt """ Position the player suited up at for this game. """ position: String """ Roster status for the game, readable single-word vocabulary (`Active`, `Inactive`, `PracticeSquad`, `Reserve`, `Cut`, `Retired`, `Exempt`, `PracticeSquadReleased`). """ status: String """ Optional note from the gameday roster report (e.g., reason for inactive). """ comment: String """ True if the player started this game. """ starter: Boolean """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Position slot on the depth chart for this game (e.g. QB, RB, WR, LT, CB). """ depth_position: String """ Depth-chart rank at this position for this game (1 = starter, 2 = backup, etc.). """ depth_order: Int """ Formation unit this slot belongs to (offense, defense, special_teams). """ formation: String """ Final game injury report designation as of kickoff lock (e.g. Questionable, Doubtful, Out, or NULL if uninjured). """ injury_status: String """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ The coaching staff on the sideline for each NFL game — head coach, offensive coordinator, defensive coordinator, for both teams. """ type NFLGameTeamStaffs { """ Primary Key """ id: BigInt """ Reference to the game """ game_id: BigInt """ Reference to the team """ team_id: BigInt """ Head coach name (from nflverse) """ head_coach: String """ Offensive coordinator name """ offensive_coordinator: String """ Defensive coordinator name """ defensive_coordinator: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ Each NFL team's stat line for each game — the same offensive, defensive, scoring, and situational counters as the season aggregate, broken out per game with home/away context. """ type NFLGameTeamStats { """ Primary Key """ id: BigInt game_id: BigInt team_id: BigInt """ True if team is the home team """ is_home: Boolean win: Int loss: Int tie: Int pts: Int total_yds: Int passing_yds: Int rushing_yds: Int first_downs: Int first_downs_passing: Int first_downs_rushing: Int first_downs_penalty: Int third_down_conversions: Int third_down_attempts: Int third_down_percentage: Float fourth_down_conversions: Int fourth_down_attempts: Int fourth_down_percentage: Float completions: Int pass_attempts: Int completion_percentage: Float yds_per_pass_attempt: Float passing_tds: Int interceptions_thrown: Int sacks_allowed: Int sack_yds: Int passer_rating: Float rushing_attempts: Int yds_per_carry: Float rushing_tds: Int receptions: Int receiving_yds: Int receiving_tds: Int tackles: Int tackles_for_loss: Int defensive_sacks: Int quarterback_hits: Int defensive_interceptions: Int passes_defended: Int forced_fumbles: Int fumbles_recovered: Int defensive_tds: Int safeties: Int turnovers: Int fumbles_lost: Int turnover_differential: Int penalties: Int penalty_yds: Int time_of_possession: Int red_zone_attempts: Int red_zone_conversions: Int red_zone_percentage: Float field_goals_made: Int field_goals_attempted: Int field_goal_percentage: Float extra_pts_made: Int extra_pts_attempted: Int two_point_conversions: Int two_point_conversion_attempts: Int punts: Int punt_yds: Int punt_average: Float kick_return_yds: Int kick_return_tds: Int punt_return_yds: Int punt_return_tds: Int """ Points allowed for DST scoring (DraftKings/Yahoo). Includes return TDs against - real scoreboard points. """ pts_allowed_dst: Int """ Points allowed for DEF scoring (FanDuel). Excludes return TDs against - only offensive points allowed. """ pts_allowed_def: Int """ Total blocked kicks (FGs + XPs + punts) for DST fantasy scoring """ blocked_kicks: Int blocked_field_goals: Int blocked_extra_pts: Int blocked_punts: Int """ Total offensive snaps by team in game """ offensive_team_snaps: Int """ Total defensive snaps by team in game """ defensive_team_snaps: Int """ Total special teams snaps by team in game """ special_teams_team_snaps: Int """ Points scored in Q1 """ score_q1: Int """ Points scored in Q2 """ score_q2: Int """ Points scored in Q3 """ score_q3: Int """ Points scored in Q4 """ score_q4: Int """ Points scored in overtime """ score_ot: Int """ Total offensive plays run """ offensive_plays: Int """ Total offensive yards gained """ offensive_yds: Int """ Average yards per offensive play """ yds_per_play: Float """ Total touchdowns scored """ touchdowns: Int """ Number of passing dropbacks """ passing_dropbacks: Int """ Passing yards per completion """ yds_per_completion: Float """ Percentage of passes intercepted """ interception_percentage: Float """ Rushing yards per attempt """ rushing_yds_per_attempt: Float """ Number of punt returns """ punt_returns: Int """ Longest punt return """ punt_return_long: Int """ Number of kick returns """ kick_returns: Int """ Longest kick return """ kick_return_long: Int """ Total punt and kick return yards """ total_return_yds: Int """ Number of kickoffs """ kickoffs: Int """ Kickoffs that reached the end zone """ kickoffs_in_endzone: Int """ Kickoffs resulting in touchbacks """ kickoff_touchbacks: Int """ Net punt average yards """ punt_net_average: Float """ Total net punt yards """ punt_net_yds: Int """ Number of punts blocked """ punts_blocked: Int """ Field goals that were blocked """ field_goals_blocked: Int """ Extra points that were blocked """ extra_pts_blocked: Int """ Number of interception returns """ interception_returns: Int """ Interception return yards """ interception_return_yds: Int """ Interception return touchdowns """ interception_return_tds: Int """ Fumble return yards """ fumble_return_yds: Int """ Fumble return touchdowns """ fumble_return_tds: Int """ Blocked kick return yards """ blocked_kick_return_yds: Int """ Blocked kick return touchdowns """ blocked_kick_return_tds: Int """ Field goal return yards (missed FGs) """ field_goal_return_yds: Int """ Field goal return touchdowns """ field_goal_return_tds: Int """ Two-point conversion pass attempts """ two_pt_pass_attempts: Int """ Two-point conversion pass conversions """ two_pt_pass_conversions: Int """ Two-point conversion rush attempts """ two_pt_rush_attempts: Int """ Two-point conversion rush conversions """ two_pt_rush_conversions: Int """ Defensive two-point conversion returns """ two_pt_conversion_returns: Int """ Points scored minus points allowed """ point_differential: Int """ QB hits made minus QB hits allowed """ qb_hits_differential: Int """ Tackles for loss made minus allowed """ tfl_differential: Int """ Sacks made minus sacks allowed """ sacks_differential: Int """ Opponent penalty yards minus own penalty yards """ penalty_yds_differential: Int """ Punt return yards minus opponent punt return yards """ punt_return_yds_differential: Int """ Kick return yards minus opponent kick return yards """ kick_return_yds_differential: Int """ Extra point conversion percentage """ extra_pt_percentage: Float """ Average yards per punt return """ punt_return_avg: Float """ Average yards per kick return """ kick_return_avg: Float """ Percentage of plays resulting in TFL """ tfl_percentage: Float """ Percentage of dropbacks resulting in QB hit """ qb_hits_percentage: Float """ Percentage of dropbacks resulting in sack """ sacked_percentage: Float """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ On-field weather throughout each NFL game — temperature, wind, humidity, and precipitation captured at fixed intervals from kickoff. Useful for outdoor-game performance analysis. """ type NFLGameWeathers { """ Primary Key """ id: BigInt game_id: BigInt stadium_id: BigInt """ Minutes from game start (0, 30, 60, 90, 120, 150) """ minutes_from_start: Int temperature: Int feels_like_temperature: Int humidity: Float wind_speed: Float wind_direction: Float wind_gust: Float precipitation: Float precipitation_probability: Float weather_condition: String weather_description: String is_dome: Boolean roof_status: String field_condition: String recorded_at: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Dew point (°F) at this interval. """ dew_point: Float """ Snowfall rate (inches/hour) at this interval. """ snowfall: Float """ Snow depth on the ground (inches) at this interval. """ snow_depth: Float """ Cumulative liquid rain (inches) from 3 hours before kickoff through this interval. """ rain_accum: Float """ Cumulative snowfall (inches) from 3 hours before kickoff through this interval. """ snow_accum: Float """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.stadiums row referenced by `stadium_id`; null when unlinked. """ stadium: NFLStadiums } """ Every scheduled and played NFL game — preseason exhibitions, the 18-week regular season, the playoffs from Wild Card weekend through the Super Bowl. """ type NFLGames { """ Primary Key """ id: BigInt season_id: BigInt """ Scheduled kickoff time (timezone-aware); null when the league published no time. """ game_time: String """ Official NFL game ID from league source """ league_game_id: String home_team_id: BigInt away_team_id: BigInt """ Game classification (`Regular`, `Playoff`, `Super Bowl`, `Preseason`). """ type: String """ Game status. Currently always `Scheduled` (status reconciliation is pending) — detect completed games via populated scores, not this field. """ status: String """ Actual game end timestamp; null until the game completes. """ end_time: String """ Canonical season phase. Postseason round detail (Wild Card / Divisional / Conference Championship / Super Bowl) lives in `playoff_round`. """ season_type: String """ Week number within the season stage — 1-18 for regular season, restarting at 1 in the postseason (1 Wild Card, 2 Divisional, 3 Conference Championship, 4 Super Bowl). Note nfl.injuries.week uses the continuous 19-22 convention instead. """ week: Int """ Calendar day as a YYYYMMDD integer (e.g. 20240915), US Eastern. """ day: Int """ Denormalized team abbreviation for the away side at game time (snapshot copy of `teams.abbreviation`). """ away_team: String """ Denormalized team abbreviation for the home side at game time (snapshot copy of `teams.abbreviation`). """ home_team: String """ Stadium hosting the game (FK to `stadiums`). """ stadium_id: Int """ Primary broadcast network/channel (e.g., `CBS`, `FOX`, `Prime Video`). """ channel: String """ Reported attendance count; null when not published. """ attendance: Int """ Final away-team score; 0 (not null) until the game completes. """ away_team_score: Int """ Final home-team score; 0 (not null) until the game completes. """ home_team_score: Int """ Sportsbook rotation number for the home team (3-4 digit cross-book reference). """ home_rotation_number: Int """ Sportsbook rotation number for the away team (3-4 digit cross-book reference). """ away_rotation_number: Int """ True if the game is played at a neutral site (Super Bowl, international games, etc.). """ neutral_venue: Boolean """ Postseason round (`WildCard`, `Divisional`, `Conference Championship`, `Super Bowl`); null outside the postseason. """ playoff_round: String """ Home-team playoff seed (1-7); null outside the postseason. """ playoff_seed_home: Int """ Away-team playoff seed (1-7); null outside the postseason. """ playoff_seed_away: Int """ Display label for special games (e.g., `Thanksgiving Day`, `Monday Night Football`). """ game_label: String """ Secondary label or sub-category for the game. """ game_sub_label: String """ Reason for postponement (e.g., `Weather`, `COVID`); null for games played as scheduled. """ postponed_status: String """ True if the game went to overtime. """ overtime: Boolean """ Number of overtime periods played (1+ when `overtime` is true). """ overtime_periods: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ True when the league has not set the kickoff time yet; `game_time` then holds a provisional Sunday 1:00 PM ET of the game's week, not a real kickoff. """ time_tbd: Boolean """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons """ The nfl.stadiums row referenced by `stadium_id`; null when unlinked. """ stadium: NFLStadiums """ nfl.coach_scheme_tendencies rows whose `game_id` references this row. """ coach_scheme_tendencies( """ Page size (default 50, max 500). """ first: Int ): [NFLCoachSchemeTendencies!]! """ nfl.depth_charts rows whose `game_id` references this row. """ depth_charts( """ Page size (default 50, max 500). """ first: Int ): [NFLDepthCharts!]! """ nfl.game_drives rows whose `game_id` references this row. """ game_drives( """ Page size (default 50, max 500). """ first: Int ): [NFLGameDrives!]! """ nfl.game_lines rows whose `game_id` references this row. """ game_lines( """ Page size (default 50, max 500). """ first: Int ): [NFLGameLines!]! """ nfl.game_player_firstdown_stats rows whose `game_id` references this row. """ game_player_firstdown_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerFirstdownStats!]! """ nfl.game_player_ngs_passings rows whose `game_id` references this row. """ game_player_ngs_passings( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerNgsPassings!]! """ nfl.game_player_ngs_receivings rows whose `game_id` references this row. """ game_player_ngs_receivings( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerNgsReceivings!]! """ nfl.game_player_ngs_rushings rows whose `game_id` references this row. """ game_player_ngs_rushings( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerNgsRushings!]! """ nfl.game_player_pfr_advstats rows whose `game_id` references this row. """ game_player_pfr_advstats( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerPfrAdvstats!]! """ nfl.game_player_props rows whose `game_id` references this row. """ game_player_props( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerProps!]! """ nfl.game_player_redzone_stats rows whose `game_id` references this row. """ game_player_redzone_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerRedzoneStats!]! """ nfl.game_player_stats rows whose `game_id` references this row. """ game_player_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerStats!]! """ nfl.game_player_thirddown_stats rows whose `game_id` references this row. """ game_player_thirddown_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerThirddownStats!]! """ nfl.game_referees rows whose `game_id` references this row. """ game_referees( """ Page size (default 50, max 500). """ first: Int ): [NFLGameReferees!]! """ nfl.game_team_rosters rows whose `game_id` references this row. """ game_team_rosters( """ Page size (default 50, max 500). """ first: Int ): [NFLGameTeamRosters!]! """ nfl.game_team_staffs rows whose `game_id` references this row. """ game_team_staffs( """ Page size (default 50, max 500). """ first: Int ): [NFLGameTeamStaffs!]! """ nfl.game_team_stats rows whose `game_id` references this row. """ game_team_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLGameTeamStats!]! """ nfl.game_weathers rows whose `game_id` references this row. """ game_weathers( """ Page size (default 50, max 500). """ first: Int ): [NFLGameWeathers!]! """ nfl.injuries rows whose `game_id` references this row. """ injuries( """ Page size (default 50, max 500). """ first: Int ): [NFLInjuries!]! """ nfl.play_by_plays rows whose `game_id` references this row. """ play_by_plays( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayByPlays!]! """ nfl.play_participations rows whose `game_id` references this row. """ play_participations( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayParticipations!]! """ nfl.player_news rows whose `game_id` references this row. """ player_news( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayerNews!]! """ nfl.projected_player_snaps rows whose `game_id` references this row. """ projected_player_snaps( """ Page size (default 50, max 500). """ first: Int ): [NFLProjectedPlayerSnaps!]! """ nfl.projected_team_snaps rows whose `game_id` references this row. """ projected_team_snaps( """ Page size (default 50, max 500). """ first: Int ): [NFLProjectedTeamSnaps!]! """ nfl.team_news rows whose `game_id` references this row. """ team_news( """ Page size (default 50, max 500). """ first: Int ): [NFLTeamNews!]! """ nfl.team_player_rosters rows whose `game_id` references this row. """ team_player_rosters( """ Page size (default 50, max 500). """ first: Int ): [NFLTeamPlayerRosters!]! } """ The weekly NFL injury report — every player listed each game week with their practice participation, game-status designation (Out, Doubtful, Questionable, Probable), and the body part affected. """ type NFLInjuries { """ Primary Key """ id: BigInt player_id: BigInt game_id: BigInt team_id: BigInt season_id: BigInt """ NFL week the report covers — 1-18 regular season, continuing 19 Wild Card, 20 Divisional, 21 Conference Championship, 22 Super Bowl. Note nfl.games.week restarts at 1 in the postseason instead. """ week: Int """ Game classification for the upcoming game (`REG`, `WC`, `DIV`, `CON`, `SB`). """ game_type: String """ Position the player was listed at on the report. """ position: String """ Primary injury body part listed on the official Wednesday/Thursday report (e.g., `Hamstring`, `Knee`). """ report_primary_injury: String """ Secondary injury listed on the official injury report. """ report_secondary_injury: String """ Game-status designation (`Out`, `Doubtful`, `Questionable`; occasionally `Note` or blank when no designation was issued). """ report_status: String """ Primary injury reported on the practice participation report. """ practice_primary_injury: String """ Secondary injury reported on the practice participation report. """ practice_secondary_injury: String """ Practice participation as long-form strings — `Did Not Participate In Practice`, `Limited Participation in Practice`, `Full Participation in Practice` (occasionally `Note` or blank). """ practice_status: String """ Timestamp of the most recent NFL feed update for this report. """ date_modified: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ How each sportsbook and fantasy operator names every NFL player — the mapping from each operator's own player identifier to a unified player record. """ type NFLOperatorPlayerLookups { """ Primary Key """ id: BigInt """ Reference to main.operator entity """ operator_id: BigInt """ External player ID from operator """ operator_player_id: String """ Internal nfl.players.id reference """ player_id: BigInt """ Player name as provided by operator """ player_name: String """ Position as provided by operator """ position: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ How this mapping was decided: 'derived' (finder answer, overwritable), 'pinned' (decided on evidence, trigger-protected), 'blocked' (no player we hold is this id; player_id NULL, never retried). DB default 'derived'; a BEFORE UPDATE trigger preserves non-derived rows. """ decision: String """ Evidence behind a pinned or blocked decision. """ decided_reason: String """ When the pin or block was decided. """ decided_at: String """ The main.operators row referenced by `operator_id`; null when unlinked. """ operator: ReferenceOperators """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers } """ How each sportsbook and fantasy operator names every NFL team — the mapping from each operator's team code or abbreviation to the unified franchise record. """ type NFLOperatorTeamLookups { """ Primary Key """ id: BigInt """ Reference to main.operator entity """ operator_id: BigInt """ External team ID from operator """ operator_team_id: String """ Internal nfl.teams.id reference """ team_id: BigInt """ Team name for reconciliation """ team_name: String """ Team abbreviation for reconciliation """ abbreviation: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The main.operators row referenced by `operator_id`; null when unlinked. """ operator: ReferenceOperators """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ Every individual play of every NFL game — what happened, where on the field, with what result. Includes pass and rush attempts, penalties, special teams, EPA, win probability, and the full game-clock and down-and-distance context. """ type NFLPlayByPlays { """ Primary Key """ id: BigInt """ Numeric play identifier unique to game """ play_id: String """ FK to games table """ game_id: BigInt """ Ten digit identifier for NFL game (nflverse format) """ nflverse_game_id: String """ Legacy NFL game ID format """ old_game_id: String """ UUID from NFL API """ nfl_api_id: String """ Quarter (1-4, 5=OT) """ quarter: Int """ Seconds remaining in quarter """ quarter_seconds_remaining: Int """ Seconds remaining in half """ half_seconds_remaining: Int """ Seconds remaining in game """ game_seconds_remaining: Int """ Half1, Half2, or Overtime """ game_half: String """ Binary quarter-end marker """ quarter_end: Boolean """ Game clock at play start (mm:ss) """ time: String """ Play clock at snap """ play_clock: Int """ Kickoff time (eastern) """ start_time: String """ Play time in UTC """ time_of_day: String """ Game clock at play end """ end_clock_time: String """ NFL play-ordering column """ order_sequence: Float """ Home team abbreviation """ home_team: String """ Away team abbreviation """ away_team: String """ Possession team abbreviation """ posteam: String """ home or away """ posteam_type: String """ Defensive team abbreviation """ defteam: String """ FK to teams table for possession team """ possession_team_id: BigInt """ FK to teams table for defensive team """ defensive_team_id: BigInt """ Team abbreviation whose side of field """ side_of_field: String """ Yards from opponent endzone (0-100) """ yardline_100: Int """ Yard line string (e.g., "KC 25") """ yrdln: String """ Yard line number (0-50) """ yard_line: Int """ Yard line at play end """ end_yard_line: String """ Down (1-4) """ down: Int """ Yards to first down/goal """ ydstogo: Int """ Goal-to-go situation """ goal_to_go: Boolean """ Total net yards on drive """ ydsnet: Int """ Drive number in game """ drive: Int """ FK to game_drives table """ drive_id: BigInt """ Manual drive number correction """ fixed_drive: Int """ Manual drive result correction """ fixed_drive_result: String """ Scoring play indicator """ sp: Boolean """ Drive start time (real clock) """ drive_real_start_time: String """ Number of plays in drive """ drive_play_count: Int """ Drive time of possession (mm:ss) """ drive_time_of_possession: String """ First downs gained in drive """ drive_first_downs: Int """ Drive reached red zone """ drive_inside20: Boolean """ Drive resulted in score """ drive_ended_with_score: Boolean """ Quarter when drive started """ drive_quarter_start: Int """ Quarter when drive ended """ drive_quarter_end: Int """ Penalty yards during drive """ drive_yds_penalized: Int """ How possession was obtained """ drive_start_transition: String """ How drive ended """ drive_end_transition: String """ Game clock at drive start """ drive_game_clock_start: String """ Game clock at drive end """ drive_game_clock_end: String """ Yard line at drive start """ drive_start_yard_line: String """ Yard line at drive end """ drive_end_yard_line: String """ First play_id of drive """ drive_play_id_started: String """ Last play_id of drive """ drive_play_id_ended: String """ Series counter within game """ series: Int """ Series resulted in first down or TD """ series_success: Boolean """ First down, Touchdown, Punt, etc. """ series_result: String """ Full play description text """ desc: String """ pass, run, punt, field_goal, kickoff, extra_point, qb_kneel, qb_spike, no_play """ play_type: String """ NFL source play type """ play_type_nfl: String """ Special teams play indicator """ special_teams_play: Boolean """ Type of special teams play """ st_play_type: String """ Regular play (1) vs special event (0) """ play: Boolean """ Special teams indicator """ special: Boolean """ Play was aborted """ aborted_play: Boolean """ Play was deleted """ play_deleted: Boolean """ Shotgun formation """ shotgun: Boolean """ No-huddle offense """ no_huddle: Boolean """ QB dropback (pass or scramble) """ qb_dropback: Boolean """ Rushing play indicator """ rush_attempt: Boolean """ Rush play (no scrambles) """ rush: Boolean """ left, middle, or right """ run_location: String """ end, guard, or tackle """ run_gap: String """ Yards gained on play """ yds_gained: Int """ Official rushing yards """ rushing_yds: Int """ Rusher GSIS ID """ rusher_player_id: String """ Rusher name """ rusher_player_name: String """ Rusher jersey number """ rusher_jersey_number: Int """ FK to players table """ rusher_id: BigInt """ Lateral receiver GSIS ID (rush) """ lateral_rusher_player_id: String """ Lateral receiver name (rush) """ lateral_rusher_player_name: String """ Yards after lateral (rush) """ lateral_rushing_yds: Int """ Lateral on rush play """ lateral_rush: Boolean """ Pass attempt (includes sacks) """ pass_attempt: Boolean """ Pass play indicator """ pass: Boolean """ short or deep """ pass_length: String """ left, middle, or right """ pass_location: String """ Yards in air (perpendicular to LOS) """ air_yds: Int """ YAC yards """ yds_after_catch: Int """ Pass completed """ complete_pass: Boolean """ Pass incomplete """ incomplete_pass: Boolean """ Official passing yards """ passing_yds: Int """ Passer GSIS ID """ passer_player_id: String """ Passer name """ passer_player_name: String """ Passer jersey number """ passer_jersey_number: Int """ FK to players table """ passer_id: BigInt """ Dropback player name (includes scrambles) """ passer: String """ Receiver GSIS ID """ receiver_player_id: String """ Receiver name """ receiver_player_name: String """ Receiver jersey number """ receiver_jersey_number: Int """ FK to players table """ receiver_id: BigInt """ Targeted receiver name """ receiver: String """ Official receiving yards """ receiving_yds: Int """ Lateral receiver GSIS ID (pass) """ lateral_receiver_player_id: String """ Lateral receiver name (pass) """ lateral_receiver_player_name: String """ Yards after lateral (pass) """ lateral_receiving_yds: Int """ Lateral on pass play """ lateral_reception: Boolean """ QB scramble """ qb_scramble: Boolean """ QB kneel """ qb_kneel: Boolean """ QB spike """ qb_spike: Boolean """ QB was hit """ qb_hit: Boolean """ QB hitter GSIS ID """ qb_hit_1_player_id: String """ QB hitter name """ qb_hit_1_player_name: String """ Second QB hitter GSIS ID """ qb_hit_2_player_id: String """ Second QB hitter name """ qb_hit_2_player_name: String """ Sack indicator """ sack: Boolean """ Sacker GSIS ID """ sack_player_id: String """ Sacker name """ sack_player_name: String """ Half-sack player 1 GSIS ID """ half_sack_1_player_id: String """ Half-sack player 1 name """ half_sack_1_player_name: String """ Half-sack player 2 GSIS ID """ half_sack_2_player_id: String """ Half-sack player 2 name """ half_sack_2_player_name: String """ Lateral after sack GSIS ID """ lateral_sack_player_id: String """ Lateral after sack name """ lateral_sack_player_name: String """ Interception indicator """ interception: Boolean """ Interceptor GSIS ID """ interception_player_id: String """ Interceptor name """ interception_player_name: String """ Lateral after INT GSIS ID """ lateral_interception_player_id: String """ Lateral after INT name """ lateral_interception_player_name: String """ Fumble occurred """ fumble: Boolean """ Fumble was forced """ fumble_forced: Boolean """ Fumble was not forced """ fumble_not_forced: Boolean """ Fumble went OOB """ fumble_out_of_bounds: Boolean """ Fumble was lost """ fumble_lost: Boolean """ First fumbler GSIS ID """ fumbled_1_player_id: String """ First fumbler name """ fumbled_1_player_name: String """ First fumbler team """ fumbled_1_team: String """ Second fumbler GSIS ID """ fumbled_2_player_id: String """ Second fumbler name """ fumbled_2_player_name: String """ Second fumbler team """ fumbled_2_team: String """ Recovery team 1 """ fumble_recovery_1_team: String """ Recovery yards 1 """ fumble_recovery_1_yds: Int """ Recovery player 1 GSIS ID """ fumble_recovery_1_player_id: String """ Recovery player 1 name """ fumble_recovery_1_player_name: String """ Recovery team 2 """ fumble_recovery_2_team: String """ Recovery yards 2 """ fumble_recovery_2_yds: Int """ Recovery player 2 GSIS ID """ fumble_recovery_2_player_id: String """ Recovery player 2 name """ fumble_recovery_2_player_name: String """ Forced fumble team 1 """ forced_fumble_player_1_team: String """ Forced fumble player 1 GSIS ID """ forced_fumble_player_1_player_id: String """ Forced fumble player 1 name """ forced_fumble_player_1_player_name: String """ Forced fumble team 2 """ forced_fumble_player_2_team: String """ Forced fumble player 2 GSIS ID """ forced_fumble_player_2_player_id: String """ Forced fumble player 2 name """ forced_fumble_player_2_player_name: String """ Solo tackle on play """ solo_tackle: Boolean """ Solo tackler 1 GSIS ID """ solo_tackle_1_player_id: String """ Solo tackler 1 name """ solo_tackle_1_player_name: String """ Solo tackler 1 team """ solo_tackle_1_team: String """ Solo tackler 2 GSIS ID """ solo_tackle_2_player_id: String """ Solo tackler 2 name """ solo_tackle_2_player_name: String """ Solo tackler 2 team """ solo_tackle_2_team: String """ Assist tackle on play """ assist_tackle: Boolean """ Assist tackler 1 GSIS ID """ assist_tackle_1_player_id: String """ Assist tackler 1 name """ assist_tackle_1_player_name: String """ Assist tackler 1 team """ assist_tackle_1_team: String """ Assist tackler 2 GSIS ID """ assist_tackle_2_player_id: String """ Assist tackler 2 name """ assist_tackle_2_player_name: String """ Assist tackler 2 team """ assist_tackle_2_team: String """ Assist tackler 3 GSIS ID """ assist_tackle_3_player_id: String """ Assist tackler 3 name """ assist_tackle_3_player_name: String """ Assist tackler 3 team """ assist_tackle_3_team: String """ Assist tackler 4 GSIS ID """ assist_tackle_4_player_id: String """ Assist tackler 4 name """ assist_tackle_4_player_name: String """ Assist tackler 4 team """ assist_tackle_4_team: String """ Tackle with assistance """ tackle_with_assist: Boolean """ Tackle-assist player 1 GSIS ID """ tackle_with_assist_1_player_id: String """ Tackle-assist player 1 name """ tackle_with_assist_1_player_name: String """ Tackle-assist player 1 team """ tackle_with_assist_1_team: String """ Tackle-assist player 2 GSIS ID """ tackle_with_assist_2_player_id: String """ Tackle-assist player 2 name """ tackle_with_assist_2_player_name: String """ Tackle-assist player 2 team """ tackle_with_assist_2_team: String """ Tackle for loss """ tackled_for_loss: Boolean """ TFL player 1 GSIS ID """ tackle_for_loss_1_player_id: String """ TFL player 1 name """ tackle_for_loss_1_player_name: String """ TFL player 2 GSIS ID """ tackle_for_loss_2_player_id: String """ TFL player 2 name """ tackle_for_loss_2_player_name: String """ Pass defense player 1 GSIS ID """ pass_defense_1_player_id: String """ Pass defense player 1 name """ pass_defense_1_player_name: String """ Pass defense player 2 GSIS ID """ pass_defense_2_player_id: String """ Pass defense player 2 name """ pass_defense_2_player_name: String """ Field goal attempt """ field_goal_attempt: Boolean """ made, missed, or blocked """ field_goal_result: String """ Kick distance in yards """ kick_distance: Int """ Kicker GSIS ID """ kicker_player_id: String """ Kicker name """ kicker_player_name: String """ Blocked kick player GSIS ID """ blocked_player_id: String """ Blocked kick player name """ blocked_player_name: String """ Extra point attempt """ extra_point_attempt: Boolean """ good, failed, blocked, safety, aborted """ extra_point_result: String """ Two-point conversion attempt """ two_point_attempt: Boolean """ success, failure, safety, return """ two_point_conv_result: String """ Defense two-point attempt """ defensive_two_point_attempt: Boolean """ Defense two-point conversion success """ defensive_two_point_conv: Boolean """ Defense extra point attempt """ defensive_extra_point_attempt: Boolean """ Defense extra point success """ defensive_extra_point_conv: Boolean """ Kickoff attempt """ kickoff_attempt: Boolean """ Kickoff returner GSIS ID """ kickoff_returner_player_id: String """ Kickoff returner name """ kickoff_returner_player_name: String """ Kickoff inside 20 """ kickoff_inside_twenty: Boolean """ Kickoff in endzone """ kickoff_in_endzone: Boolean """ Kickoff OOB """ kickoff_out_of_bounds: Boolean """ Kickoff downed """ kickoff_downed: Boolean """ Kickoff fair catch """ kickoff_fair_catch: Boolean """ Lateral kickoff returner GSIS ID """ lateral_kickoff_returner_player_id: String """ Lateral kickoff returner name """ lateral_kickoff_returner_player_name: String """ Own kickoff recovery """ own_kickoff_recovery: Boolean """ Own kickoff recovery TD """ own_kickoff_recovery_td: Boolean """ Own kickoff recovery player GSIS ID """ own_kickoff_recovery_player_id: String """ Own kickoff recovery player name """ own_kickoff_recovery_player_name: String """ Punt attempt """ punt_attempt: Boolean """ Punter GSIS ID """ punter_player_id: String """ Punter name """ punter_player_name: String """ Punt returner GSIS ID """ punt_returner_player_id: String """ Punt returner name """ punt_returner_player_name: String """ Punt blocked """ punt_blocked: Boolean """ Punt inside 20 """ punt_inside_twenty: Boolean """ Punt in endzone """ punt_in_endzone: Boolean """ Punt OOB """ punt_out_of_bounds: Boolean """ Punt downed """ punt_downed: Boolean """ Punt fair catch """ punt_fair_catch: Boolean """ Lateral punt returner GSIS ID """ lateral_punt_returner_player_id: String """ Lateral punt returner name """ lateral_punt_returner_player_name: String """ Returning team """ return_team: String """ Return yards """ return_yds: Int """ Lateral on return """ lateral_return: Boolean """ Touchdown scored """ touchdown: Boolean """ Passing touchdown """ pass_touchdown: Boolean """ Rushing touchdown """ rush_touchdown: Boolean """ Return touchdown """ return_touchdown: Boolean """ Team scoring TD """ td_team: String """ TD scorer name """ td_player_name: String """ TD scorer GSIS ID """ td_player_id: String """ Safety scored """ safety: Boolean """ Safety scorer name """ safety_player_name: String """ Safety scorer GSIS ID """ safety_player_id: String """ Touchback """ touchback: Boolean """ Ran/pushed/sacked out of bounds """ out_of_bounds: Boolean """ First down achieved """ first_down: Boolean """ Rushing first down """ first_down_rush: Boolean """ Passing first down """ first_down_pass: Boolean """ First down via penalty """ first_down_penalty: Boolean """ Third down conversion """ third_down_converted: Boolean """ Third down failure """ third_down_failed: Boolean """ Fourth down conversion """ fourth_down_converted: Boolean """ Fourth down failure """ fourth_down_failed: Boolean """ Penalty on play """ penalty: Boolean """ Penalized team """ penalty_team: String """ Penalized player GSIS ID """ penalty_player_id: String """ Penalized player name """ penalty_player_name: String """ Penalty yards """ penalty_yds: Int """ Type of penalty """ penalty_type: String """ Replay/challenge occurred """ replay_or_challenge: Boolean """ Replay result """ replay_or_challenge_result: String """ Timeout called """ timeout: Boolean """ Team calling timeout """ timeout_team: String """ Home timeouts remaining """ home_timeouts_remaining: Int """ Away timeouts remaining """ away_timeouts_remaining: Int """ Possession team timeouts """ posteam_timeouts_remaining: Int """ Defensive team timeouts """ defteam_timeouts_remaining: Int """ Home score at play start """ total_home_score: Int """ Away score at play start """ total_away_score: Int """ Possession team score at start """ posteam_score: Int """ Defense team score at start """ defteam_score: Int """ Score gap at play start """ score_differential: Int """ Possession team score at end """ posteam_score_post: Int """ Defense team score at end """ defteam_score_post: Int """ Score gap at play end """ score_differential_post: Int """ Total home points """ home_score: Int """ Total away points """ away_score: Int """ Probability of no score """ no_score_prob: Float """ Opponent FG probability """ opp_fg_prob: Float """ Opponent safety probability """ opp_safety_prob: Float """ Opponent TD probability """ opp_td_prob: Float """ FG probability """ fg_prob: Float """ Safety probability """ safety_prob: Float """ TD probability """ td_prob: Float """ Extra point probability """ extra_point_prob: Float """ Two-point conversion probability """ two_point_conversion_prob: Float """ Expected points before play """ ep: Float """ Expected points added """ epa: Float """ Cumulative home EPA """ total_home_epa: Float """ Cumulative away EPA """ total_away_epa: Float """ Cumulative home rushing EPA """ total_home_rush_epa: Float """ Cumulative away rushing EPA """ total_away_rush_epa: Float """ Cumulative home passing EPA """ total_home_pass_epa: Float """ Cumulative away passing EPA """ total_away_pass_epa: Float """ EPA from air yards """ air_epa: Float """ EPA from yards after catch """ yac_epa: Float """ Completion air EPA """ comp_air_epa: Float """ Completion YAC EPA """ comp_yac_epa: Float """ Cumulative home completion air EPA """ total_home_comp_air_epa: Float """ Cumulative away completion air EPA """ total_away_comp_air_epa: Float """ Cumulative home completion YAC EPA """ total_home_comp_yac_epa: Float """ Cumulative away completion YAC EPA """ total_away_comp_yac_epa: Float """ Cumulative home raw air EPA """ total_home_raw_air_epa: Float """ Cumulative away raw air EPA """ total_away_raw_air_epa: Float """ Cumulative home raw YAC EPA """ total_home_raw_yac_epa: Float """ Cumulative away raw YAC EPA """ total_away_raw_yac_epa: Float """ QB EPA credit """ qb_epa: Float """ Expected EPA after catch """ xyac_epa: Float """ Average expected YAC """ xyac_mean_yardage: Float """ Median expected YAC """ xyac_median_yardage: Float """ Positive EPA probability """ xyac_success: Float """ First down probability (xYAC) """ xyac_fd: Float """ Win probability for possession team """ wp: Float """ Win probability for defense """ def_wp: Float """ Home team win probability """ home_wp: Float """ Away team win probability """ away_wp: Float """ Win probability added """ wpa: Float """ Vegas-adjusted WPA """ vegas_wpa: Float """ Vegas home WPA """ vegas_home_wpa: Float """ Home WP after play """ home_wp_post: Float """ Away WP after play """ away_wp_post: Float """ Vegas win probability """ vegas_wp: Float """ Vegas home win probability """ vegas_home_wp: Float """ Cumulative home rushing WPA """ total_home_rush_wpa: Float """ Cumulative away rushing WPA """ total_away_rush_wpa: Float """ Cumulative home passing WPA """ total_home_pass_wpa: Float """ Cumulative away passing WPA """ total_away_pass_wpa: Float """ WPA from air yards """ air_wpa: Float """ WPA from yards after catch """ yac_wpa: Float """ Completion air WPA """ comp_air_wpa: Float """ Completion YAC WPA """ comp_yac_wpa: Float """ Cumulative home completion air WPA """ total_home_comp_air_wpa: Float """ Cumulative away completion air WPA """ total_away_comp_air_wpa: Float """ Cumulative home completion YAC WPA """ total_home_comp_yac_wpa: Float """ Cumulative away completion YAC WPA """ total_away_comp_yac_wpa: Float """ Cumulative home raw air WPA """ total_home_raw_air_wpa: Float """ Cumulative away raw air WPA """ total_away_raw_air_wpa: Float """ Cumulative home raw YAC WPA """ total_home_raw_yac_wpa: Float """ Cumulative away raw YAC WPA """ total_away_raw_yac_wpa: Float """ Completion probability """ cp: Float """ Completion percentage over expected """ cpoe: Float """ Dropback probability """ xpass: Float """ Dropback percent over expected """ pass_oe: Float """ Play success (based on down/distance) """ success: Boolean """ Primary player name (passer or rusher) """ name: String """ Primary player jersey """ jersey_number: Int """ Primary player GSIS ID """ primary_player_gsis_id: String """ Fantasy designation player name """ fantasy_player_name: String """ Fantasy designation player ID """ fantasy_player_id: String """ Fantasy designation """ fantasy: String """ Fantasy identifier """ fantasy_id: String """ Stadium name """ stadium: String """ Stadium ID """ stadium_id: Int """ Game stadium name """ game_stadium: String """ Home or Neutral """ location: String """ dome, outdoors, closed, open """ roof: String """ Playing surface type """ surface: String """ Temperature """ temp: Int """ Wind speed (mph) """ wind: Int """ Weather conditions description """ weather: String """ Home team head coach """ home_coach: String """ Away team head coach """ away_coach: String """ Division game """ div_game: Boolean """ Vegas spread line """ spread_line: Float """ Vegas total line """ total_line: Float """ Home score - Away score """ result: Int """ Home score + Away score """ total: Int """ Home team had opening kickoff """ home_opening_kickoff: Boolean """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.teams row referenced by `defensive_team_id`; null when unlinked. """ defensive_team: NFLTeams """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.teams row referenced by `possession_team_id`; null when unlinked. """ possession_team: NFLTeams """ The nfl.players row referenced by `passer_id`; null when unlinked. """ passer_ref: NFLPlayers """ The nfl.players row referenced by `rusher_id`; null when unlinked. """ rusher_ref: NFLPlayers """ The nfl.players row referenced by `receiver_id`; null when unlinked. """ receiver_ref: NFLPlayers """ The nfl.game_drives row referenced by `drive_id`; null when unlinked. """ drive_ref: NFLGameDrives """ nfl.game_drives rows whose `first_play_id` references this row. """ game_drives_by_first_play_id( """ Page size (default 50, max 500). """ first: Int ): [NFLGameDrives!]! """ nfl.game_drives rows whose `last_play_id` references this row. """ game_drives_by_last_play_id( """ Page size (default 50, max 500). """ first: Int ): [NFLGameDrives!]! } """ The personnel and pre-snap setup on every NFL play (one row per play, not per player) — offensive formation, personnel grouping, defensive look, coverage scheme, and the on-field player ids as comma-joined text columns. 2024 season coverage. """ type NFLPlayParticipations { """ Primary Key """ id: BigInt """ Play identifier matching `play_by_plays.play_id` for the same game. """ play_id: String game_id: BigInt """ Team in possession on this play (FK to `teams`). """ possession_team_id: BigInt """ Offensive formation alignment (e.g., `SHOTGUN`, `SINGLEBACK`, `I_FORM`, `PISTOL`). """ offense_formation: String """ Offensive personnel grouping in `RB-TE-WR` shorthand (e.g., `1 RB, 2 TE, 2 WR` → `12 personnel`). """ offense_personnel: String """ Number of defenders within ~8 yards of the line of scrimmage at the snap. """ defenders_in_box: Int """ Defensive personnel grouping (e.g., `4 DL, 2 LB, 5 DB`). """ defense_personnel: String """ Number of defenders who rushed the passer on this play (Next Gen Stats). """ number_of_pass_rushers: Int """ GSIS IDs of every player on the field for this play (comma-separated or JSON-encoded depending on source vintage). """ players_on_play_gsis_ids: String """ GSIS IDs of offensive players on the field for this play. """ offense_players_gsis_ids: String """ GSIS IDs of defensive players on the field for this play. """ defense_players_gsis_ids: String """ Count of offensive players on the field (typically 11). """ n_offense: Int """ Count of defensive players on the field (typically 11). """ n_defense: Int """ Air yards traveled by the pass from the line of scrimmage to where the receiver caught/dropped it (Next Gen Stats). """ ngs_air_yds: Float """ Time from snap to pass release in seconds (Next Gen Stats). """ time_to_throw: Float """ True if the quarterback faced pass-rush pressure on this play. """ was_pressure: Boolean """ Route the targeted receiver ran (e.g., `GO`, `SLANT`, `OUT`, `POST`). """ route: String """ Man- vs. zone-coverage classification (`MAN`, `ZONE`). """ defense_man_zone_type: String """ Specific coverage scheme (e.g., `COVER_1`, `COVER_2_MAN`, `COVER_3`, `COVER_4`). """ defense_coverage_type: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.teams row referenced by `possession_team_id`; null when unlinked. """ possession_team: NFLTeams } """ NFL player contracts — total value, average annual pay, guaranteed money, and salary cap impact for every signed deal, with cap-inflated comparisons across eras. """ type NFLPlayerContracts { """ Primary Key """ id: BigInt player_id: BigInt """ OverTheCap unique contract identifier (external). """ otc_id: String team_id: BigInt """ Player position at the time the contract was signed. """ position: String """ True for the player's currently-active contract; false for historical contracts. """ is_active: Boolean """ Calendar year the contract was signed. """ year_signed: Int """ Total contract length in years. """ years: Int """ Total contract value in U.S. dollars as reported by OverTheCap. """ value: BigInt """ Average annual value (APY) in U.S. dollars — total `value` divided by `years`. """ apy: BigInt """ Total guaranteed money over the life of the contract, in U.S. dollars. """ guaranteed: BigInt """ APY as a percentage of the league salary cap in the signing year (0.0-100.0). """ apy_cap_pct: Float """ `value` adjusted to the most recent salary cap, in U.S. dollars. """ inflated_value: BigInt """ `apy` adjusted to the most recent salary cap. """ inflated_apy: BigInt """ `guaranteed` adjusted to the most recent salary cap. """ inflated_guaranteed: BigInt """ Direct URL to the player's page on overthecap.com. """ player_page_url: String date_of_birth: String """ Height as reported by OverTheCap (e.g., `6-2`). """ height: String """ Weight in pounds. """ weight: Int college: String """ JSON-encoded year-by-year cap-hit breakdown for the life of the contract (stored as a string). """ season_history_json: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ News about NFL players — transactions, injuries, lineup announcements, suspensions, and general beat-reporter updates. """ type NFLPlayerNews { """ Primary Key """ id: BigInt """ Player ID associated with the news report. """ player_id: BigInt """ Team ID of the player at the time of publication. """ team_id: BigInt """ Headline of the news report. """ title: String """ Brief synopsis or summary of the news event. """ description: String """ Fantasy and tactical analysis of the news. """ analysis: String """ Primary news source or publication. """ source: String """ URL link to the original article or source video. """ link: String """ Publication timestamp of the news story. """ news_time: String """ Display priority score (1-10). """ priority: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Whether this story was generated or enriched via LLM summarization. """ ai_processed: Boolean """ Structured situational impact assessment and fantasy implications for the player. """ situational_impact: JSON """ Full text content of the news report. """ content: String """ Reporter or author of the article. """ author: String """ injury, transaction, lineup, general """ category: String """ Unique identifier from the news provider. """ external_id: String """ Standardized player status designation (RULED_OUT, DOUBTFUL, QUESTIONABLE, PROBABLE, CLEARED, MINUTES_LIMIT, MINUTES_LIFTED, STARTING, BENCHED, INACTIVE, ACTIVE, IR_PLACED, IR_ACTIVATED, TRADED, RELEASED, SIGNED, ROUTINE). """ status_enum: String """ Urgency level of the news event (BREAKING_GAME_TIME, HIGH, MEDIUM, ROUTINE). """ urgency: String """ Source citations with source name, URL, author, and published timestamp. """ sources: JSON """ Timestamp when this story was first reported before multi-source compaction. """ first_reported_at: String """ Opponent team ID when this news item relates to an upcoming or active game matchup. """ opponent_team_id: BigInt """ Associated game ID when this news item relates to a specific game. """ game_id: BigInt """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.teams row referenced by `opponent_team_id`; null when unlinked. """ opponent_team: NFLTeams """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ Every individual who has played in the NFL — current rosters, free agents, retired veterans — plus team-defense entries used for fantasy and DST scoring. """ type NFLPlayers { """ Primary Key """ id: BigInt first_name: String last_name: String full_name: String """ Official NFL player ID (UUID) from nfl.com """ league_player_id: String """ Jersey number with the player's current team (string to preserve leading zeros and special codes). """ jersey: String """ Game Statistics and Information System ID (e.g. 00-0028830) """ gsis_id: String """ Primary roster position (e.g., QB, WR, RB, CB). """ primary_position: String """ Broad position group classification used by nflverse (e.g., `OFFENSE`, `DEFENSE`, `ST`). """ position_group: String """ All positions the player is eligible at (semicolon-joined when multiple, e.g., `RB;WR`). """ full_position_list: String """ Current NFL team (FK to `teams`); null for free agents and retired players. """ team_id: BigInt """ URL slug used on nfl.com (e.g., `patrick-mahomes`). """ nfl_slug: String """ Height in inches. """ height: Int """ Weight in pounds. """ weight: Int birth_date: String birth_city: String birth_state: String birth_country: String """ College or last football affiliation before turning pro. """ college: String """ Years of NFL experience (rookies = 0). """ experience: Int """ Calendar year the player was drafted; null or `UDFA` if undrafted. """ draft_year: String """ Draft round (1-7); null or `UDFA` if undrafted. """ draft_round: String """ Pick number within the round; null or `UDFA` if undrafted. """ draft_number: String """ Overall pick number across all rounds (1-262); null if undrafted. """ overall_pick: Int """ Canonical roster status, shared across leagues. NFL has the richest source vocabulary. The "on a team now" set is {active, injured_reserve, practice_squad, reserve, suspended}; free_agent/waived/retired/inactive are off-roster. """ roster_status: String """ URL to player profile picture image """ profile_pic_url: String """ True for synthetic team-level entities (DST, team defense). Used to distinguish team defense 'players' from individual players. """ is_team: Boolean """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams """ nfl.combine_results rows whose `player_id` references this row. """ combine_results( """ Page size (default 50, max 500). """ first: Int ): [NFLCombineResults!]! """ nfl.depth_charts rows whose `player_id` references this row. """ depth_charts( """ Page size (default 50, max 500). """ first: Int ): [NFLDepthCharts!]! """ nfl.draft_picks rows whose `player_id` references this row. """ draft_picks( """ Page size (default 50, max 500). """ first: Int ): [NFLDraftPicks!]! """ nfl.game_player_firstdown_stats rows whose `player_id` references this row. """ game_player_firstdown_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerFirstdownStats!]! """ nfl.game_player_ngs_passings rows whose `player_id` references this row. """ game_player_ngs_passings( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerNgsPassings!]! """ nfl.game_player_ngs_receivings rows whose `player_id` references this row. """ game_player_ngs_receivings( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerNgsReceivings!]! """ nfl.game_player_ngs_rushings rows whose `player_id` references this row. """ game_player_ngs_rushings( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerNgsRushings!]! """ nfl.game_player_pfr_advstats rows whose `player_id` references this row. """ game_player_pfr_advstats( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerPfrAdvstats!]! """ nfl.game_player_props rows whose `player_id` references this row. """ game_player_props( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerProps!]! """ nfl.game_player_redzone_stats rows whose `player_id` references this row. """ game_player_redzone_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerRedzoneStats!]! """ nfl.game_player_stats rows whose `player_id` references this row. """ game_player_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerStats!]! """ nfl.game_player_thirddown_stats rows whose `player_id` references this row. """ game_player_thirddown_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerThirddownStats!]! """ nfl.game_team_rosters rows whose `player_id` references this row. """ game_team_rosters( """ Page size (default 50, max 500). """ first: Int ): [NFLGameTeamRosters!]! """ nfl.injuries rows whose `player_id` references this row. """ injuries( """ Page size (default 50, max 500). """ first: Int ): [NFLInjuries!]! """ nfl.operator_player_lookups rows whose `player_id` references this row. """ operator_player_lookups( """ Page size (default 50, max 500). """ first: Int ): [NFLOperatorPlayerLookups!]! """ nfl.player_contracts rows whose `player_id` references this row. """ player_contracts( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayerContracts!]! """ nfl.player_news rows whose `player_id` references this row. """ player_news( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayerNews!]! """ nfl.projected_player_snaps rows whose `player_id` references this row. """ projected_player_snaps( """ Page size (default 50, max 500). """ first: Int ): [NFLProjectedPlayerSnaps!]! """ nfl.season_player_firstdown_stats rows whose `player_id` references this row. """ season_player_firstdown_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLSeasonPlayerFirstdownStats!]! """ nfl.season_player_redzone_stats rows whose `player_id` references this row. """ season_player_redzone_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLSeasonPlayerRedzoneStats!]! """ nfl.season_player_stats rows whose `player_id` references this row. """ season_player_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLSeasonPlayerStats!]! """ nfl.season_player_thirddown_stats rows whose `player_id` references this row. """ season_player_thirddown_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLSeasonPlayerThirddownStats!]! """ nfl.play_by_plays rows whose `passer_id` references this row. """ play_by_plays_by_passer_id( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayByPlays!]! """ nfl.play_by_plays rows whose `rusher_id` references this row. """ play_by_plays_by_rusher_id( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayByPlays!]! """ nfl.play_by_plays rows whose `receiver_id` references this row. """ play_by_plays_by_receiver_id( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayByPlays!]! """ nfl.team_player_rosters rows whose `player_id` references this row. """ team_player_rosters( """ Page size (default 50, max 500). """ first: Int ): [NFLTeamPlayerRosters!]! } """ The NFL postseason bracket — Wild Card weekend, the Divisional Round, the Conference Championships, and the Super Bowl, with seeds, scores, and outcomes. """ type NFLPlayoffs { """ Primary Key """ id: BigInt season_id: BigInt """ Postseason round (`WildCard`, `Divisional`, `Conference Championship`, `Super Bowl`). """ playoff_round: String """ Conference the matchup is contested within (`AFC`, `NFC`); null for the Super Bowl (inter-conference). """ conference: String home_team_id: BigInt away_team_id: BigInt """ Playoff seed (1-7) of the home team for this matchup. """ home_team_seed: Int """ Playoff seed (1-7) of the away team for this matchup. """ away_team_seed: Int """ Sequence number within the round (used to order multiple games in the same round). """ game_number: Int """ Winning team (FK to `teams`); null until the game completes. """ winner_team_id: BigInt """ Matchup status (`Scheduled`, `InProgress`, `Final`). """ status: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.teams row referenced by `away_team_id`; null when unlinked. """ away_team: NFLTeams """ The nfl.teams row referenced by `home_team_id`; null when unlinked. """ home_team: NFLTeams """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons """ The nfl.teams row referenced by `winner_team_id`; null when unlinked. """ winner_team: NFLTeams } """ Pre-kickoff projected and post-game realized offensive snaps, snap shares, touch rates, and volume opportunities for NFL players. """ type NFLProjectedPlayerSnaps { """ Primary Key """ id: BigInt game_id: BigInt player_id: BigInt team_id: BigInt season_id: BigInt """ NFL regular season week number. """ week: Int """ Player position for this matchup (QB, RB, WR, TE, FB, DST). """ position: String """ Official pre-game depth chart order (1 = starter, 2 = primary backup). """ depth_order: Int """ True if player is designated as the starter at kickoff. """ is_starter: Boolean """ True if player was declared inactive prior to kickoff. """ is_inactive: Boolean """ SOTA model source version (e.g. STAT_API_SOTA). """ source: String """ Pre-kickoff projected offensive snaps. """ projected_snaps: Float """ Pre-kickoff projected percentage of team offensive snaps (0.0000 - 1.0000). """ projected_snap_share: Float """ Pre-kickoff projected total offensive snaps for the player's team. """ projected_team_snaps: Float """ Pre-kickoff projected rushing attempts. """ projected_rush_attempts: Float """ Pre-kickoff projected percentage of team rushing attempts. """ projected_rush_share: Float """ Pre-kickoff projected receiving targets. """ projected_targets: Float """ Pre-kickoff projected percentage of team targets. """ projected_target_share: Float """ Pre-kickoff projected pass receptions. """ projected_receptions: Float """ Pre-kickoff projected pass attempts (QB only). """ projected_pass_attempts: Float """ Pre-kickoff projected pass completions (QB only). """ projected_pass_completions: Float """ Pre-kickoff projected touches (rushes + receptions) per offensive snap. """ touch_rate_per_snap: Float """ Realized post-game actual offensive snaps played. """ actual_snaps: Int """ Realized post-game actual total team offensive snaps. """ actual_team_snaps: Int """ Realized post-game actual snap share percentage. """ actual_snap_share: Float """ Realized post-game actual rushing attempts. """ actual_rush_attempts: Int """ Realized post-game actual receiving targets. """ actual_targets: Int """ Realized post-game actual pass receptions. """ actual_receptions: Int """ Realized post-game actual pass attempts. """ actual_pass_attempts: Int """ Realized post-game actual pass completions. """ actual_pass_completions: Int """ Calibration error: actual_snaps minus projected_snaps. """ snap_error: Float """ Calibration error: actual_snap_share minus projected_snap_share. """ snap_share_error: Float """ Calibration error: actual_rush_attempts minus projected_rush_attempts. """ rush_attempts_error: Float """ Calibration error: actual_targets minus projected_targets. """ targets_error: Float """ Point in time the projection reflects (UTC). Set when the projection is published; a backfilled row is never later than its write time. """ as_of: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ Pre-kickoff projected and post-game realized pace, offensive plays, pass/run playcalling mix, and personnel rates for NFL teams. """ type NFLProjectedTeamSnaps { """ Primary Key """ id: BigInt game_id: BigInt team_id: BigInt opponent_team_id: BigInt season_id: BigInt """ NFL regular season week number. """ week: Int """ True if playing at home, false if away. """ is_home: Boolean """ SOTA model source version (e.g. STAT_API_SOTA). """ source: String """ Pre-kickoff consensus closing over/under game total. """ vegas_total: Float """ Pre-kickoff consensus closing spread from this team's perspective. """ vegas_spread: Float """ Pre-kickoff implied team points based on Vegas spread and total. """ implied_team_total: Float """ Pre-kickoff projected pace in neutral-game seconds per offensive play. """ seconds_per_play: Float """ Pre-kickoff projected no-huddle rate percentage. """ no_huddle_rate: Float """ Pre-kickoff pass rate over expectation (PROE). """ pass_oe: Float """ Pre-kickoff projected team offensive plays/snaps. """ projected_offensive_snaps: Float """ Pre-kickoff projected team defensive snaps (opponent offensive snaps). """ projected_defensive_snaps: Float """ Pre-kickoff projected team pass attempts. """ projected_pass_attempts: Float """ Pre-kickoff projected team rushing attempts. """ projected_rush_attempts: Float """ Pre-kickoff projected pass playcalling percentage (0.0000 - 1.0000). """ projected_pass_rate: Float """ Pre-kickoff projected rush playcalling percentage (0.0000 - 1.0000). """ projected_rush_rate: Float """ Pre-kickoff projected 11-personnel grouping rate (1 RB, 1 TE, 3 WR). """ projected_personnel_11_rate: Float """ Pre-kickoff projected 12-personnel grouping rate (1 RB, 2 TE, 2 WR). """ projected_personnel_12_rate: Float """ Pre-kickoff projected 21-personnel grouping rate (2 RB, 1 TE, 2 WR). """ projected_personnel_21_rate: Float """ Realized post-game actual offensive plays executed. """ actual_offensive_snaps: Int """ Realized post-game actual defensive plays faced. """ actual_defensive_snaps: Int """ Realized post-game actual pass attempts. """ actual_pass_attempts: Int """ Realized post-game actual rushing attempts. """ actual_rush_attempts: Int """ Realized post-game actual pass playcalling rate. """ actual_pass_rate: Float """ Realized post-game actual rush playcalling rate. """ actual_rush_rate: Float """ Calibration error: actual_offensive_snaps minus projected_offensive_snaps. """ snap_error: Float """ Calibration error: actual_pass_attempts minus projected_pass_attempts. """ pass_attempts_error: Float """ Calibration error: actual_rush_attempts minus projected_rush_attempts. """ rush_attempts_error: Float """ Point in time the projection reflects (UTC). Set when the projection is published; a backfilled row is never later than its write time. """ as_of: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.teams row referenced by `opponent_team_id`; null when unlinked. """ opponent_team: NFLTeams """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } type NFLQuery { """ Analytical coaching scheme tendencies, tempo, neutral PROE, personnel grouping distributions (11/12/21/13), opportunity concentration, and situational playcalling tendencies computed with strict pre-kickoff timewalls. Requires at least one of these filter sets: `season_id` | `team_id` | `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ coach_scheme_tendencies( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a season by year (e.g., 2024 or 2025). """ season_id: Int, """ Filter by NFL regular season week number (1-18). """ week: Int, """ Filter by team. """ team_id: Int, """ Filter by game. """ game_id: Int, """ Filter by head coach name. """ head_coach: String ): [NFLCoachSchemeTendencies!]! """ Every coaching change across NFL history with dates — when each head coach, offensive coordinator, and defensive coordinator started, when they left, and why (fired, resigned, promoted, retired). Requires at least one of these filter sets: `team_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ coaching_staff_tenures( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by team. """ team_id: Int, """ Filter to a season by year (e.g., 2025 for the 2025-26 season). Defaults to the current season. """ season_id: Int, """ Filter by player position. """ position: String ): [NFLCoachingStaffTenures!]! """ The coaching staff for each NFL team at a given season — head coach, offensive coordinator, defensive coordinator, special teams coordinator, and position coaches. Requires at least one of these filter sets: `season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ coaching_staffs( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by team. """ team_id: Int, """ Filter to a season by year (e.g., 2025 for the 2025-26 season). Defaults to the current season. """ season_id: Int, """ Filter by player position. """ position: String ): [NFLCoachingStaffs!]! """ NFL Scouting Combine results — every prospect's measurables and drill times from the annual Indianapolis combine (height, weight, 40-yard dash, vertical jump, bench press, broad jump, three-cone, shuttle). Requires at least one of these filter sets: `player_id` | `season + position`. Metered by rows resolved across all nested lists — the same record unit as REST. """ combine_results( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single player. """ player_id: Int, """ Filter by season start year. """ season: Int, """ Filter by player position. """ position: String ): [NFLCombineResults!]! """ One player's depth-chart slot for a given team in a given NFL game — position, depth order (starter, backup, …), roster status, and game context. Exactly one active depth chart per game. Requires at least one of these filter sets: `game_id` | `team_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ depth_charts( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by team. """ team_id: Int, """ Filter to a single season. """ season_id: Int, """ Filter by week of the season. """ week: Int, """ Filter to a single player. """ player_id: Int, """ Filter by player position. """ position: String ): [NFLDepthCharts!]! """ Every NFL Draft selection from the modern draft era — round, pick number, drafting team, college, and the career stats that followed (Pro Bowls, All-Pros, Hall of Fame, total games played, career statistics by position). Requires at least one of these filter sets: `season`. Metered by rows resolved across all nested lists — the same record unit as REST. """ draft_picks( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by season start year. """ season: Int, """ Filter by draft round. """ round: Int, """ Filter by team. """ team_id: Int, """ Filter to a single player. """ player_id: Int, """ Filter by player position. """ position: String ): [NFLDraftPicks!]! """ Each offensive possession in an NFL game — how the drive started, how it ended (touchdown, field goal, punt, turnover), starting and ending field position, time of possession, and play count. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_drives( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by team in possession. """ possession_team_id: Int ): [NFLGameDrives!]! """ NFL game betting lines — point spreads, moneylines, and over/under totals, one row per capture. `source` says where a row came from - `espn` rows are live captures before kickoff (2026 on); `nflverse` rows are one closing line per Final game with `captured_at` equal to kickoff (2020-2025, and a post-game fallback). Regular-season games only. Requires at least one of these filter sets: `game_id` | `season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_lines( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter to a season by year (e.g., 2025 for the 2025-26 season). Defaults to the current season. """ season_id: Int, """ Filter by sportsbook / operator. """ operator_id: Int ): [NFLGameLines!]! """ Per-game player stats restricted to first-down plays — the same first-down production breakouts as the season aggregate, for each individual game. Requires at least one of these filter sets: `game_id` | `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_player_firstdown_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter to a single player. """ player_id: Int, """ Filter by team. """ team_id: Int, """ Filter by opponent team. """ opponent_team_id: Int, """ Filter by player position. """ position: String ): [NFLGamePlayerFirstdownStats!]! """ NFL Next Gen Stats for quarterbacks per game — RFID-tracked passing metrics like time to throw, average depth of target, completed air yards, on-target throw rate, and aggressiveness against tight coverage. Requires at least one of these filter sets: `game_id` | `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_player_ngs_passings( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter to a single player. """ player_id: Int, """ Filter by team. """ team_id: Int, """ Filter by season start year. """ season: Int, """ Filter by week of the season. """ week: Int ): [NFLGamePlayerNgsPassings!]! """ NFL Next Gen Stats for receivers per game — RFID-tracked receiving metrics like separation at the throw, cushion at the snap, target separation, and yards over expected. Requires at least one of these filter sets: `game_id` | `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_player_ngs_receivings( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter to a single player. """ player_id: Int, """ Filter by team. """ team_id: Int, """ Filter by season start year. """ season: Int, """ Filter by week of the season. """ week: Int ): [NFLGamePlayerNgsReceivings!]! """ NFL Next Gen Stats for ball carriers per game — RFID-tracked rushing metrics like efficiency, expected rushing yards, rushing yards over expected, and time behind the line of scrimmage. Requires at least one of these filter sets: `game_id` | `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_player_ngs_rushings( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter to a single player. """ player_id: Int, """ Filter by team. """ team_id: Int, """ Filter by season start year. """ season: Int, """ Filter by week of the season. """ week: Int ): [NFLGamePlayerNgsRushings!]! """ Per-game advanced player stats in the Pro Football Reference tradition — drop rates, time under pressure, yards before and after contact, broken tackles, passer rating allowed in coverage. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_player_pfr_advstats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter to a single player. """ player_id: Int, """ Filter by team. """ team_id: Int, """ Filter by opponent team. """ opponent_team_id: Int ): [NFLGamePlayerPfrAdvstats!]! """ NFL player prop bets for each game — passing yards, rushing touchdowns, receptions, and other player-statistic markets offered by sportsbooks. Requires at least one of these filter sets: `game_id` | `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_player_props( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter to a single player. """ player_id: Int, """ Filter by sportsbook / operator. """ operator_id: Int, """ Filter by category. """ category: String, """ Filter by raw market key (e.g., player_reception_yds). """ market_key: String, """ Filter to opening lines only. """ is_opening: Boolean ): [NFLGamePlayerProps!]! """ Per-game player stats restricted to red-zone plays — the same red-zone breakouts as the season aggregate, for each individual game. Requires at least one of these filter sets: `game_id` | `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_player_redzone_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter to a single player. """ player_id: Int, """ Filter by team. """ team_id: Int, """ Filter by opponent team. """ opponent_team_id: Int, """ Filter by player position. """ position: String ): [NFLGamePlayerRedzoneStats!]! """ Each NFL player's stat line for each game — every passing, rushing, receiving, defensive, special-teams, and scoring statistic recorded that day. Requires at least one of these filter sets: `game_id` | `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_player_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter to a single player. """ player_id: Int, """ Filter by team. """ team_id: Int, """ Filter by opponent team. """ opponent_team_id: Int, """ Filter by player position. """ position: String ): [NFLGamePlayerStats!]! """ Per-game player stats restricted to third-down plays — the same third-down breakouts as the season aggregate, for each individual game. Requires at least one of these filter sets: `game_id` | `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_player_thirddown_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter to a single player. """ player_id: Int, """ Filter by team. """ team_id: Int, """ Filter by opponent team. """ opponent_team_id: Int, """ Filter by player position. """ position: String ): [NFLGamePlayerThirddownStats!]! """ The officiating crew working each NFL game — who refereed, who umpired, who judged each part of the field. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_referees( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by referee. """ referee_id: Int, """ Filter by crew position (e.g., `Referee`, `Umpire`). """ position: String ): [NFLGameReferees!]! """ The gameday roster for each NFL game — every player who suited up that day, who started, who was inactive, and at what position. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_team_rosters( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by team. """ team_id: Int, """ Filter to a single player. """ player_id: Int, """ Filter by player position. """ position: String, """ Filter by game-roster status (readable single-word vocabulary; PracticeSquadReleased covers the nflverse TRC/TRD codes). """ status: String, """ Filter by depth-chart rank (e.g., 1 for starters). """ depth_order: Int, """ `lte` comparison on `depth_order`. """ depth_order__lte: Int, """ Filter by unit/formation. """ formation: String, """ Filter by injury status designation. """ injury_status: String, """ Time wall: PRE (default) = values at the game's kickoff, post-game fields null; FULL = the latest values before week end. """ mode: TimeWallMode = PRE ): [NFLGameTeamRosters!]! """ The coaching staff on the sideline for each NFL game — head coach, offensive coordinator, defensive coordinator, for both teams. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_team_staffs( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by team. """ team_id: Int ): [NFLGameTeamStaffs!]! """ Each NFL team's stat line for each game — the same offensive, defensive, scoring, and situational counters as the season aggregate, broken out per game with home/away context. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_team_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by team. """ team_id: Int ): [NFLGameTeamStats!]! """ On-field weather throughout each NFL game — temperature, wind, humidity, and precipitation captured at fixed intervals from kickoff. Useful for outdoor-game performance analysis. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ game_weathers( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by stadium. """ stadium_id: Int ): [NFLGameWeathers!]! """ Every scheduled and played NFL game — preseason exhibitions, the 18-week regular season, the playoffs from Wild Card weekend through the Super Bowl. Requires at least one of these filter sets: `season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ games( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a season by year (e.g., 2025 for the 2025-26 season). Defaults to the current season. """ season_id: Int, """ Filter by week of the season. """ week: Int, """ `gte` comparison on `week`. """ week__gte: Int, """ `lte` comparison on `week`. """ week__lte: Int, """ Range filter on `week` — pass "lo,hi". """ week__between: String, """ Filter by season phase. Postseason round detail is in `playoff_round`. """ season_type: String, """ Filter by home team. """ home_team_id: Int, """ Filter by away team. """ away_team_id: Int, """ Filter by row status. """ status: String ): [NFLGames!]! """ The weekly NFL injury report — every player listed each game week with their practice participation, game-status designation (Out, Doubtful, Questionable, Probable), and the body part affected. Requires at least one of these filter sets: `player_id` | `season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ injuries( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single player. """ player_id: Int, """ Filter to a single game. """ game_id: Int, """ Filter by team. """ team_id: Int, """ Filter to a season by year (e.g., 2025 for the 2025-26 season). Defaults to the current season. """ season_id: Int, """ Filter by week of the season. """ week: Int, """ Time wall: PRE (default) = values at the game's kickoff, post-game fields null; FULL = the latest values before week end. """ mode: TimeWallMode = PRE ): [NFLInjuries!]! """ How each sportsbook and fantasy operator names every NFL player — the mapping from each operator's own player identifier to a unified player record. Requires at least one of these filter sets: `operator_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ operator_player_lookups( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by sportsbook / operator. """ operator_id: Int, """ Filter to a single player. """ player_id: Int, """ Filter by player position. """ position: String ): [NFLOperatorPlayerLookups!]! """ How each sportsbook and fantasy operator names every NFL team — the mapping from each operator's team code or abbreviation to the unified franchise record. Requires at least one of these filter sets: `operator_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ operator_team_lookups( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by sportsbook / operator. """ operator_id: Int, """ Filter by team. """ team_id: Int ): [NFLOperatorTeamLookups!]! """ Every individual play of every NFL game — what happened, where on the field, with what result. Includes pass and rush attempts, penalties, special teams, EPA, win probability, and the full game-clock and down-and-distance context. Requires at least one of these filter sets: `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ play_by_plays( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. Required — querying NFL play-by-play across all games is impractical (millions of rows). """ game_id: Int, """ Filter by team in possession. """ possession_team_id: Int, """ Filter by team on defense. """ defensive_team_id: Int, """ Filter by drive. """ drive_id: Int ): [NFLPlayByPlays!]! """ The personnel and pre-snap setup on every NFL play (one row per play, not per player) — offensive formation, personnel grouping, defensive look, coverage scheme, and the on-field player ids as comma-joined text columns. 2024 season coverage. Requires at least one of these filter sets: `play_id` | `game_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ play_participations( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by play. """ play_id: String, """ Filter to a single game. """ game_id: Int, """ Filter by team in possession. """ possession_team_id: Int ): [NFLPlayParticipations!]! """ NFL player contracts — total value, average annual pay, guaranteed money, and salary cap impact for every signed deal, with cap-inflated comparisons across eras. Requires at least one of these filter sets: `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ player_contracts( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single player. """ player_id: Int, """ Filter by team. """ team_id: Int, """ Filter by player position. """ position: String ): [NFLPlayerContracts!]! """ News about NFL players — transactions, injuries, lineup announcements, suspensions, and general beat-reporter updates. Requires at least one of these filter sets: `player_id` | `team_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ player_news( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single player. """ player_id: Int, """ Filter by team. """ team_id: Int, """ Filter by category. """ category: String, """ Filter by player status designation. """ status_enum: String, """ Filter by news urgency. """ urgency: String, """ Filter by source provider. """ source: String, """ Filter by publication time (ISO 8601). Use news_time__gte to poll for items since your last check. """ news_time: String, """ `gte` comparison on `news_time`. """ news_time__gte: String, """ `lte` comparison on `news_time`. """ news_time__lte: String, """ Range filter on `news_time` — pass "lo,hi". """ news_time__between: String ): [NFLPlayerNews!]! """ Every individual who has played in the NFL — current rosters, free agents, retired veterans — plus team-defense entries used for fantasy and DST scoring. Requires at least one of these filter sets: `team_id` | `roster_status` | `gsis_id` | `primary_position`. Metered by rows resolved across all nested lists — the same record unit as REST. """ players( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by team. """ team_id: Int, """ Filter by canonical roster status (shared cross-league vocabulary). The "on a team now" set is {active, injured_reserve, practice_squad, reserve, suspended}. """ roster_status: String, """ Filter by GSIS external player id. """ gsis_id: String, """ Filter by player primary position (e.g. QB, WR, RB). """ primary_position: String ): [NFLPlayers!]! """ The NFL postseason bracket — Wild Card weekend, the Divisional Round, the Conference Championships, and the Super Bowl, with seeds, scores, and outcomes. Requires at least one of these filter sets: `season_id` | `home_team_id` | `away_team_id` | `status`. Metered by rows resolved across all nested lists — the same record unit as REST. """ playoffs( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a season by year (e.g., 2025 for the 2025-26 season). Defaults to the current season. """ season_id: Int, """ Filter by home team. """ home_team_id: Int, """ Filter by away team. """ away_team_id: Int, """ Filter by row status. """ status: String ): [NFLPlayoffs!]! """ Pre-kickoff projected and post-game realized offensive snaps, snap shares, touch rates, and volume opportunities for NFL players. Requires at least one of these filter sets: `game_id` | `player_id` | `season_id + week` | `season_id + team_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ projected_player_snaps( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter to a single player. """ player_id: Int, """ Filter by team. """ team_id: Int, """ Filter to a season by year (e.g., 2025). Defaults to current season. """ season_id: Int, """ Filter by NFL week number. """ week: Int, """ Filter by position (QB, RB, WR, TE, DST). """ position: String, """ Time wall: PRE (default) = values at the game's kickoff, post-game fields null; FULL = the latest values before week end. """ mode: TimeWallMode = PRE ): [NFLProjectedPlayerSnaps!]! """ Pre-kickoff projected and post-game realized pace, offensive plays, pass/run playcalling mix, and personnel rates for NFL teams. Requires at least one of these filter sets: `game_id` | `season_id + week` | `season_id + team_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ projected_team_snaps( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single game. """ game_id: Int, """ Filter by team. """ team_id: Int, """ Filter to a season by year (e.g., 2025). Defaults to current season. """ season_id: Int, """ Filter by NFL week number. """ week: Int, """ Time wall: PRE (default) = values at the game's kickoff, post-game fields null; FULL = the latest values before week end. """ mode: TimeWallMode = PRE ): [NFLProjectedTeamSnaps!]! """ NFL on-field officials — the seven-person crew of referees, umpires, head linesmen, line judges, field judges, side judges, and back judges who work each game. Metered by rows resolved across all nested lists — the same record unit as REST. """ referees( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by active status (defaults to true to show only currently-active rows; pass active=false to include inactive). """ active: Boolean ): [NFLReferees!]! """ Season player stats restricted to first-down plays — passing, rushing, and receiving production filtered to first-down attempts, useful for early-down efficiency analysis. Requires at least one of these filter sets: `season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ season_player_firstdown_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single player. """ player_id: Int, """ Filter to a season by year (e.g., 2025 for the 2025-26 season). Defaults to the current season. """ season_id: Int ): [NFLSeasonPlayerFirstdownStats!]! """ Season player stats restricted to red-zone plays (inside the opponent's 20) — scoring efficiency, touchdown rate, and yardage production in the most-valuable area of the field. Requires at least one of these filter sets: `season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ season_player_redzone_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single player. """ player_id: Int, """ Filter to a season by year (e.g., 2025 for the 2025-26 season). Defaults to the current season. """ season_id: Int ): [NFLSeasonPlayerRedzoneStats!]! """ Season totals for each NFL player — passing, rushing, receiving, defensive, special-teams, and scoring stats accumulated across the year. Regular-season games only; playoff totals are not included. Requires at least one of these filter sets: `season_id` | `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ season_player_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single player. """ player_id: Int, """ Filter to a season by year (e.g., 2025 for the 2025-26 season). Defaults to the current season. """ season_id: Int ): [NFLSeasonPlayerStats!]! """ Season player stats restricted to third-down plays — conversion rates and production on the down that most often decides whether a drive lives or dies. Requires at least one of these filter sets: `season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ season_player_thirddown_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single player. """ player_id: Int, """ Filter to a season by year (e.g., 2025 for the 2025-26 season). Defaults to the current season. """ season_id: Int ): [NFLSeasonPlayerThirddownStats!]! """ Season totals for each NFL team — wins and losses, points scored and allowed, yards on offense and defense, turnovers, red-zone and down-conversion efficiency, kicking accuracy. Regular-season games only. Requires at least one of these filter sets: `season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ season_team_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by team. """ team_id: Int, """ Filter to a season by year (e.g., 2025 for the 2025-26 season). Defaults to the current season. """ season_id: Int ): [NFLSeasonTeamStats!]! """ Each NFL league year, from the opening of training camp through the Super Bowl. The 2025 season refers to the 2025-26 league year, kicking off in early August and ending in February. Metered by rows resolved across all nested lists — the same record unit as REST. """ seasons( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt ): [NFLSeasons!]! """ Venues that have hosted NFL games — current home stadiums, neutral-site locations like international and Super Bowl venues, and historical fields no longer in use. Metered by rows resolved across all nested lists — the same record unit as REST. """ stadiums( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt ): [NFLStadiums!]! """ News and updates about NFL teams — game previews, coaching changes, front-office moves, and beat reports. Requires at least one of these filter sets: `team_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ team_news( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by team. """ team_id: Int, """ Filter by category (game_preview, coaching, transaction, general, draft, depth_chart). """ category: String, """ Filter by news urgency. """ urgency: String, """ Filter by publication time (ISO 8601). Use news_time__gte to poll for items since your last check. """ news_time: String, """ `gte` comparison on `news_time`. """ news_time__gte: String, """ `lte` comparison on `news_time`. """ news_time__lte: String, """ Range filter on `news_time` — pass "lo,hi". """ news_time__between: String ): [NFLTeamNews!]! """ Each NFL club's roster today — the players on the club's current game roster (its next game not yet kicked off, else its latest game), one row per player, with the game's status and injury report. Between seasons, until 21 days before a club's next game, it shows the club's last game roster as it stood at that kickoff. For past weeks, use the game rosters (game_team_rosters). Requires at least one of these filter sets: `team_id + season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ team_player_rosters( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by team. """ team_id: Int, """ Filter to a single player. """ player_id: Int, """ Filter to a season by year (e.g., 2026 for the 2026-27 season). Defaults to the current season. The roster is today's, so a past season returns no rows. """ season_id: Int, """ Filter by player position. """ position: String, """ Time wall: PRE (default) = values at the game's kickoff, post-game fields null; FULL = the latest values before week end. """ mode: TimeWallMode = PRE ): [NFLTeamPlayerRosters!]! """ The 32 NFL franchises plus historical predecessors — teams that have since relocated, renamed, or merged into the current league. Metered by rows resolved across all nested lists — the same record unit as REST. """ teams( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by active status (defaults to true to show only currently-active rows; pass active=false to include inactive). """ active: Boolean ): [NFLTeams!]! } """ NFL on-field officials — the seven-person crew of referees, umpires, head linesmen, line judges, field judges, side judges, and back judges who work each game. """ type NFLReferees { """ Primary Key """ id: BigInt first_name: String last_name: String full_name: String """ Official NFL identifier for the referee. """ nfl_referee_id: Int """ On-field crew position (e.g., `Referee`, `Umpire`, `Head Linesman`, `Side Judge`). """ position: String """ Years of NFL officiating experience. """ experience: Int """ True for currently-active officials; false for retired. """ active: Boolean """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ nfl.game_referees rows whose `referee_id` references this row. """ game_referees( """ Page size (default 50, max 500). """ first: Int ): [NFLGameReferees!]! } """ Season player stats restricted to first-down plays — passing, rushing, and receiving production filtered to first-down attempts, useful for early-down efficiency analysis. """ type NFLSeasonPlayerFirstdownStats { """ Primary Key """ id: BigInt player_id: BigInt season_id: BigInt """ Number of games with first down involvement """ games_played: Int """ Number of games started """ games_started: Int """ Passing attempts on first down """ passing_attempts: Int """ Completed passes on first down """ passing_completions: Int """ Passing yards on first down """ passing_yds: Int """ Passing touchdowns on first down """ passing_tds: Int """ Interceptions thrown on first down """ passing_interceptions: Int """ Passer rating on first down """ passing_rating: Float """ Completion percentage on first down """ passing_completion_percentage: Float """ Passing yards per attempt on first down """ passing_yds_per_attempt: Float """ Passing yards per completion on first down """ passing_yds_per_completion: Float """ Longest pass completion on first down """ passing_long: Int """ Times sacked on first down """ passing_sacks: Int """ Yards lost to sacks on first down """ passing_sack_yds: Int """ Rushing attempts on first down """ rushing_attempts: Int """ Rushing yards on first down """ rushing_yds: Int """ Rushing touchdowns on first down """ rushing_tds: Int """ Rushing yards per attempt on first down """ rushing_yds_per_attempt: Float """ Longest rush on first down """ rushing_long: Int """ Times targeted on first down """ targets: Int """ Receptions on first down """ receptions: Int """ Receiving yards on first down """ receiving_yds: Int """ Receiving touchdowns on first down """ receiving_tds: Int """ Yards per reception on first down """ receiving_yds_per_reception: Float """ Longest reception on first down """ receiving_long: Int """ Reception percentage (receptions/targets) on first down """ reception_percentage: Float """ Receiving yards per target on first down """ receiving_yds_per_target: Float """ Fumbles on first down """ fumbles: Int """ Fumbles lost on first down """ fumbles_lost: Int """ Total offensive touchdowns on first down """ offensive_tds: Int """ Total touchdowns scored on first down """ total_tds: Int two_pt_pass_conversions: Int two_pt_rush_conversions: Int two_pt_reception_conversions: Int """ Offensive snaps played on first down """ offensive_snaps: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Solo tackles on first down """ solo_tackles: Int """ Assisted tackles on first down """ assisted_tackles: Int """ Tackles for loss on first down """ tackles_for_loss: Int """ Sacks on first down (0.5 for half sacks) """ sacks: Float """ QB hits on first down """ quarterback_hits: Int """ Passes defended on first down """ passes_defended: Int """ Interceptions on first down """ interceptions: Int """ Interception return yards on first down """ interception_yds: Int """ Interception return touchdowns on first down """ interception_tds: Int """ Forced fumbles on first down """ forced_fumbles: Int """ Fumbles recovered on first down """ fumbles_recovered: Int """ Fumble recovery yards on first down """ fumble_recovery_yds: Int """ Fumble recovery touchdowns on first down """ fumble_recovery_tds: Int """ Total defensive touchdowns on first down """ defensive_tds: Int """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons } """ Season player stats restricted to red-zone plays (inside the opponent's 20) — scoring efficiency, touchdown rate, and yardage production in the most-valuable area of the field. """ type NFLSeasonPlayerRedzoneStats { """ Primary Key """ id: BigInt player_id: BigInt season_id: BigInt """ Number of games with red zone involvement """ games_played: Int """ Number of games started """ games_started: Int """ Passing attempts in the red zone """ passing_attempts: Int """ Completed passes in the red zone """ passing_completions: Int """ Passing yards in the red zone """ passing_yds: Int """ Passing touchdowns in the red zone """ passing_tds: Int """ Interceptions thrown in the red zone """ passing_interceptions: Int """ Passer rating in the red zone """ passing_rating: Float """ Completion percentage in the red zone """ passing_completion_percentage: Float """ Passing yards per attempt in the red zone """ passing_yds_per_attempt: Float """ Passing yards per completion in the red zone """ passing_yds_per_completion: Float """ Longest pass completion in the red zone """ passing_long: Int """ Times sacked in the red zone """ passing_sacks: Int """ Yards lost to sacks in the red zone """ passing_sack_yds: Int """ Rushing attempts in the red zone """ rushing_attempts: Int """ Rushing yards in the red zone """ rushing_yds: Int """ Rushing touchdowns in the red zone """ rushing_tds: Int """ Rushing yards per attempt in the red zone """ rushing_yds_per_attempt: Float """ Longest rush in the red zone """ rushing_long: Int """ Times targeted in the red zone """ targets: Int """ Receptions in the red zone """ receptions: Int """ Receiving yards in the red zone """ receiving_yds: Int """ Receiving touchdowns in the red zone """ receiving_tds: Int """ Yards per reception in the red zone """ receiving_yds_per_reception: Float """ Longest reception in the red zone """ receiving_long: Int """ Reception percentage (receptions/targets) in the red zone """ reception_percentage: Float """ Receiving yards per target in the red zone """ receiving_yds_per_target: Float """ Fumbles in the red zone """ fumbles: Int """ Fumbles lost in the red zone """ fumbles_lost: Int """ Total offensive touchdowns in the red zone """ offensive_tds: Int """ Total touchdowns scored in the red zone """ total_tds: Int """ Successful two-point conversion passes in the red zone """ two_pt_pass_conversions: Int """ Successful two-point conversion runs in the red zone """ two_pt_rush_conversions: Int """ Successful two-point conversion receptions in the red zone """ two_pt_reception_conversions: Int """ Offensive snaps played in red zone situations """ offensive_snaps: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Solo tackles in red zone """ solo_tackles: Int """ Assisted tackles in red zone """ assisted_tackles: Int """ Tackles for loss in red zone """ tackles_for_loss: Int """ Sacks in red zone (0.5 for half sacks) """ sacks: Float """ QB hits in red zone """ quarterback_hits: Int """ Passes defended in red zone """ passes_defended: Int """ Interceptions in red zone """ interceptions: Int """ Interception return yards in red zone """ interception_yds: Int """ Interception return touchdowns in red zone """ interception_tds: Int """ Forced fumbles in red zone """ forced_fumbles: Int """ Fumbles recovered in red zone """ fumbles_recovered: Int """ Fumble recovery yards in red zone """ fumble_recovery_yds: Int """ Fumble recovery touchdowns in red zone """ fumble_recovery_tds: Int """ Total defensive touchdowns in red zone """ defensive_tds: Int """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons } """ Season totals for each NFL player — passing, rushing, receiving, defensive, special-teams, and scoring stats accumulated across the year. Regular-season games only; playoff totals are not included. """ type NFLSeasonPlayerStats { """ Primary Key """ id: BigInt player_id: BigInt season_id: BigInt games_played: Int games_started: Int completions: Int pass_attempts: Int passing_yds: Int passing_tds: Int interceptions_thrown: Int sacks_taken: Int sack_yds_lost: Int """ Total fumbles on sacks """ sack_fumbles: Int """ Total sack fumbles lost """ sack_fumbles_lost: Int """ Total passing air yards """ passing_air_yds: Int """ Total YAC from passes """ passing_yds_after_catch: Int """ Total passing first downs """ passing_first_downs: Int """ Longest pass (season max) """ passing_long: Int passer_rating: Float completion_percentage: Float yds_per_attempt: Float rushing_attempts: Int rushing_yds: Int rushing_tds: Int yds_per_carry: Float longest_rush: Int fumbles_rushing: Int """ Total rushing fumbles lost """ rushing_fumbles_lost: Int """ Total rushing first downs """ rushing_first_downs: Int targets: Int receptions: Int receiving_yds: Int receiving_tds: Int yds_per_reception: Float longest_reception: Int fumbles_receiving: Int """ Total receiving fumbles lost """ receiving_fumbles_lost: Int """ Total receiving air yards """ receiving_air_yds: Int """ Total receiving YAC """ receiving_yds_after_catch: Int """ Total receiving first downs """ receiving_first_downs: Int tackles_solo: Int tackles_assisted: Int total_tackles: Int tackles_for_loss: Int sacks: Float quarterback_hits: Int interceptions_defense: Int interception_return_yds: Int interception_tds: Int passes_defended: Int forced_fumbles: Int fumbles_recovered: Int fumble_return_yds: Int fumble_tds: Int defensive_tds: Int safeties: Int field_goals_made: Int field_goals_attempted: Int field_goal_percentage: Float field_goals_made_0_19: Int field_goals_made_20_29: Int field_goals_made_30_39: Int field_goals_made_40_49: Int field_goals_made_50_plus: Int longest_field_goal: Int extra_pts_made: Int extra_pts_attempted: Int punts: Int punt_yds: Int punt_average: Float punt_net_average: Float longest_punt: Int punts_inside_20: Int punt_touchbacks: Int punts_blocked: Int kick_returns: Int kick_return_yds: Int kick_return_average: Float kick_return_tds: Int longest_kick_return: Int punt_returns: Int punt_return_yds: Int punt_return_average: Float punt_return_tds: Int """ Total special teams touchdowns """ special_teams_tds: Int longest_punt_return: Int fair_catches: Int fumbles: Int fumbles_lost: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons } """ Season player stats restricted to third-down plays — conversion rates and production on the down that most often decides whether a drive lives or dies. """ type NFLSeasonPlayerThirddownStats { """ Primary Key """ id: BigInt player_id: BigInt season_id: BigInt """ Number of games with third down involvement """ games_played: Int """ Number of games started """ games_started: Int """ Passing attempts on third down """ passing_attempts: Int """ Completed passes on third down """ passing_completions: Int """ Passing yards on third down """ passing_yds: Int """ Passing touchdowns on third down """ passing_tds: Int """ Interceptions thrown on third down """ passing_interceptions: Int """ Passer rating on third down """ passing_rating: Float """ Completion percentage on third down """ passing_completion_percentage: Float """ Passing yards per attempt on third down """ passing_yds_per_attempt: Float """ Passing yards per completion on third down """ passing_yds_per_completion: Float """ Longest pass completion on third down """ passing_long: Int """ Times sacked on third down """ passing_sacks: Int """ Yards lost to sacks on third down """ passing_sack_yds: Int """ Rushing attempts on third down """ rushing_attempts: Int """ Rushing yards on third down """ rushing_yds: Int """ Rushing touchdowns on third down """ rushing_tds: Int """ Rushing yards per attempt on third down """ rushing_yds_per_attempt: Float """ Longest rush on third down """ rushing_long: Int """ Times targeted on third down """ targets: Int """ Receptions on third down """ receptions: Int """ Receiving yards on third down """ receiving_yds: Int """ Receiving touchdowns on third down """ receiving_tds: Int """ Yards per reception on third down """ receiving_yds_per_reception: Float """ Longest reception on third down """ receiving_long: Int """ Reception percentage (receptions/targets) on third down """ reception_percentage: Float """ Receiving yards per target on third down """ receiving_yds_per_target: Float """ Fumbles on third down """ fumbles: Int """ Fumbles lost on third down """ fumbles_lost: Int """ Total offensive touchdowns on third down """ offensive_tds: Int """ Total touchdowns scored on third down """ total_tds: Int two_pt_pass_conversions: Int two_pt_rush_conversions: Int two_pt_reception_conversions: Int """ Offensive snaps played on third down """ offensive_snaps: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Solo tackles on third down """ solo_tackles: Int """ Assisted tackles on third down """ assisted_tackles: Int """ Tackles for loss on third down """ tackles_for_loss: Int """ Sacks on third down (0.5 for half sacks) """ sacks: Float """ QB hits on third down """ quarterback_hits: Int """ Passes defended on third down """ passes_defended: Int """ Interceptions on third down """ interceptions: Int """ Interception return yards on third down """ interception_yds: Int """ Interception return touchdowns on third down """ interception_tds: Int """ Forced fumbles on third down """ forced_fumbles: Int """ Fumbles recovered on third down """ fumbles_recovered: Int """ Fumble recovery yards on third down """ fumble_recovery_yds: Int """ Fumble recovery touchdowns on third down """ fumble_recovery_tds: Int """ Total defensive touchdowns on third down """ defensive_tds: Int """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons } """ Season totals for each NFL team — wins and losses, points scored and allowed, yards on offense and defense, turnovers, red-zone and down-conversion efficiency, kicking accuracy. Regular-season games only. """ type NFLSeasonTeamStats { """ Primary Key """ id: BigInt team_id: BigInt season_id: BigInt games_played: Int wins: Int losses: Int ties: Int pts_scored: Int pts_allowed: Int total_yds: Int passing_yds: Int rushing_yds: Int completions: Int pass_attempts: Int passing_tds: Int rushing_tds: Int first_downs: Int """ Possessions reaching the red zone (inside the opponent's 20-yard line). """ red_zone_attempts: Int """ Red-zone trips that ended in a touchdown. """ red_zone_conversions: Int """ Third-down attempts converted to a first down or touchdown. """ third_down_conversions: Int """ Total third-down plays attempted. """ third_down_attempts: Int """ Fourth-down attempts converted to a first down or touchdown. """ fourth_down_conversions: Int """ Total fourth-down plays attempted (excludes punts and field-goal attempts). """ fourth_down_attempts: Int """ Possessions lost via interception or fumble. """ turnovers: Int """ Sacks recorded by this team's defense (half-sacks supported as decimals). """ defensive_sacks: Float defensive_interceptions: Int fumbles_recovered: Int """ Touchdowns scored by the defense (interception return + fumble recovery TD); excludes special-teams returns. """ defensive_tds: Int field_goals_made: Int field_goals_attempted: Int extra_pts_made: Int extra_pts_attempted: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ Each NFL league year, from the opening of training camp through the Super Bowl. The 2025 season refers to the 2025-26 league year, kicking off in early August and ending in February. """ type NFLSeasons { """ Primary Key """ id: BigInt """ First day of the season (typically the start of preseason in early August). """ start_date: String """ Last day of the season (Super Bowl date or shortly after). """ end_date: String """ Calendar year in which the season starts (e.g., 2025 = the 2025-26 season). """ start_year: Int """ First day of regular-season play (typically the Thursday after Labor Day). """ regular_season_start_date: String """ First day of the postseason (Wild Card weekend). """ post_season_start_date: String """ Date of the Super Bowl for this season. """ super_bowl_date: String """ Number of regular-season weeks (18 since 2021; 17 in 2020 and earlier). """ regular_season_weeks: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ nfl.coach_scheme_tendencies rows whose `season_id` references this row. """ coach_scheme_tendencies( """ Page size (default 50, max 500). """ first: Int ): [NFLCoachSchemeTendencies!]! """ nfl.coaching_staff_tenures rows whose `season_id` references this row. """ coaching_staff_tenures( """ Page size (default 50, max 500). """ first: Int ): [NFLCoachingStaffTenures!]! """ nfl.coaching_staffs rows whose `season_id` references this row. """ coaching_staffs( """ Page size (default 50, max 500). """ first: Int ): [NFLCoachingStaffs!]! """ nfl.depth_charts rows whose `season_id` references this row. """ depth_charts( """ Page size (default 50, max 500). """ first: Int ): [NFLDepthCharts!]! """ nfl.game_lines rows whose `season_id` references this row. """ game_lines( """ Page size (default 50, max 500). """ first: Int ): [NFLGameLines!]! """ nfl.game_player_props rows whose `season_id` references this row. """ game_player_props( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerProps!]! """ nfl.games rows whose `season_id` references this row. """ games( """ Page size (default 50, max 500). """ first: Int ): [NFLGames!]! """ nfl.injuries rows whose `season_id` references this row. """ injuries( """ Page size (default 50, max 500). """ first: Int ): [NFLInjuries!]! """ nfl.playoffs rows whose `season_id` references this row. """ playoffs( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayoffs!]! """ nfl.projected_player_snaps rows whose `season_id` references this row. """ projected_player_snaps( """ Page size (default 50, max 500). """ first: Int ): [NFLProjectedPlayerSnaps!]! """ nfl.projected_team_snaps rows whose `season_id` references this row. """ projected_team_snaps( """ Page size (default 50, max 500). """ first: Int ): [NFLProjectedTeamSnaps!]! """ nfl.season_player_firstdown_stats rows whose `season_id` references this row. """ season_player_firstdown_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLSeasonPlayerFirstdownStats!]! """ nfl.season_player_redzone_stats rows whose `season_id` references this row. """ season_player_redzone_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLSeasonPlayerRedzoneStats!]! """ nfl.season_player_stats rows whose `season_id` references this row. """ season_player_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLSeasonPlayerStats!]! """ nfl.season_player_thirddown_stats rows whose `season_id` references this row. """ season_player_thirddown_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLSeasonPlayerThirddownStats!]! """ nfl.season_team_stats rows whose `season_id` references this row. """ season_team_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLSeasonTeamStats!]! """ nfl.team_player_rosters rows whose `season_id` references this row. """ team_player_rosters( """ Page size (default 50, max 500). """ first: Int ): [NFLTeamPlayerRosters!]! } """ Venues that have hosted NFL games — current home stadiums, neutral-site locations like international and Super Bowl venues, and historical fields no longer in use. """ type NFLStadiums { """ Primary Key """ id: BigInt name: String """ Official NFL stadium ID from API """ league_stadium_id: String """ Longitude of the stadium centroid (decimal degrees, WGS84). """ longitude: Float """ Latitude of the stadium centroid (decimal degrees, WGS84). """ latitude: Float """ Elevation in feet above sea level """ elevation: Float """ Field orientation in degrees (0-360). Direction end zones face, measured from south end zone. 0/360=North, 90=East, 180=South, 270=West """ orientation: Float description: String city: String state: String country: String """ Approximate seating capacity for football configuration. """ capacity: Int """ Playing surface type (e.g., `grass`, `FieldTurf`, `Astroturf`). """ surface: String """ Roof type (e.g., `open`, `dome`, `retractable`). """ roof_type: String """ Date the stadium opened for play. """ opened_date: String """ Date the stadium closed (null if currently in use). """ closed_date: String """ Team commonly associated with this stadium at the time (display string, not a foreign key). """ team_name: String """ IANA timezone (e.g., America/New_York) """ timezone: String """ Street address of the stadium. """ address: String """ URL to aerial/overview image of stadium """ image_url: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ nfl.game_weathers rows whose `stadium_id` references this row. """ game_weathers( """ Page size (default 50, max 500). """ first: Int ): [NFLGameWeathers!]! """ nfl.games rows whose `stadium_id` references this row. """ games( """ Page size (default 50, max 500). """ first: Int ): [NFLGames!]! """ nfl.play_by_plays rows whose `stadium_id` references this row. """ play_by_plays( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayByPlays!]! """ nfl.teams rows whose `stadium_id` references this row. """ teams( """ Page size (default 50, max 500). """ first: Int ): [NFLTeams!]! } """ News and updates about NFL teams — game previews, coaching changes, front-office moves, and beat reports. """ type NFLTeamNews { """ Primary Key """ id: BigInt """ Team ID that this news event pertains to. """ team_id: BigInt """ Headline of the team news story. """ title: String """ Concise journalistic summary of the team news event. """ summary: String """ game_preview, coaching, transaction, general """ category: String """ ROUTINE, MEDIUM, HIGH, BREAKING_GAME_TIME """ urgency: String """ Publication timestamp of the team story. """ news_time: String """ Source citations with publisher name, URL, author, and published timestamp. """ sources: JSON """ Whether this story was generated or enriched via LLM summarization. """ ai_processed: Boolean """ Canonical external identifier for deduplication. """ external_id: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Opponent team ID when news relates to an upcoming or completed game matchup. """ opponent_team_id: BigInt """ Associated game ID when news relates to a specific game. """ game_id: BigInt """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames """ The nfl.teams row referenced by `opponent_team_id`; null when unlinked. """ opponent_team: NFLTeams """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams } """ Each NFL club's roster today — the players on the club's current game roster (its next game not yet kicked off, else its latest game), one row per player, with the game's status and injury report. Between seasons, until 21 days before a club's next game, it shows the club's last game roster as it stood at that kickoff. For past weeks, use the game rosters (game_team_rosters). """ type NFLTeamPlayerRosters { """ Primary Key """ id: BigInt team_id: BigInt player_id: BigInt season_id: BigInt """ The player's position on the club (a position from the filter list when the game roster has one, else his primary position). """ position: String """ Position group (`Offense`, `Defense`, `Special Teams`). """ position_group: String """ Depth-chart order at this position for the current game (1 = starter); empty when not on the chart or not active. """ depth_order: Int """ The first game day of the current game's week (YYYYMMDD, Eastern), usually its Thursday; the same value for every club that week. """ day: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The club's current game — its next game not yet kicked off, else its latest game. """ game_id: BigInt """ Season type of the current game (regular_season, postseason, preseason). """ season_type: String """ Week of the current game within its season type. """ week: Int """ Kickoff time of the current game. """ game_time: String """ Roster status for the current game (`Active`, `Inactive`, `PracticeSquad`, `Reserve`, `Exempt`, `PhysicallyUnableToPerform`, `NonFootballInjury`, `Suspended`, ...); only players on the club appear. """ status: String """ Injury designation on the current game roster (e.g. Questionable, Doubtful, Out; empty when healthy). """ injury_status: String """ The official injury report's game status for the current game, as the report words it (e.g. `Out`, `Doubtful`, `Questionable`, `Active`, `Injured Reserve`), from the injury report of that same game only; empty when the player is not on it. """ report_status: String """ The injury report's practice participation for the current game, as the report words it (`DNP`, `LP`, `FP`, or the long form such as `Did Not Participate In Practice`); empty when the player is not on the practice report. """ practice_status: String """ The injury report's primary injury for the current game. """ report_primary_injury: String """ The nfl.teams row referenced by `team_id`; null when unlinked. """ team: NFLTeams """ The nfl.players row referenced by `player_id`; null when unlinked. """ player: NFLPlayers """ The nfl.seasons row referenced by `season_id`; null when unlinked. """ season: NFLSeasons """ The nfl.games row referenced by `game_id`; null when unlinked. """ game: NFLGames } """ The 32 NFL franchises plus historical predecessors — teams that have since relocated, renamed, or merged into the current league. """ type NFLTeams { """ Primary Key """ id: BigInt """ Three-letter team code (e.g., KC, NE, GB). """ abbreviation: String city: String """ Official NFL team UUID from api.nfl.com """ league_team_id: String """ Conference assignment (AFC or NFC). """ conference: String """ Division within the conference (e.g., AFC East, NFC West). """ division: String full_name: String name: String """ True for currently-active franchises; false for relocated or defunct teams retained for historical references. """ active: Boolean """ Primary home stadium (FK to `stadiums`); null if unknown or shared. """ stadium_id: BigInt """ URL to team logo image """ logo_url: String """ Hex color code for the team's primary uniform color (e.g., `#A71930`). """ primary_color: String """ Hex color code for the team's secondary uniform color. """ secondary_color: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The nfl.stadiums row referenced by `stadium_id`; null when unlinked. """ stadium: NFLStadiums """ nfl.coach_scheme_tendencies rows whose `opponent_team_id` references this row. """ coach_scheme_tendencies_by_opponent_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLCoachSchemeTendencies!]! """ nfl.coach_scheme_tendencies rows whose `team_id` references this row. """ coach_scheme_tendencies_by_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLCoachSchemeTendencies!]! """ nfl.coaching_staff_tenures rows whose `team_id` references this row. """ coaching_staff_tenures( """ Page size (default 50, max 500). """ first: Int ): [NFLCoachingStaffTenures!]! """ nfl.coaching_staffs rows whose `team_id` references this row. """ coaching_staffs( """ Page size (default 50, max 500). """ first: Int ): [NFLCoachingStaffs!]! """ nfl.combine_results rows whose `team_id` references this row. """ combine_results( """ Page size (default 50, max 500). """ first: Int ): [NFLCombineResults!]! """ nfl.depth_charts rows whose `team_id` references this row. """ depth_charts( """ Page size (default 50, max 500). """ first: Int ): [NFLDepthCharts!]! """ nfl.draft_picks rows whose `team_id` references this row. """ draft_picks( """ Page size (default 50, max 500). """ first: Int ): [NFLDraftPicks!]! """ nfl.game_drives rows whose `possession_team_id` references this row. """ game_drives( """ Page size (default 50, max 500). """ first: Int ): [NFLGameDrives!]! """ nfl.game_player_firstdown_stats rows whose `opponent_team_id` references this row. """ game_player_firstdown_stats_by_opponent_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerFirstdownStats!]! """ nfl.game_player_firstdown_stats rows whose `team_id` references this row. """ game_player_firstdown_stats_by_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerFirstdownStats!]! """ nfl.game_player_ngs_passings rows whose `team_id` references this row. """ game_player_ngs_passings( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerNgsPassings!]! """ nfl.game_player_ngs_receivings rows whose `team_id` references this row. """ game_player_ngs_receivings( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerNgsReceivings!]! """ nfl.game_player_ngs_rushings rows whose `team_id` references this row. """ game_player_ngs_rushings( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerNgsRushings!]! """ nfl.game_player_pfr_advstats rows whose `opponent_team_id` references this row. """ game_player_pfr_advstats_by_opponent_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerPfrAdvstats!]! """ nfl.game_player_pfr_advstats rows whose `team_id` references this row. """ game_player_pfr_advstats_by_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerPfrAdvstats!]! """ nfl.game_player_redzone_stats rows whose `opponent_team_id` references this row. """ game_player_redzone_stats_by_opponent_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerRedzoneStats!]! """ nfl.game_player_redzone_stats rows whose `team_id` references this row. """ game_player_redzone_stats_by_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerRedzoneStats!]! """ nfl.game_player_stats rows whose `opponent_team_id` references this row. """ game_player_stats_by_opponent_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerStats!]! """ nfl.game_player_stats rows whose `team_id` references this row. """ game_player_stats_by_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerStats!]! """ nfl.game_player_thirddown_stats rows whose `opponent_team_id` references this row. """ game_player_thirddown_stats_by_opponent_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerThirddownStats!]! """ nfl.game_player_thirddown_stats rows whose `team_id` references this row. """ game_player_thirddown_stats_by_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerThirddownStats!]! """ nfl.game_team_rosters rows whose `team_id` references this row. """ game_team_rosters( """ Page size (default 50, max 500). """ first: Int ): [NFLGameTeamRosters!]! """ nfl.game_team_staffs rows whose `team_id` references this row. """ game_team_staffs( """ Page size (default 50, max 500). """ first: Int ): [NFLGameTeamStaffs!]! """ nfl.game_team_stats rows whose `team_id` references this row. """ game_team_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLGameTeamStats!]! """ nfl.games rows whose `away_team_id` references this row. """ games_by_away_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLGames!]! """ nfl.games rows whose `home_team_id` references this row. """ games_by_home_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLGames!]! """ nfl.injuries rows whose `team_id` references this row. """ injuries( """ Page size (default 50, max 500). """ first: Int ): [NFLInjuries!]! """ nfl.operator_team_lookups rows whose `team_id` references this row. """ operator_team_lookups( """ Page size (default 50, max 500). """ first: Int ): [NFLOperatorTeamLookups!]! """ nfl.play_by_plays rows whose `defensive_team_id` references this row. """ play_by_plays_by_defensive_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayByPlays!]! """ nfl.play_by_plays rows whose `possession_team_id` references this row. """ play_by_plays_by_possession_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayByPlays!]! """ nfl.play_participations rows whose `possession_team_id` references this row. """ play_participations( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayParticipations!]! """ nfl.player_contracts rows whose `team_id` references this row. """ player_contracts( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayerContracts!]! """ nfl.player_news rows whose `opponent_team_id` references this row. """ player_news_by_opponent_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayerNews!]! """ nfl.player_news rows whose `team_id` references this row. """ player_news_by_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayerNews!]! """ nfl.players rows whose `team_id` references this row. """ players( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayers!]! """ nfl.playoffs rows whose `away_team_id` references this row. """ playoffs_by_away_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayoffs!]! """ nfl.playoffs rows whose `home_team_id` references this row. """ playoffs_by_home_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayoffs!]! """ nfl.playoffs rows whose `winner_team_id` references this row. """ playoffs_by_winner_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLPlayoffs!]! """ nfl.projected_player_snaps rows whose `team_id` references this row. """ projected_player_snaps( """ Page size (default 50, max 500). """ first: Int ): [NFLProjectedPlayerSnaps!]! """ nfl.projected_team_snaps rows whose `opponent_team_id` references this row. """ projected_team_snaps_by_opponent_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLProjectedTeamSnaps!]! """ nfl.projected_team_snaps rows whose `team_id` references this row. """ projected_team_snaps_by_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLProjectedTeamSnaps!]! """ nfl.season_team_stats rows whose `team_id` references this row. """ season_team_stats( """ Page size (default 50, max 500). """ first: Int ): [NFLSeasonTeamStats!]! """ nfl.team_news rows whose `opponent_team_id` references this row. """ team_news_by_opponent_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLTeamNews!]! """ nfl.team_news rows whose `team_id` references this row. """ team_news_by_team_id( """ Page size (default 50, max 500). """ first: Int ): [NFLTeamNews!]! """ nfl.team_player_rosters rows whose `team_id` references this row. """ team_player_rosters( """ Page size (default 50, max 500). """ first: Int ): [NFLTeamPlayerRosters!]! } """ Per-hole scoring statistics for each round of a tournament — par, yardage, the field's scoring average and its relation to par, and the distribution of eagles, birdies, pars, and bogeys, plus difficulty rank. """ type PGACourseHoleStats { """ Primary Key """ id: BigInt tournament_id: BigInt """ PGA Tour course code (e.g., 014 = Augusta National) """ course_code: String round_number: Int hole_number: Int par: Int yards: Int scoring_average: Float """ Scoring average relative to par """ scoring_average_diff: Float eagles: Int birdies: Int pars: Int bogeys: Int double_bogeys: Int """ Difficulty rank among holes (1 = hardest) """ rank: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The golf.tournaments row referenced by `tournament_id`; null when unlinked. """ tournament: PGATournaments } """ Golf courses that host professional events — Augusta National, Pebble Beach, St Andrews, TPC Sawgrass, and every other venue on the PGA, LIV, DP World, and Korn Ferry calendars. """ type PGACourses { """ Primary Key """ id: BigInt name: String """ Official PGA Tour course id """ league_course_id: Int city: String state: String country: String zip: String longitude: Float latitude: Float """ Elevation in feet above sea level """ elevation: Float par: Int yards: Int """ IANA timezone (e.g., America/New_York) """ timezone: String address: String """ URL to aerial/overview image of course """ image_url: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String } """ The full leaderboard of every professional golf tournament — each player's position, score relative to par, total strokes, made cut/missed cut status, and prize money. """ type PGALeaderboards { """ Primary Key """ id: BigInt tournament_id: BigInt player_tournament_id: Int player_id: BigInt rank: Int """ Score relative to par """ total_score: Int total_strokes: Int """ Current hole of player for current round """ total_through: Int """ Prize money earned in cents """ earnings: BigInt fedex_pts: Int """ 1 if made cut, 0 if missed """ made_cut: Int made_cut_did_not_finish: Boolean """ 1 if won tournament """ win: Int is_alternate: Boolean is_withdrawn: Boolean """ out, active, etc. """ tournament_status: String tee_time: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String sg_total: Float sg_off_tee: Float sg_approach: Float sg_around_green: Float sg_putting: Float sg_tee_to_green: Float """ The golf.players row referenced by `player_id`; null when unlinked. """ player: PGAPlayers """ The golf.tournaments row referenced by `tournament_id`; null when unlinked. """ tournament: PGATournaments } """ How each sportsbook and fantasy operator names every professional golfer — the mapping from each operator's player identifier to a unified player record. """ type PGAOperatorPlayerLookups { """ Primary Key """ id: BigInt """ Operator id: 1 DraftKings, 2 FanDuel, 3 Yahoo, 13 sportsdata.io. """ operator_id: BigInt """ External player ID from operator """ operator_player_id: String """ Internal golf.players.id reference """ player_id: BigInt """ Player name for reconciliation """ player_name: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ How this mapping was decided: 'derived' (finder answer, overwritable), 'pinned' (decided on evidence, trigger-protected), 'blocked' (no player we hold is this id; player_id NULL, never retried). DB default 'derived'; a BEFORE UPDATE trigger preserves non-derived rows. """ decision: String """ Evidence behind a pinned or blocked decision. """ decided_reason: String """ When the pin or block was decided. """ decided_at: String """ The main.operators row referenced by `operator_id`; null when unlinked. """ operator: ReferenceOperators """ The golf.players row referenced by `player_id`; null when unlinked. """ player: PGAPlayers } """ Hole-by-hole scoring for each player at each professional tournament — strokes and score relative to par per hole. (Shot-level tracking — drive distance, approach result, putts — is not carried here.) """ type PGAPlayerHoles { """ Primary Key """ id: BigInt tournament_id: BigInt player_id: BigInt player_round_id: BigInt round_number: Int hole_number: Int par: Int score: Int """ Score relative to par for this hole """ to_par: Int hole_in_one: Boolean double_eagle: Boolean eagle: Boolean birdie: Boolean is_par: Boolean bogey: Boolean double_bogey: Boolean worse_than_double_bogey: Boolean """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The golf.players row referenced by `player_id`; null when unlinked. """ player: PGAPlayers """ The golf.player_rounds row referenced by `player_round_id`; null when unlinked. """ player_round: PGAPlayerRounds """ The golf.tournaments row referenced by `tournament_id`; null when unlinked. """ tournament: PGATournaments } """ News about professional golfers — equipment changes, swing coach updates, sponsorships, tour-status changes, suspensions, and general beat-reporter updates. """ type PGAPlayerNews { """ Primary Key """ id: BigInt player_id: BigInt tournament_id: BigInt source: String title: String content: String url: String terms_of_use: String author: String categories: String original_source: String original_source_url: String news_time: String updated_time: String priority: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String ai_processed: Boolean """ Structured situational impact assessment and fantasy implications for the player. """ situational_impact: JSON """ The golf.players row referenced by `player_id`; null when unlinked. """ player: PGAPlayers """ The golf.tournaments row referenced by `tournament_id`; null when unlinked. """ tournament: PGATournaments } """ Each player's scoring line for each round of every professional golf tournament — total strokes, score relative to par, eagles, birdies, bogeys, and double-bogeys. (Ball-striking detail — fairways, greens in regulation, putts — is not carried here.) """ type PGAPlayerRounds { """ Primary Key """ id: BigInt tournament_id: BigInt player_id: BigInt round_number: Int day: String tee_time: String back_nine_start: Boolean par: Int """ Total strokes for round """ score: Int double_eagles: Int eagles: Int birdies: Int pars: Int bogeys: Int double_bogeys: Int worse_than_double_bogey: Int triple_bogeys: Int worse_than_triple_bogey: Int holes_in_one: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String sg_total: Float sg_off_tee: Float sg_approach: Float sg_around_green: Float sg_putting: Float sg_tee_to_green: Float """ The golf.players row referenced by `player_id`; null when unlinked. """ player: PGAPlayers """ The golf.tournaments row referenced by `tournament_id`; null when unlinked. """ tournament: PGATournaments """ golf.player_holes rows whose `player_round_id` references this row. """ player_holes( """ Page size (default 50, max 500). """ first: Int ): [PGAPlayerHoles!]! } """ Season totals for each professional golfer — events played, cuts made, top-10 finishes, wins, and prize money earned. Ball-striking and strokes-gained metrics are not carried here. """ type PGAPlayerSeasonStats { """ Primary Key """ id: BigInt player_id: BigInt tour_id: BigInt events: Int cuts_made: Int wins: Int second_place: Int third_place: Int top_five: Int top_ten: Int top_twenty_five: Int rounds: Int total_strokes: Int """ Total score relative to par """ total_score: Int double_eagles: Int eagles: Int birdies: Int pars: Int bogeys: Int double_bogeys: Int worse_than_double_bogey: Int triple_bogeys: Int worse_than_triple_bogey: Int holes_in_one: Int streaks_of_three_birdies_or_better: Int bogey_free_rounds: Int rounds_under_seventy: Int bounce_back_count: Int consecutive_birdie_or_better_count: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Average driving distance in yards """ driving_distance: Float driving_accuracy_pct: Float """ Greens in regulation percentage """ gir_pct: Float putts_per_round: Float scrambling_pct: Float sg_total: Float sg_off_tee: Float sg_approach: Float sg_around_green: Float sg_putting: Float season_id: BigInt """ The golf.players row referenced by `player_id`; null when unlinked. """ player: PGAPlayers """ The golf.seasons row referenced by `season_id`; null when unlinked. """ season: PGASeasons """ The golf.tours row referenced by `tour_id`; null when unlinked. """ tour: PGATours } """ Shot-by-shot tracking for each player at each professional tournament — every stroke with its type, start/end location, distance, ShotLink/TOURCAST course coordinates, and TrackMan radar metrics (club & ball speed, spin, launch angle, apex, carry). Available for regular PGA Tour events with ShotLink; majors such as the Masters do not publish shot tracking. """ type PGAPlayerShots { """ Primary Key """ id: BigInt tournament_id: BigInt player_id: BigInt round_number: Int hole_number: Int """ Stroke sequence within the hole (1 = first stroke) """ shot_number: Int par: Int """ STROKE, PENALTY, DROP, PROVISIONAL """ stroke_type: String from_location: String to_location: String from_location_code: String to_location_code: String """ Shot distance in yards (null when the source reports feet near the green) """ distance_yards: Float """ Distance to the hole after the shot, in yards """ distance_remaining_yards: Float play_by_play: String final_stroke: Boolean from_x: Float from_y: Float from_z: Float to_x: Float to_y: Float to_z: Float club_speed: Float ball_speed: Float smash_factor: Float launch_spin: Float spin_axis: Float """ Vertical launch angle (degrees) """ launch_angle: Float apex_height: Float carry_distance: Float """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The golf.players row referenced by `player_id`; null when unlinked. """ player: PGAPlayers """ The golf.tournaments row referenced by `tournament_id`; null when unlinked. """ tournament: PGATournaments } """ Every professional golfer — active tour members, conditional-status players, alumni who have competed at the highest level, and country-of-origin information. """ type PGAPlayers { """ Primary Key """ id: BigInt """ Official tour player identifier """ league_id: String first_name: String last_name: String full_name: String """ Official PGA Tour player id """ league_player_id: Int short_name: String country: String birth_date: String birth_city: String birth_state: String birth_country: String """ Right, Left """ swings: String college: String photo_url: String pga_debut_year: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ golf.leaderboards rows whose `player_id` references this row. """ leaderboards( """ Page size (default 50, max 500). """ first: Int ): [PGALeaderboards!]! """ golf.operator_player_lookups rows whose `player_id` references this row. """ operator_player_lookups( """ Page size (default 50, max 500). """ first: Int ): [PGAOperatorPlayerLookups!]! """ golf.player_holes rows whose `player_id` references this row. """ player_holes( """ Page size (default 50, max 500). """ first: Int ): [PGAPlayerHoles!]! """ golf.player_news rows whose `player_id` references this row. """ player_news( """ Page size (default 50, max 500). """ first: Int ): [PGAPlayerNews!]! """ golf.player_rounds rows whose `player_id` references this row. """ player_rounds( """ Page size (default 50, max 500). """ first: Int ): [PGAPlayerRounds!]! """ golf.player_season_stats rows whose `player_id` references this row. """ player_season_stats( """ Page size (default 50, max 500). """ first: Int ): [PGAPlayerSeasonStats!]! """ golf.player_shots rows whose `player_id` references this row. """ player_shots( """ Page size (default 50, max 500). """ first: Int ): [PGAPlayerShots!]! """ golf.tournament_odds rows whose `player_id` references this row. """ tournament_odds_by_player_id( """ Page size (default 50, max 500). """ first: Int ): [PGATournamentOdds!]! """ golf.tournament_odds rows whose `matchup_opponent_id` references this row. """ tournament_odds_by_matchup_opponent_id( """ Page size (default 50, max 500). """ first: Int ): [PGATournamentOdds!]! """ golf.tournament_odds rows whose `round_matchup_opponent_id` references this row. """ tournament_odds_by_round_matchup_opponent_id( """ Page size (default 50, max 500). """ first: Int ): [PGATournamentOdds!]! """ golf.tournament_odds rows whose `three_ball_opponent1_id` references this row. """ tournament_odds_by_three_ball_opponent1_id( """ Page size (default 50, max 500). """ first: Int ): [PGATournamentOdds!]! """ golf.tournament_odds rows whose `three_ball_opponent2_id` references this row. """ tournament_odds_by_three_ball_opponent2_id( """ Page size (default 50, max 500). """ first: Int ): [PGATournamentOdds!]! } type PGAQuery { """ Per-hole scoring statistics for each round of a tournament — par, yardage, the field's scoring average and its relation to par, and the distribution of eagles, birdies, pars, and bogeys, plus difficulty rank. Requires at least one of these filter sets: `tournament_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ course_hole_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single tournament. """ tournament_id: Int ): [PGACourseHoleStats!]! """ Golf courses that host professional events — Augusta National, Pebble Beach, St Andrews, TPC Sawgrass, and every other venue on the PGA, LIV, DP World, and Korn Ferry calendars. Metered by rows resolved across all nested lists — the same record unit as REST. """ courses( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt ): [PGACourses!]! """ The full leaderboard of every professional golf tournament — each player's position, score relative to par, total strokes, made cut/missed cut status, and prize money. Requires at least one of these filter sets: `tournament_id` | `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ leaderboards( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single tournament. """ tournament_id: Int, """ Filter to a single player. """ player_id: Int ): [PGALeaderboards!]! """ How each sportsbook and fantasy operator names every professional golfer — the mapping from each operator's player identifier to a unified player record. Requires at least one of these filter sets: `operator_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ operator_player_lookups( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by operator. """ operator_id: Int, """ Filter to a single player. """ player_id: Int ): [PGAOperatorPlayerLookups!]! """ Hole-by-hole scoring for each player at each professional tournament — strokes and score relative to par per hole. (Shot-level tracking — drive distance, approach result, putts — is not carried here.) Requires at least one of these filter sets: `player_id` | `tournament_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ player_holes( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single player. """ player_id: Int, """ Filter to a single tournament. """ tournament_id: Int ): [PGAPlayerHoles!]! """ News about professional golfers — equipment changes, swing coach updates, sponsorships, tour-status changes, suspensions, and general beat-reporter updates. Requires at least one of these filter sets: `player_id` | `tournament_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ player_news( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single player. """ player_id: Int, """ Filter to a tournament. """ tournament_id: Int, """ Filter by publication time (ISO 8601). Use news_time__gte to poll for items since your last check. """ news_time: String, """ `gte` comparison on `news_time`. """ news_time__gte: String, """ `lte` comparison on `news_time`. """ news_time__lte: String, """ Range filter on `news_time` — pass "lo,hi". """ news_time__between: String ): [PGAPlayerNews!]! """ Each player's scoring line for each round of every professional golf tournament — total strokes, score relative to par, eagles, birdies, bogeys, and double-bogeys. (Ball-striking detail — fairways, greens in regulation, putts — is not carried here.) Requires at least one of these filter sets: `player_id` | `tournament_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ player_rounds( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single player. """ player_id: Int, """ Filter to a single tournament. """ tournament_id: Int ): [PGAPlayerRounds!]! """ Season totals for each professional golfer — events played, cuts made, top-10 finishes, wins, and prize money earned. Ball-striking and strokes-gained metrics are not carried here. Requires at least one of these filter sets: `season_id` | `player_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ player_season_stats( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single season. Defaults to the current season. """ season_id: Int, """ Filter to a single player. """ player_id: Int, """ Filter by tour. """ tour_id: Int ): [PGAPlayerSeasonStats!]! """ Shot-by-shot tracking for each player at each professional tournament — every stroke with its type, start/end location, distance, ShotLink/TOURCAST course coordinates, and TrackMan radar metrics (club & ball speed, spin, launch angle, apex, carry). Available for regular PGA Tour events with ShotLink; majors such as the Masters do not publish shot tracking. Requires at least one of these filter sets: `player_id` | `tournament_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ player_shots( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single player. """ player_id: Int, """ Filter to a single tournament. """ tournament_id: Int ): [PGAPlayerShots!]! """ Every professional golfer — active tour members, conditional-status players, alumni who have competed at the highest level, and country-of-origin information. Metered by rows resolved across all nested lists — the same record unit as REST. """ players( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt ): [PGAPlayers!]! """ Each season on a professional golf tour — the year-long schedule of tournaments leading up to the FedExCup playoffs (PGA), the major championships, and the season-ending Tour Championship. Metered by rows resolved across all nested lists — the same record unit as REST. """ seasons( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt ): [PGASeasons!]! """ Outright betting odds for professional golf tournaments — who wins the event, top-5/top-10/top-20 finish markets, head-to-head matchups, and other tournament-level wagers from sportsbooks. Requires at least one of these filter sets: `tournament_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ tournament_odds( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single tournament. """ tournament_id: Int, """ Filter to a single player. """ player_id: Int ): [PGATournamentOdds!]! """ Each round of every professional golf tournament — round 1 (Thursday), round 2 (Friday cut day), and the weekend rounds (Saturday and Sunday) plus any playoff holes. Requires at least one of these filter sets: `tournament_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ tournament_rounds( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single tournament. """ tournament_id: Int ): [PGATournamentRounds!]! """ Every professional golf tournament — the four majors (Masters, PGA Championship, U.S. Open, Open Championship), the PGA Tour stops, LIV events, the FedExCup playoffs, and Korn Ferry Tour events. Requires at least one of these filter sets: `season_id`. Metered by rows resolved across all nested lists — the same record unit as REST. """ tournaments( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter to a single season. Defaults to the current season. """ season_id: Int, """ Filter by tour. """ tour_id: Int ): [PGATournaments!]! """ Professional golf tours — the PGA Tour, LIV Golf, the DP World Tour (formerly European Tour), the Korn Ferry Tour, the LPGA, and other competitive circuits. Metered by rows resolved across all nested lists — the same record unit as REST. """ tours( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt, """ Filter by active status (defaults to true to show only currently-active rows; pass active=false to include inactive). """ active: Boolean ): [PGATours!]! } """ Each season on a professional golf tour — the year-long schedule of tournaments leading up to the FedExCup playoffs (PGA), the major championships, and the season-ending Tour Championship. """ type PGASeasons { """ Official tour season identifier """ league_id: String start_date: String end_date: String start_year: Int tour_id: BigInt """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ Primary Key """ id: BigInt """ The golf.tours row referenced by `tour_id`; null when unlinked. """ tour: PGATours """ golf.player_season_stats rows whose `season_id` references this row. """ player_season_stats( """ Page size (default 50, max 500). """ first: Int ): [PGAPlayerSeasonStats!]! """ golf.tournaments rows whose `season_id` references this row. """ tournaments( """ Page size (default 50, max 500). """ first: Int ): [PGATournaments!]! } """ Outright betting odds for professional golf tournaments — who wins the event, top-5/top-10/top-20 finish markets, head-to-head matchups, and other tournament-level wagers from sportsbooks. """ type PGATournamentOdds { """ Primary Key """ id: BigInt tournament_id: BigInt player_id: BigInt """ DraftKings, FanDuel, BetMGM, etc. """ sportsbook: String is_available: Boolean is_alternate: Boolean """ Odds to win tournament (American format) """ outright_odds: Int top_five_odds: Int top_ten_odds: Int top_twenty_odds: Int make_cut_odds: Int miss_cut_odds: Int first_round_leader_odds: Int matchup_opponent_id: BigInt matchup_odds: Int matchup_opponent_odds: Int round_matchup_opponent_id: BigInt round_matchup_odds: Int round_matchup_opponent_odds: Int three_ball_opponent1_id: BigInt three_ball_opponent2_id: BigInt three_ball_odds: Int """ Row-updated timestamp (DB-managed). """ updated_at: String """ Row-created timestamp (DB-managed). """ created_at: String """ The golf.players row referenced by `player_id`; null when unlinked. """ player: PGAPlayers """ The golf.tournaments row referenced by `tournament_id`; null when unlinked. """ tournament: PGATournaments """ The golf.players row referenced by `matchup_opponent_id`; null when unlinked. """ matchup_opponent: PGAPlayers """ The golf.players row referenced by `round_matchup_opponent_id`; null when unlinked. """ round_matchup_opponent: PGAPlayers """ The golf.players row referenced by `three_ball_opponent1_id`; null when unlinked. """ three_ball_opponent1: PGAPlayers """ The golf.players row referenced by `three_ball_opponent2_id`; null when unlinked. """ three_ball_opponent2: PGAPlayers } """ Each round of every professional golf tournament — round 1 (Thursday), round 2 (Friday cut day), and the weekend rounds (Saturday and Sunday) plus any playoff holes. """ type PGATournamentRounds { """ Primary Key """ id: BigInt tournament_id: BigInt round_id: Int round_number: Int day: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ The golf.tournaments row referenced by `tournament_id`; null when unlinked. """ tournament: PGATournaments } """ Every professional golf tournament — the four majors (Masters, PGA Championship, U.S. Open, Open Championship), the PGA Tour stops, LIV events, the FedExCup playoffs, and Korn Ferry Tour events. """ type PGATournaments { """ Primary Key """ id: BigInt """ Official tour tournament identifier """ league_id: String name: String tour_id: BigInt start_date: String end_date: String is_over: Boolean is_in_progress: Boolean venue: String par: Int yards: Int """ Total prize money in cents """ purse: BigInt start_date_time: String canceled: Boolean city: String state: String zip: String country: String time_zone: String rounds: Int """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String season_id: BigInt """ The golf.seasons row referenced by `season_id`; null when unlinked. """ season: PGASeasons """ The golf.tours row referenced by `tour_id`; null when unlinked. """ tour: PGATours """ golf.course_hole_stats rows whose `tournament_id` references this row. """ course_hole_stats( """ Page size (default 50, max 500). """ first: Int ): [PGACourseHoleStats!]! """ golf.leaderboards rows whose `tournament_id` references this row. """ leaderboards( """ Page size (default 50, max 500). """ first: Int ): [PGALeaderboards!]! """ golf.player_holes rows whose `tournament_id` references this row. """ player_holes( """ Page size (default 50, max 500). """ first: Int ): [PGAPlayerHoles!]! """ golf.player_news rows whose `tournament_id` references this row. """ player_news( """ Page size (default 50, max 500). """ first: Int ): [PGAPlayerNews!]! """ golf.player_rounds rows whose `tournament_id` references this row. """ player_rounds( """ Page size (default 50, max 500). """ first: Int ): [PGAPlayerRounds!]! """ golf.player_shots rows whose `tournament_id` references this row. """ player_shots( """ Page size (default 50, max 500). """ first: Int ): [PGAPlayerShots!]! """ golf.tournament_odds rows whose `tournament_id` references this row. """ tournament_odds( """ Page size (default 50, max 500). """ first: Int ): [PGATournamentOdds!]! """ golf.tournament_rounds rows whose `tournament_id` references this row. """ tournament_rounds( """ Page size (default 50, max 500). """ first: Int ): [PGATournamentRounds!]! } """ Professional golf tours — the PGA Tour, LIV Golf, the DP World Tour (formerly European Tour), the Korn Ferry Tour, the LPGA, and other competitive circuits. """ type PGATours { """ Primary Key """ id: BigInt name: String """ Tour code (pga, european, liv, lpga, champions, korn_ferry) """ code: String description: String active: Boolean logo_url: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ golf.player_season_stats rows whose `tour_id` references this row. """ player_season_stats( """ Page size (default 50, max 500). """ first: Int ): [PGAPlayerSeasonStats!]! """ golf.seasons rows whose `tour_id` references this row. """ seasons( """ Page size (default 50, max 500). """ first: Int ): [PGASeasons!]! """ golf.tournaments rows whose `tour_id` references this row. """ tournaments( """ Page size (default 50, max 500). """ first: Int ): [PGATournaments!]! } type Query { """ All public `nfl` tables. """ nfl: NFLQuery! """ All public `nba` tables. """ nba: NBAQuery! """ All public `mlb` tables. """ mlb: MLBQuery! """ All public `pga` tables. """ pga: PGAQuery! """ All public `dfs` tables. """ dfs: DFSQuery! """ All public `reference` tables. """ reference: ReferenceQuery! } """ The operators referenced by every operator_id filter across the public API — DFS sites (1 DraftKings, 2 FanDuel, 3 Yahoo), sportsbooks (1683 Pinnacle, 1684 BetMGM, 1685 Caesars, 1686 BetRivers, 1687 ESPN BET), and data providers (6 Consensus, 13 sportsdata.io). A small read-only lookup table. """ type ReferenceOperators { """ Primary Key """ id: BigInt """ Stable machine code (e.g. draftkings, fanduel, consensus, pinnacle). """ code: String """ Display name (e.g. DraftKings, FanDuel, Pinnacle). """ name: String """ Operator class — DFS, betting, media, or data provider (mixed-case legacy values exist). """ operator_type: String """ False for operators no longer ingested. """ is_active: Boolean website_url: String description: String """ Row-created timestamp (DB-managed). """ created_at: String """ Row-updated timestamp (DB-managed). """ updated_at: String """ dfs.contest_users rows whose `operator_id` references this row. """ dfs_contest_users( """ Page size (default 50, max 500). """ first: Int ): [DFSContestUsers!]! """ dfs.contests rows whose `operator_id` references this row. """ dfs_contests( """ Page size (default 50, max 500). """ first: Int ): [DFSContests!]! """ dfs.slate_settings rows whose `operator_id` references this row. """ dfs_slate_settings( """ Page size (default 50, max 500). """ first: Int ): [DFSSlateSettings!]! """ dfs.slates rows whose `operator_id` references this row. """ dfs_slates( """ Page size (default 50, max 500). """ first: Int ): [DFSSlates!]! """ golf.operator_player_lookups rows whose `operator_id` references this row. """ pga_operator_player_lookups( """ Page size (default 50, max 500). """ first: Int ): [PGAOperatorPlayerLookups!]! """ mlb.game_lines rows whose `operator_id` references this row. """ mlb_game_lines( """ Page size (default 50, max 500). """ first: Int ): [MLBGameLines!]! """ mlb.operator_player_lookups rows whose `operator_id` references this row. """ mlb_operator_player_lookups( """ Page size (default 50, max 500). """ first: Int ): [MLBOperatorPlayerLookups!]! """ nba.game_lines rows whose `operator_id` references this row. """ nba_game_lines( """ Page size (default 50, max 500). """ first: Int ): [NBAGameLines!]! """ nba.game_period_lines rows whose `operator_id` references this row. """ nba_game_period_lines( """ Page size (default 50, max 500). """ first: Int ): [NBAGamePeriodLines!]! """ nba.game_player_props rows whose `operator_id` references this row. """ nba_game_player_props( """ Page size (default 50, max 500). """ first: Int ): [NBAGamePlayerProps!]! """ nba.operator_player_lookups rows whose `operator_id` references this row. """ nba_operator_player_lookups( """ Page size (default 50, max 500). """ first: Int ): [NBAOperatorPlayerLookups!]! """ nba.operator_team_lookups rows whose `operator_id` references this row. """ nba_operator_team_lookups( """ Page size (default 50, max 500). """ first: Int ): [NBAOperatorTeamLookups!]! """ nfl.game_lines rows whose `operator_id` references this row. """ nfl_game_lines( """ Page size (default 50, max 500). """ first: Int ): [NFLGameLines!]! """ nfl.game_player_props rows whose `operator_id` references this row. """ nfl_game_player_props( """ Page size (default 50, max 500). """ first: Int ): [NFLGamePlayerProps!]! """ nfl.operator_player_lookups rows whose `operator_id` references this row. """ nfl_operator_player_lookups( """ Page size (default 50, max 500). """ first: Int ): [NFLOperatorPlayerLookups!]! """ nfl.operator_team_lookups rows whose `operator_id` references this row. """ nfl_operator_team_lookups( """ Page size (default 50, max 500). """ first: Int ): [NFLOperatorTeamLookups!]! } type ReferenceQuery { """ The operators referenced by every operator_id filter across the public API — DFS sites (1 DraftKings, 2 FanDuel, 3 Yahoo), sportsbooks (1683 Pinnacle, 1684 BetMGM, 1685 Caesars, 1686 BetRivers, 1687 ESPN BET), and data providers (6 Consensus, 13 sportsdata.io). A small read-only lookup table. Metered by rows resolved across all nested lists — the same record unit as REST. """ operators( """ Page size; clamped to the table's REST default/max limits. """ first: Int, """ Keyset cursor — returns rows with id > after, ordered by id ascending. """ after: BigInt ): [ReferenceOperators!]! } """ Time wall of a kickoff-dependent table. PRE (default): each value as it stood at its game's kickoff; post-game fields are null. FULL: the latest value before week end (the first Tuesday 04:00 ET after the game). """ enum TimeWallMode { """ Values as they stood at the game's kickoff. """ PRE """ Latest values before week end. """ FULL } """ Directs the executor to include this field or fragment only when the `if` argument is true. """ directive @include(if: Boolean!) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT """ Directs the executor to skip this field or fragment when the `if` argument is true. """ directive @skip(if: Boolean!) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT schema { query: Query }