Data Dictionary
Every table in the public API, its fields and types, and how it connects to the rest of the model. Foreign keys are shown both ways — what each table references and what references it.
Cross-sport betting and DFS rows point at an underlying event through a polymorphic (league_code, competition_id) pair, resolved through the main.competitions view — competition_id is a team-sport games.id or a golf.tournaments.id.
NFL40 tables
nfl.seasons10 fields· 14 referenced-byendpoints →
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.
- nfl.games.season_id
- nfl.coaching_staff_tenures.season_id
- nfl.coaching_staffs.season_id
- nfl.depth_chart_snapshots.season_id
- nfl.playoffs.season_id
- nfl.season_team_stats.season_id
- nfl.depth_charts.season_id
- nfl.game_lines.season_id
- nfl.injuries.season_id
- nfl.season_player_firstdown_stats.season_id
- nfl.season_player_redzone_stats.season_id
- nfl.season_player_stats.season_id
- nfl.season_player_thirddown_stats.season_id
- nfl.team_player_rosters.season_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| short_id | string | Short identifier used by the NFL feed (e.g., `2024REG` for the 2024 regular season). |
| description | stringnullable | — |
| end_date | timestamptznullable | Last day of the season (Super Bowl date or shortly after). |
| post_season_start_date | timestamptznullable | First day of the postseason (Wild Card weekend). |
| regular_season_start_date | timestamptznullable | First day of regular-season play (typically the Thursday after Labor Day). |
| regular_season_weeks | integer | Number of regular-season weeks (18 since 2021; 17 in 2020 and earlier). |
| start_date | timestamptz | First day of the season (typically the start of preseason in early August). |
| start_year | integer | Calendar year in which the season starts (e.g., 2025 = the 2025-26 season). |
| super_bowl_date | timestamptznullable | Date of the Super Bowl for this season. |
nfl.stadiums20 fields· 1 refs· 5 referenced-byendpoints →
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.
- league_stadium_id → nfl.stadiums
- nfl.stadiums.league_stadium_id
- nfl.teams.stadium_id
- nfl.games.stadium_id
- nfl.game_weathers.stadium_id
- nfl.play_by_plays.stadium_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| league_stadium_id | stringnullable | Official NFL stadium ID from API |
| address | stringnullable | Street address of the stadium. |
| capacity | integernullable | Approximate seating capacity for football configuration. |
| city | string | — |
| closed_date | timestamptznullable | Date the stadium closed (null if currently in use). |
| country | stringnullable | — |
| description | stringnullable | — |
| elevation | floatnullable | Elevation in feet above sea level |
| image_url | stringnullable | URL to aerial/overview image of stadium |
| latitude | floatnullable | Latitude of the stadium centroid (decimal degrees, WGS84). |
| longitude | floatnullable | Longitude of the stadium centroid (decimal degrees, WGS84). |
| name | string | — |
| opened_date | timestamptznullable | Date the stadium opened for play. |
| orientation | floatnullable | Field orientation in degrees (0-360). Direction end zones face, measured from south end zone. 0/360=North, 90=East, 180=South, 270=West |
| roof_type | stringnullable | Roof type (e.g., `open`, `dome`, `retractable`). |
| state | stringnullable | — |
| surface | stringnullable | Playing surface type (e.g., `grass`, `FieldTurf`, `Astroturf`). |
| team_name | stringnullable | Team commonly associated with this stadium at the time (display string, not a foreign key). |
| timezone | stringnullable | IANA timezone (e.g., America/New_York) |
nfl.teams13 fields· 2 refs· 40 referenced-byendpoints →
The 32 NFL franchises plus historical predecessors — teams that have since relocated, renamed, or merged into the current league.
- league_team_id → nfl.teams
- stadium_id → nfl.stadiums
- nfl.teams.league_team_id
- nfl.players.team_id
- nfl.games.away_team_id
- nfl.games.home_team_id
- nfl.coaching_staff_tenures.team_id
- nfl.coaching_staffs.team_id
- nfl.depth_chart_snapshots.team_id
- nfl.operator_team_lookups.operator_team_id
- nfl.operator_team_lookups.team_id
- nfl.playoffs.away_team_id
- nfl.playoffs.home_team_id
- nfl.playoffs.winner_team_id
- nfl.season_team_stats.team_id
- nfl.combine_results.team_id
- nfl.depth_charts.team_id
- nfl.draft_picks.team_id
- nfl.game_drives.possession_team_id
- nfl.game_player_firstdown_stats.opponent_team_id
- nfl.game_player_firstdown_stats.team_id
- nfl.game_player_ngs_passings.team_id
- nfl.game_player_ngs_receivings.team_id
- nfl.game_player_ngs_rushings.team_id
- nfl.game_player_pfr_advstats.opponent_team_id
- nfl.game_player_pfr_advstats.team_id
- nfl.game_player_redzone_stats.opponent_team_id
- nfl.game_player_redzone_stats.team_id
- nfl.game_player_stats.opponent_team_id
- nfl.game_player_stats.team_id
- nfl.game_player_thirddown_stats.opponent_team_id
- nfl.game_player_thirddown_stats.team_id
- nfl.game_team_rosters.team_id
- nfl.game_team_staffs.team_id
- nfl.game_team_stats.team_id
- nfl.injuries.team_id
- nfl.play_by_plays.defensive_team_id
- nfl.play_by_plays.possession_team_id
- nfl.play_participations.possession_team_id
- nfl.player_contracts.team_id
- nfl.player_news.team_id
- nfl.team_player_rosters.team_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| league_team_id | string | Official NFL team UUID from api.nfl.com |
| stadium_id | bigint | Primary home stadium (FK to `stadiums`); null if unknown or shared. |
| abbreviation | string | Three-letter team code (e.g., KC, NE, GB). |
| active | boolean | True for currently-active franchises; false for relocated or defunct teams retained for historical references. |
| city | string | — |
| conference | string | Conference assignment (AFC or NFC). |
| division | string | Division within the conference (e.g., AFC East, NFC West). |
| full_name | string | — |
| logo_url | stringnullable | URL to team logo image |
| name | string | — |
| primary_color | stringnullable | Hex color code for the team's primary uniform color (e.g., `#A71930`). |
| secondary_color | stringnullable | Hex color code for the team's secondary uniform color. |
nfl.players28 fields· 2 refs· 69 referenced-byendpoints →
Every individual who has played in the NFL — current rosters, free agents, retired veterans — plus team-defense entries used for fantasy and DST scoring.
- league_player_id → nfl.players
- team_id → nfl.teams
- nfl.players.league_player_id
- nfl.combine_results.player_id
- nfl.depth_chart_entries.player_id
- nfl.depth_charts.player_id
- nfl.draft_picks.cfb_player_id
- nfl.draft_picks.pfr_player_id
- nfl.draft_picks.player_id
- nfl.game_player_firstdown_stats.player_id
- nfl.game_player_ngs_passings.player_id
- nfl.game_player_ngs_receivings.player_id
- nfl.game_player_ngs_rushings.player_id
- nfl.game_player_pfr_advstats.player_id
- nfl.game_player_redzone_stats.player_id
- nfl.game_player_stats.player_id
- nfl.game_player_thirddown_stats.player_id
- nfl.game_team_rosters.player_id
- nfl.injuries.player_id
- nfl.operator_player_lookups.operator_player_id
- nfl.operator_player_lookups.player_id
- nfl.play_by_plays.assist_tackle_1_player_id
- nfl.play_by_plays.assist_tackle_2_player_id
- nfl.play_by_plays.assist_tackle_3_player_id
- nfl.play_by_plays.assist_tackle_4_player_id
- nfl.play_by_plays.blocked_player_id
- nfl.play_by_plays.fantasy_player_id
- nfl.play_by_plays.forced_fumble_player_1_player_id
- nfl.play_by_plays.forced_fumble_player_2_player_id
- nfl.play_by_plays.fumble_recovery_1_player_id
- nfl.play_by_plays.fumble_recovery_2_player_id
- nfl.play_by_plays.fumbled_1_player_id
- nfl.play_by_plays.fumbled_2_player_id
- nfl.play_by_plays.half_sack_1_player_id
- nfl.play_by_plays.half_sack_2_player_id
- nfl.play_by_plays.interception_player_id
- nfl.play_by_plays.kicker_player_id
- nfl.play_by_plays.kickoff_returner_player_id
- nfl.play_by_plays.lateral_interception_player_id
- nfl.play_by_plays.lateral_kickoff_returner_player_id
- nfl.play_by_plays.lateral_punt_returner_player_id
- nfl.play_by_plays.lateral_receiver_player_id
- nfl.play_by_plays.lateral_rusher_player_id
- nfl.play_by_plays.lateral_sack_player_id
- nfl.play_by_plays.own_kickoff_recovery_player_id
- nfl.play_by_plays.pass_defense_1_player_id
- nfl.play_by_plays.pass_defense_2_player_id
- nfl.play_by_plays.passer_player_id
- nfl.play_by_plays.penalty_player_id
- nfl.play_by_plays.punt_returner_player_id
- nfl.play_by_plays.punter_player_id
- nfl.play_by_plays.qb_hit_1_player_id
- nfl.play_by_plays.qb_hit_2_player_id
- nfl.play_by_plays.receiver_player_id
- nfl.play_by_plays.rusher_player_id
- nfl.play_by_plays.sack_player_id
- nfl.play_by_plays.safety_player_id
- nfl.play_by_plays.solo_tackle_1_player_id
- nfl.play_by_plays.solo_tackle_2_player_id
- nfl.play_by_plays.tackle_for_loss_1_player_id
- nfl.play_by_plays.tackle_for_loss_2_player_id
- nfl.play_by_plays.tackle_with_assist_1_player_id
- nfl.play_by_plays.tackle_with_assist_2_player_id
- nfl.play_by_plays.td_player_id
- nfl.player_contracts.player_id
- nfl.player_news.player_id
- nfl.season_player_firstdown_stats.player_id
- nfl.season_player_redzone_stats.player_id
- nfl.season_player_stats.player_id
- nfl.season_player_thirddown_stats.player_id
- nfl.team_player_rosters.player_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| gsis_id | string | Game Statistics and Information System ID (e.g. 00-0028830) |
| league_player_id | string | Official NFL player ID (UUID) from nfl.com |
| team_id | bigintnullable | Current NFL team (FK to `teams`); null for free agents and retired players. |
| birth_city | stringnullable | — |
| birth_country | stringnullable | — |
| birth_date | datenullable | — |
| birth_state | stringnullable | — |
| college | stringnullable | College or last football affiliation before turning pro. |
| draft_number | stringnullable | Pick number within the round; null or `UDFA` if undrafted. |
| draft_round | stringnullable | Draft round (1-7); null or `UDFA` if undrafted. |
| draft_year | stringnullable | Calendar year the player was drafted; null or `UDFA` if undrafted. |
| experience | integernullable | Years of NFL experience (rookies = 0). |
| first_name | string | — |
| full_name | string | — |
| full_position_list | stringnullable | All positions the player is eligible at (semicolon-joined when multiple, e.g., `RB;WR`). |
| height | integernullable | Height in inches. |
| is_team | boolean | True for synthetic team-level entities (DST, team defense). Used to distinguish team defense 'players' from individual players. |
| jersey | stringnullable | Jersey number with the player's current team (string to preserve leading zeros and special codes). |
| last_name | string | — |
| nfl_slug | stringnullable | URL slug used on nfl.com (e.g., `patrick-mahomes`). |
| overall_pick | integernullable | Overall pick number across all rounds (1-262); null if undrafted. |
| position_group | stringnullable | Broad position group classification used by nflverse (e.g., `OFFENSE`, `DEFENSE`, `ST`). |
| primary_position | string | Primary roster position (e.g., QB, WR, RB, CB). |
| profile_pic_url | stringnullable | URL to player profile picture image |
| roster_status | stringnullable | Active roster status code from the NFL feed (separate from `status`; e.g., `A` = active, `P` = practice squad). |
| status | stringnullable | Roster status, readable single-word vocabulary (`Active`, `Cut`, `PracticeSquad`, `Reserve`, `Inactive`, `Retired`, `PracticeSquadReleased`, `Exempt`). |
| weight | integernullable | Weight in pounds. |
nfl.games31 fields· 5 refs· 21 referenced-byendpoints →
Every scheduled and played NFL game — preseason exhibitions, the 18-week regular season, the playoffs from Wild Card weekend through the Super Bowl.
- away_team_id → nfl.teams
- home_team_id → nfl.teams
- league_game_id → nfl.games
- season_id → nfl.seasons
- stadium_id → nfl.stadiums
- nfl.games.league_game_id
- nfl.depth_charts.game_id
- nfl.game_drives.game_id
- nfl.game_lines.game_id
- nfl.game_player_firstdown_stats.game_id
- nfl.game_player_ngs_passings.game_id
- nfl.game_player_ngs_receivings.game_id
- nfl.game_player_ngs_rushings.game_id
- nfl.game_player_pfr_advstats.game_id
- nfl.game_player_redzone_stats.game_id
- nfl.game_player_stats.game_id
- nfl.game_player_thirddown_stats.game_id
- nfl.game_team_rosters.game_id
- nfl.game_team_staffs.game_id
- nfl.game_team_stats.game_id
- nfl.game_weathers.game_id
- nfl.injuries.game_id
- nfl.play_by_plays.game_id
- nfl.play_by_plays.nflverse_game_id
- nfl.play_by_plays.old_game_id
- nfl.play_participations.game_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| away_team_id | bigint | — |
| home_team_id | bigint | — |
| league_game_id | string | Official NFL game ID from league source |
| season_id | bigint | — |
| stadium_id | integer | Stadium hosting the game (FK to `stadiums`). |
| attendance | integernullable | Reported attendance count; null when not published. |
| away_rotation_number | integernullable | Sportsbook rotation number for the away team (3-4 digit cross-book reference). |
| away_team | string | Denormalized team abbreviation for the away side at game time (snapshot copy of `teams.abbreviation`). |
| away_team_score | integer | Final away-team score; 0 (not null) until the game completes. |
| channel | stringnullable | Primary broadcast network/channel (e.g., `CBS`, `FOX`, `Prime Video`). |
| day | integer | Calendar day as a YYYYMMDD integer (e.g. 20240915), US Eastern. |
| end_time | timestamptznullable | Actual game end timestamp; null until the game completes. |
| game_label | stringnullable | Display label for special games (e.g., `Thanksgiving Day`, `Monday Night Football`). |
| game_sub_label | stringnullable | Secondary label or sub-category for the game. |
| game_time | timestamptz | Scheduled kickoff time (timezone-aware). |
| home_rotation_number | integernullable | Sportsbook rotation number for the home team (3-4 digit cross-book reference). |
| home_team | string | Denormalized team abbreviation for the home side at game time (snapshot copy of `teams.abbreviation`). |
| home_team_score | integer | Final home-team score; 0 (not null) until the game completes. |
| neutral_venue | boolean | True if the game is played at a neutral site (Super Bowl, international games, etc.). |
| overtime | boolean | True if the game went to overtime. |
| overtime_periods | integernullable | Number of overtime periods played (1+ when `overtime` is true). |
| playoff_round | stringnullable | Postseason round (`WildCard`, `Divisional`, `Conference Championship`, `Super Bowl`); null outside the postseason. |
| playoff_seed_away | integernullable | Away-team playoff seed (1-7); null outside the postseason. |
| playoff_seed_home | integernullable | Home-team playoff seed (1-7); null outside the postseason. |
| postponed_status | stringnullable | Reason for postponement (e.g., `Weather`, `COVID`); null for games played as scheduled. |
| season_type | string | Stage within the season (`Regular Season`, `Preseason`, `Playoff` = Wild Card round, `Divisional`, `Conference Championship`, `Super Bowl`). |
| start_time | timestamptz | Actual kickoff timestamp; null before the game starts. |
| status | string | Game status. Currently always `Scheduled` (status reconciliation is pending) — detect completed games via populated scores, not this field. |
| type | string | Game classification (`Regular`, `Playoff`, `Super Bowl`, `Preseason`). |
| week | integer | 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. |
nfl.coaching_staff_tenures13 fields· 2 refsendpoints →
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).
- season_id → nfl.seasons
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| season_id | bigint | Reference to the season |
| team_id | bigint | Reference to the team |
| effective_date | date | Date this coach started in this role |
| end_date | datenullable | Date this coach ended (null if current) |
| first_name | stringnullable | — |
| full_name | string | Coach full name |
| is_interim | boolean | — |
| last_name | stringnullable | — |
| position | string | Coaching position (HC, OC, DC) |
| reason | stringnullable | Reason for change (fired, resigned, hired, promoted) |
| source | stringnullable | Data source (pfr, cbs_sports, espn, manual) |
| source_url | stringnullable | — |
nfl.coaching_staffs8 fields· 2 refsendpoints →
The coaching staff for each NFL team at a given season — head coach, offensive coordinator, defensive coordinator, special teams coordinator, and position coaches.
- season_id → nfl.seasons
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| season_id | bigint | — |
| team_id | bigint | — |
| experience | integernullable | — |
| first_name | string | — |
| full_name | string | — |
| last_name | string | — |
| position | string | — |
nfl.depth_chart_snapshots8 fields· 2 refsendpoints →
A team's full depth chart captured at a specific moment in the season — the season-opening baseline, plus any week the team published a fresh full chart. For the canonical per-game weekly chart use depth_charts instead; this snapshot/entry pair is the point-in-time scrape representation.
- season_id → nfl.seasons
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| season_id | bigint | — |
| team_id | bigint | — |
| entry_count | integer | Number of entries in this snapshot |
| is_baseline | boolean | True if this is the season baseline snapshot |
| snapshot_at | timestamptz | When this snapshot was taken |
| source | string | Data source (nflverse, espn, etc.) |
| week | integer | NFL week number (0=preseason) |
nfl.operator_team_lookups6 fields· 3 refsendpoints →
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.
- operator_id → main.operators
- operator_team_id → nfl.teams
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| operator_id | bigint | Reference to main.operator entity |
| operator_team_id | string | External team ID from operator |
| team_id | bigint | Internal nfl.teams.id reference |
| abbreviation | stringnullable | Team abbreviation for reconciliation |
| team_name | stringnullable | Team name for reconciliation |
nfl.playoffs11 fields· 4 refsendpoints →
The NFL postseason bracket — Wild Card weekend, the Divisional Round, the Conference Championships, and the Super Bowl, with seeds, scores, and outcomes.
- away_team_id → nfl.teams
- home_team_id → nfl.teams
- season_id → nfl.seasons
- winner_team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| away_team_id | bigint | — |
| home_team_id | bigint | — |
| season_id | bigint | — |
| winner_team_id | bigintnullable | Winning team (FK to `teams`); null until the game completes. |
| away_team_seed | integer | Playoff seed (1-7) of the away team for this matchup. |
| conference | stringnullable | Conference the matchup is contested within (`AFC`, `NFC`); null for the Super Bowl (inter-conference). |
| game_number | integer | Sequence number within the round (used to order multiple games in the same round). |
| home_team_seed | integer | Playoff seed (1-7) of the home team for this matchup. |
| playoff_round | string | Postseason round (`WildCard`, `Divisional`, `Conference Championship`, `Super Bowl`). |
| status | string | Matchup status (`Scheduled`, `InProgress`, `Final`). |
nfl.season_team_stats32 fields· 2 refsendpoints →
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.
- season_id → nfl.seasons
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| season_id | bigint | — |
| team_id | bigint | — |
| completions | integer | — |
| defensive_interceptions | integer | — |
| defensive_sacks | decimal | Sacks recorded by this team's defense (half-sacks supported as decimals). |
| defensive_tds | integer | Touchdowns scored by the defense (interception return + fumble recovery TD); excludes special-teams returns. |
| extra_pts_attempted | integer | — |
| extra_pts_made | integer | — |
| field_goals_attempted | integer | — |
| field_goals_made | integer | — |
| first_downs | integer | — |
| fourth_down_attempts | integer | Total fourth-down plays attempted (excludes punts and field-goal attempts). |
| fourth_down_conversions | integer | Fourth-down attempts converted to a first down or touchdown. |
| fumbles_recovered | integer | — |
| games_played | integer | — |
| losses | integer | — |
| pass_attempts | integer | — |
| passing_tds | integer | — |
| passing_yds | integer | — |
| pts_allowed | integer | — |
| pts_scored | integer | — |
| red_zone_attempts | integer | Possessions reaching the red zone (inside the opponent's 20-yard line). |
| red_zone_conversions | integer | Red-zone trips that ended in a touchdown. |
| rushing_tds | integer | — |
| rushing_yds | integer | — |
| third_down_attempts | integer | Total third-down plays attempted. |
| third_down_conversions | integer | Third-down attempts converted to a first down or touchdown. |
| ties | integer | — |
| total_yds | integer | — |
| turnovers | integer | Possessions lost via interception or fumble. |
| wins | integer | — |
nfl.combine_results16 fields· 2 refsendpoints →
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).
- player_id → nfl.players
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| cfb_id | stringnullable | College Football Reference player ID (external lookup). |
| pfr_id | stringnullable | Pro Football Reference player ID (external lookup). |
| player_id | bigint | — |
| team_id | bigintnullable | — |
| bench | integernullable | Bench press repetitions at 225 lbs. |
| broad_jump | integernullable | Broad jump distance in inches. |
| cone | decimalnullable | 3-cone drill time in seconds. |
| forty | decimalnullable | 40-yard dash time in seconds. |
| ht | stringnullable | Height as reported by the Combine (e.g., `6-2` for 6 feet 2 inches). |
| position | string | Position the player was measured as (e.g., QB, WR, RB, CB). |
| school | stringnullable | College or last-affiliation school name. |
| season | integer | Calendar year of the Combine (e.g., 2024 for the February 2024 combine). |
| shuttle | decimalnullable | 20-yard shuttle time in seconds. |
| vertical | decimalnullable | Vertical jump in inches. |
| wt | integernullable | Weight in pounds. |
nfl.depth_chart_entries8 fields· 1 refsendpoints →
Where each player sits on the depth chart — position, depth order (starter, second-string, backup), and the formation grouping (offense, defense, special teams). Child rows of depth_chart_snapshots; for the canonical per-game weekly chart use depth_charts instead.
- player_id → nfl.players
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| snapshot_id | bigint | — |
| depth_order | integer | Order within position (1=starter, 2=backup, etc.) |
| depth_position | string | Specific depth position (QB1, RB2, etc.) |
| formation | stringnullable | Formation group (offense, defense, special_teams) |
| jersey_number | integernullable | — |
| position | string | Position abbreviation (QB, RB, WR, etc.) |
nfl.depth_charts15 fields· 4 refsendpoints →
One player's depth-chart slot for a given team in a given NFL week — position, depth order (starter, backup, …), roster status, and game-type context. One row per (game × team × player × depth-position) combination.
- game_id → nfl.games
- player_id → nfl.players
- season_id → nfl.seasons
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary key — sequential row identifier. |
| elias_id | stringnullable | Elias Sports Bureau player identifier (nullable — populated only when the source feed includes Elias IDs). |
| game_id | bigint | FK to nfl.games — the game this depth chart is associated with. |
| player_id | bigint | FK to nfl.players — the player occupying this depth-chart slot. |
| season_id | bigint | FK to nfl.seasons — the season containing this game. |
| team_id | bigint | FK to nfl.teams — the team whose depth chart this row belongs to. |
| depth_order | integernullable | 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_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_team | stringnullable | Sub-team designation within the depth chart when present (e.g., a formation-specific team grouping). Sparse — typically NULL. |
| formation | stringnullable | Formation unit this slot belongs to (e.g., OFF, DEF, ST). Sparse — typically NULL. |
| game_type | string | Phase of the season: REG (regular season), WC (Wild Card), DIV (Divisional), CON (Conference Championship), SB (Super Bowl). |
| jersey_number | integernullable | Player's jersey number on the team for this game (nullable — populated when the depth chart includes uniform numbers). |
| position | string | Player's listed position abbreviation (e.g., QB, RB, WR, T, DT, CB, MLB, K, P). |
| status | stringnullable | 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). |
| week | integer | NFL week number within the season (1-18 regular season; postseason weeks use higher numbers per league convention). |
nfl.draft_picks38 fields· 4 refsendpoints →
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).
- cfb_player_id → nfl.players
- pfr_player_id → nfl.players
- player_id → nfl.players
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| cfb_player_id | stringnullable | College Football Reference player ID. |
| gsis_id | string | Game Statistics and Information System ID (NFL official cross-system join key). |
| pfr_player_id | string | Pro Football Reference player ID. |
| player_id | bigint | — |
| team_id | bigint | — |
| age | integernullable | Player age at the time of the draft. |
| allpro_count | integer | Career All-Pro selections. |
| car_av | integernullable | Career Approximate Value (Pro Football Reference, unweighted sum across seasons). |
| career_to_year | integernullable | Most recent NFL season the player appeared in (calendar year). |
| category | string | Position category (e.g., `OFF`, `DEF`, `ST`). |
| college | string | College the player was drafted out of. |
| def_ints | integer | Career defensive interceptions. |
| def_sacks | decimal | Career sacks (defensive; half-sacks supported as decimals). |
| def_solo_tackles | integer | Career solo defensive tackles. |
| dr_av | integernullable | Approximate Value accumulated while with the drafting team. |
| games_played | integer | Total career regular-season games played. |
| is_hof | boolean | True if the player is enshrined in the Pro Football Hall of Fame. |
| pass_attempts | integer | Career pass attempts. |
| pass_completions | integer | Career pass completions. |
| pass_ints | integer | Career interceptions thrown. |
| pass_tds | integer | Career passing touchdowns. |
| pass_yds | integer | Career passing yards. |
| pfr_player_name | stringnullable | Player name as recorded on Pro Football Reference. |
| pick | integer | Pick number within the round. |
| position | string | Position the player was drafted at (e.g., QB, WR, DE). |
| probowl_count | integer | Career Pro Bowl selections. |
| rec_tds | integer | Career receiving touchdowns. |
| rec_yds | integer | Career receiving yards. |
| receptions | integer | Career receptions. |
| round | integer | Draft round (1-7). |
| rush_atts | integer | Career rushing attempts. |
| rush_tds | integer | Career rushing touchdowns. |
| rush_yds | integer | Career rushing yards. |
| season | integer | Calendar year of the draft. |
| seasons_started | integer | Number of NFL seasons in which the player was a primary starter. |
| side | string | Side of the ball (`OFF` or `DEF`). |
| w_av | integernullable | Weighted Approximate Value (Pro Football Reference career composite metric). |
nfl.game_drives22 fields· 2 refsendpoints →
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.
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| first_play_id | bigint | play_id of first play in drive |
| game_id | bigint | — |
| last_play_id | bigint | play_id of last play in drive |
| possession_team_id | bigint | Team with possession (FK to teams) |
| drive_number | integer | Drive sequence number in game (1-indexed) |
| end_transition | stringnullable | How possession ended (PUNT, TOUCHDOWN, TURNOVER, etc.) |
| end_yard_line | stringnullable | Ending field position (e.g., "OPP 10") |
| ended_with_score | boolean | Drive resulted in points |
| first_downs | integernullable | First downs gained |
| fixed_drive | integer | Corrected drive number from nflverse |
| game_clock_end | stringnullable | Game clock at drive end (mm:ss) |
| game_clock_start | stringnullable | Game clock at drive start (mm:ss) |
| inside_20 | boolean | Drive reached red zone |
| play_count | integernullable | Number of plays in drive |
| quarter_end | integernullable | Quarter when drive ended |
| quarter_start | integernullable | Quarter when drive started |
| result | stringnullable | Drive outcome (Touchdown, Field goal, Punt, Turnover, etc.) |
| start_transition | stringnullable | How possession was gained (KICKOFF, PUNT, TURNOVER, etc.) |
| start_yard_line | stringnullable | Starting field position (e.g., "KC 25") |
| time_of_possession | stringnullable | Drive duration (mm:ss format) |
| yds_penalized | integernullable | Penalty yards on drive |
nfl.game_lines18 fields· 3 refsendpoints →
NFL game betting lines — point spreads, moneylines, and over/under totals. Currently one consensus closing line per game (nflverse-sourced; captured_at equals kickoff time); multi-snapshot open-to-close history is not yet captured. Regular-season games only.
- game_id → nfl.games
- operator_id → main.operators
- season_id → nfl.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| operator_id | bigint | Data source (ESPN, DraftKings, FanDuel, nflverse, etc.) |
| season_id | bigint | Denormalized for efficient season-level queries |
| captured_at | timestamptz | When this snapshot was captured |
| implied_away_score | decimalnullable | Calculated from spread + total |
| implied_away_win_pct | decimalnullable | From moneyline, 0-1 |
| implied_home_score | decimalnullable | Calculated from spread + total |
| implied_home_win_pct | decimalnullable | From moneyline, 0-1 |
| is_opening | boolean | True if this is the opening line |
| moneyline_away | integernullable | American odds for away team win |
| moneyline_home | integernullable | American odds for home team win |
| over_odds | integernullable | American odds for over |
| spread | decimalnullable | Home team spread (e.g., -3.5 means home favored by 3.5) |
| spread_away_odds | integernullable | American odds for away spread |
| spread_home_odds | integernullable | American odds for home spread (e.g., -110) |
| total | decimalnullable | Combined score total line (e.g., 47.5) |
| under_odds | integernullable | American odds for under |
nfl.game_player_firstdown_stats54 fields· 4 refsendpoints →
Per-game player stats restricted to first-down plays — the same first-down production breakouts as the season aggregate, for each individual game.
- game_id → nfl.games
- opponent_team_id → nfl.teams
- player_id → nfl.players
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| opponent_team_id | bigint | — |
| player_id | bigint | — |
| team_id | bigint | — |
| assisted_tackles | integer | Assisted tackles on first down |
| defensive_tds | integer | Total defensive touchdowns on first down |
| forced_fumbles | integer | Forced fumbles on first down |
| fumble_recovery_tds | integer | Fumble recovery touchdowns on first down |
| fumble_recovery_yds | integer | Fumble recovery yards on first down |
| fumbles | integer | Fumbles on first down |
| fumbles_lost | integer | Fumbles lost on first down |
| fumbles_recovered | integer | Fumbles recovered on first down |
| interception_tds | integer | Interception return touchdowns on first down |
| interception_yds | integer | Interception return yards on first down |
| interceptions | integer | Interceptions on first down |
| is_home | boolean | True if player's team is the home team |
| offensive_snaps | integer | Offensive snaps played on first down |
| offensive_tds | integer | Total offensive touchdowns on first down |
| passes_defended | integer | Passes defended on first down |
| passing_attempts | integer | Passing attempts on first down |
| passing_completion_percentage | decimal | Completion percentage on first down |
| passing_completions | integer | Completed passes on first down |
| passing_interceptions | integer | Interceptions thrown on first down |
| passing_long | integer | Longest pass completion on first down |
| passing_rating | decimal | Passer rating on first down |
| passing_sack_yds | integer | Yards lost to sacks on first down |
| passing_sacks | integer | Times sacked on first down |
| passing_tds | integer | Passing touchdowns on first down |
| passing_yds | integer | Passing yards on first down |
| passing_yds_per_attempt | decimal | Passing yards per attempt on first down |
| passing_yds_per_completion | decimal | Passing yards per completion on first down |
| position | string | Player position at time of game |
| quarterback_hits | integer | QB hits on first down |
| receiving_long | integer | Longest reception on first down |
| receiving_tds | integer | Receiving touchdowns on first down |
| receiving_yds | integer | Receiving yards on first down |
| receiving_yds_per_reception | decimal | Yards per reception on first down |
| receiving_yds_per_target | decimal | Receiving yards per target on first down |
| reception_percentage | decimal | Reception percentage (receptions/targets) on first down |
| receptions | integer | Receptions on first down |
| rushing_attempts | integer | Rushing attempts on first down |
| rushing_long | integer | Longest rush on first down |
| rushing_tds | integer | Rushing touchdowns on first down |
| rushing_yds | integer | Rushing yards on first down |
| rushing_yds_per_attempt | decimal | Rushing yards per attempt on first down |
| sacks | decimal | Sacks on first down (0.5 for half sacks) |
| solo_tackles | integer | Solo tackles on first down |
| tackles_for_loss | integer | Tackles for loss on first down |
| targets | integer | Times targeted on first down |
| total_tds | integer | Total touchdowns scored on first down |
| two_pt_pass_conversions | integer | — |
| two_pt_reception_conversions | integer | — |
| two_pt_rush_conversions | integer | — |
nfl.game_player_ngs_passings26 fields· 3 refsendpoints →
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.
- game_id → nfl.games
- player_id → nfl.players
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| player_gsis_id | string | GSIS ID for cross-reference |
| player_id | bigint | — |
| team_id | bigint | — |
| aggressiveness | decimalnullable | Percentage of throws into tight windows (defender within 1 yard) |
| attempts | integernullable | — |
| avg_air_distance | decimalnullable | Average ball travel distance on all attempts |
| avg_air_yds_differential | decimalnullable | Difference between intended and completed air yards |
| avg_air_yds_to_sticks | decimalnullable | Average air yards relative to first down marker |
| avg_completed_air_yds | decimalnullable | Average air yards on completed passes |
| avg_intended_air_yds | decimalnullable | Average air yards on all pass attempts |
| avg_time_to_throw | decimalnullable | Average time from snap to throw (seconds) |
| completion_percentage | decimalnullable | — |
| completion_percentage_above_expectation | decimalnullable | CPOE - Actual completion % minus expected (positive = better than expected) |
| completions | integernullable | — |
| expected_completion_percentage | decimalnullable | Model-predicted completion percentage based on throw difficulty |
| interceptions | integernullable | — |
| max_air_distance | decimalnullable | Maximum ball travel distance |
| max_completed_air_distance | decimalnullable | Longest completed pass distance (ball travel) |
| pass_tds | integernullable | — |
| pass_yds | integernullable | — |
| passer_rating | decimalnullable | — |
| season | integer | — |
| season_type | string | REG, POST, etc. |
| week | integer | — |
nfl.game_player_ngs_receivings20 fields· 3 refsendpoints →
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.
- game_id → nfl.games
- player_id → nfl.players
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| player_gsis_id | string | GSIS ID for cross-reference |
| player_id | bigint | — |
| team_id | bigint | — |
| avg_cushion | decimalnullable | Average distance from nearest defender at snap (yards) |
| avg_expected_yac | decimalnullable | Model-predicted YAC based on catch location/defenders |
| avg_intended_air_yds | decimalnullable | Average depth of targets |
| avg_separation | decimalnullable | Average distance from nearest defender at catch point (yards) |
| avg_yac | decimalnullable | Average yards after catch |
| avg_yac_above_expectation | decimalnullable | Actual YAC minus expected (positive = creates extra yards) |
| catch_percentage | decimalnullable | — |
| percent_share_of_intended_air_yds | decimalnullable | Percentage of team total intended air yards (deep target share) |
| rec_tds | integernullable | — |
| receptions | integernullable | — |
| season | integer | — |
| season_type | string | REG, POST, etc. |
| targets | integernullable | — |
| week | integer | — |
| yards | integernullable | — |
nfl.game_player_ngs_rushings19 fields· 3 refsendpoints →
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.
- game_id → nfl.games
- player_id → nfl.players
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| player_gsis_id | string | GSIS ID for cross-reference |
| player_id | bigint | — |
| team_id | bigint | — |
| avg_rush_yds | decimalnullable | — |
| avg_time_to_los | decimalnullable | Average time to reach line of scrimmage (seconds) |
| efficiency | decimalnullable | Distance traveled per rushing yard gained (lower = more efficient) |
| expected_rush_yds | decimalnullable | Model-predicted rushing yards based on blocking/defense |
| percent_attempts_gte_eight_defenders | decimalnullable | Percentage of rushes facing 8+ defenders in box |
| rush_attempts | integernullable | — |
| rush_pct_over_expected | decimalnullable | RYOE as percentage over expected |
| rush_tds | integernullable | — |
| rush_yds | integernullable | — |
| rush_yds_over_expected | decimalnullable | RYOE - Actual yards minus expected (positive = better) |
| rush_yds_over_expected_per_att | decimalnullable | RYOE per attempt |
| season | integer | — |
| season_type | string | REG, POST, etc. |
| week | integer | — |
nfl.game_player_pfr_advstats46 fields· 4 refsendpoints →
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.
- game_id → nfl.games
- opponent_team_id → nfl.teams
- player_id → nfl.players
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| opponent_team_id | bigint | Opposing team in this matchup (FK to `teams`). |
| player_id | bigint | — |
| team_id | bigint | — |
| carries | integernullable | Rushing attempts. |
| def_adot | decimalnullable | Average depth of target (yards) when this defender was in coverage. |
| def_air_yds_completed | integernullable | Air yards completed on receptions allowed. |
| def_completion_pct | decimalnullable | Completion percentage allowed (0.0-100.0). |
| def_completions_allowed | integernullable | Receptions allowed in coverage. |
| def_ints | integernullable | Interceptions made by this defender in coverage. |
| def_missed_tackle_pct | decimalnullable | Missed-tackle rate on tackle opportunities (0.0-100.0). |
| def_missed_tackles | integernullable | Tackle attempts missed by this defender. |
| def_passer_rating_allowed | decimalnullable | Passer rating allowed when targeted (0-158.3). |
| def_pressures | integernullable | Total pressures generated (hurries + hits + sacks). |
| def_receiving_td_allowed | integernullable | Receiving touchdowns allowed in coverage. |
| def_sacks | decimalnullable | Sacks recorded (half-sacks supported as decimals). |
| def_tackles_combined | integernullable | Combined tackles (solo + assisted). |
| def_targets | integernullable | Pass targets thrown at this defender's coverage assignment. |
| def_times_blitzed | integernullable | Pass-rushing snaps as a blitzer. |
| def_times_hitqb | integernullable | QB hits generated as a pass rusher. |
| def_times_hurried | integernullable | Hurries generated as a pass rusher. |
| def_yds_after_catch | integernullable | Yards-after-catch allowed in coverage. |
| def_yds_allowed | integernullable | Receiving yards allowed in coverage. |
| def_yds_allowed_per_cmp | decimalnullable | Yards allowed per reception. |
| def_yds_allowed_per_tgt | decimalnullable | Yards allowed per target. |
| passing_bad_throw_pct | decimalnullable | Bad-throw rate on pass attempts (0.0-100.0). |
| passing_bad_throws | integernullable | Pass attempts charged as bad throws by PFR scoring. |
| passing_drop_pct | decimalnullable | Drop rate on catchable passes (0.0-100.0). |
| passing_drops | integernullable | Pass attempts dropped by the receiver (charged to the QB's catchable-target count). |
| receiving_broken_tackles | integernullable | Tackles the receiver broke on receiving plays. |
| receiving_drop | integernullable | Drops charged to this receiver. |
| receiving_drop_pct | decimalnullable | Receiver drop rate on catchable targets (0.0-100.0). |
| receiving_int | integernullable | Interceptions thrown when this player was the target. |
| receiving_rat | decimalnullable | Passer rating generated when targeted (0-158.3). |
| rushing_broken_tackles | integernullable | Tackles the runner broke on rushing plays. |
| rushing_yds_after_contact | integernullable | Total rushing yards gained after first contact. |
| rushing_yds_after_contact_avg | decimalnullable | Yards after contact averaged per rush. |
| rushing_yds_before_contact | integernullable | Total rushing yards gained before first contact. |
| rushing_yds_before_contact_avg | decimalnullable | Yards before contact averaged per rush. |
| times_blitzed | integernullable | Dropbacks the QB faced a blitz. |
| times_hit | integernullable | QB hits (defender contacted the QB on the throw). |
| times_hurried | integernullable | Dropbacks the QB was hurried but not pressured. |
| times_pressured | integernullable | Total pressures faced (sum of hurries/hits/sacks-allowed indicators). |
| times_pressured_pct | decimalnullable | Pressure rate per dropback (0.0-100.0). |
| times_sacked | integernullable | Sacks taken by this QB. |
nfl.game_player_redzone_stats54 fields· 4 refsendpoints →
Per-game player stats restricted to red-zone plays — the same red-zone breakouts as the season aggregate, for each individual game.
- game_id → nfl.games
- opponent_team_id → nfl.teams
- player_id → nfl.players
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| opponent_team_id | bigint | — |
| player_id | bigint | — |
| team_id | bigint | — |
| assisted_tackles | integer | Assisted tackles in red zone |
| defensive_tds | integer | Total defensive touchdowns in red zone |
| forced_fumbles | integer | Forced fumbles in red zone |
| fumble_recovery_tds | integer | Fumble recovery touchdowns in red zone |
| fumble_recovery_yds | integer | Fumble recovery yards in red zone |
| fumbles | integer | Fumbles in the red zone |
| fumbles_lost | integer | Fumbles lost in the red zone |
| fumbles_recovered | integer | Fumbles recovered in red zone |
| interception_tds | integer | Interception return touchdowns in red zone |
| interception_yds | integer | Interception return yards in red zone |
| interceptions | integer | Interceptions in red zone |
| is_home | boolean | True if player's team is the home team |
| offensive_snaps | integer | Offensive snaps played in red zone situations |
| offensive_tds | integer | Total offensive touchdowns in the red zone |
| passes_defended | integer | Passes defended in red zone |
| passing_attempts | integer | Passing attempts in the red zone |
| passing_completion_percentage | decimal | Completion percentage in the red zone |
| passing_completions | integer | Completed passes in the red zone |
| passing_interceptions | integer | Interceptions thrown in the red zone |
| passing_long | integer | Longest pass completion in the red zone |
| passing_rating | decimal | Passer rating in the red zone |
| passing_sack_yds | integer | Yards lost to sacks in the red zone |
| passing_sacks | integer | Times sacked in the red zone |
| passing_tds | integer | Passing touchdowns in the red zone |
| passing_yds | integer | Passing yards in the red zone |
| passing_yds_per_attempt | decimal | Passing yards per attempt in the red zone |
| passing_yds_per_completion | decimal | Passing yards per completion in the red zone |
| position | string | Player position at time of game |
| quarterback_hits | integer | QB hits in red zone |
| receiving_long | integer | Longest reception in the red zone |
| receiving_tds | integer | Receiving touchdowns in the red zone |
| receiving_yds | integer | Receiving yards in the red zone |
| receiving_yds_per_reception | decimal | Yards per reception in the red zone |
| receiving_yds_per_target | decimal | Receiving yards per target in the red zone |
| reception_percentage | decimal | Reception percentage (receptions/targets) in the red zone |
| receptions | integer | Receptions in the red zone |
| rushing_attempts | integer | Rushing attempts in the red zone |
| rushing_long | integer | Longest rush in the red zone |
| rushing_tds | integer | Rushing touchdowns in the red zone |
| rushing_yds | integer | Rushing yards in the red zone |
| rushing_yds_per_attempt | decimal | Rushing yards per attempt in the red zone |
| sacks | decimal | Sacks in red zone (0.5 for half sacks) |
| solo_tackles | integer | Solo tackles in red zone |
| tackles_for_loss | integer | Tackles for loss in red zone |
| targets | integer | Times targeted in the red zone |
| total_tds | integer | Total touchdowns scored in the red zone |
| two_pt_pass_conversions | integer | Successful two-point conversion passes in the red zone |
| two_pt_reception_conversions | integer | Successful two-point conversion receptions in the red zone |
| two_pt_rush_conversions | integer | Successful two-point conversion runs in the red zone |
nfl.game_player_stats142 fields· 4 refsendpoints →
Each NFL player's stat line for each game — every passing, rushing, receiving, defensive, special-teams, and scoring statistic recorded that day.
- game_id → nfl.games
- opponent_team_id → nfl.teams
- player_id → nfl.players
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| opponent_team_id | bigint | — |
| player_id | bigint | — |
| team_id | bigint | — |
| air_yds_share | decimal | Percentage of team air yards |
| assisted_tackles | integernullable | Assisted tackles |
| blocked_kick_return_tds | integernullable | Blocked kick return touchdowns |
| blocked_kick_return_yds | integernullable | Blocked kick return yards |
| blocked_kicks | integernullable | Blocked kicks (FG, XP, punts) |
| completions | integer | — |
| dakota | decimalnullable | DAKOTA: adjusted completion % + EPA metric |
| data_source | stringnullable | Data source (nflverse, nfl_api, sportsdata) |
| defensive_interceptions | integernullable | Defensive interceptions |
| defensive_sack_yds | integernullable | Yards lost on defensive sacks |
| defensive_sacks | decimalnullable | Defensive sacks (can be half sacks) |
| defensive_snaps | integernullable | Defensive snaps played |
| defensive_tds | integernullable | Total defensive touchdowns (INT + fumble return TDs) |
| defensive_team_snaps | integernullable | Total team defensive snaps (for calculating snap %) |
| depth_order | integernullable | Depth order within position (1=starter, 2=backup, etc.) - joined from depth charts |
| depth_position | stringnullable | Depth chart position (QB1, RB2, etc.) - joined from depth charts |
| extra_pts_attempted | integernullable | Extra points attempted |
| extra_pts_had_blocked | integernullable | Extra points blocked by opponent |
| extra_pts_made | integernullable | Extra points made |
| fantasy_pts | decimal | Standard fantasy points (nflverse calculation) |
| fantasy_pts_ppr | decimal | PPR fantasy points (nflverse calculation) |
| field_goal_percentage | decimalnullable | Field goal percentage |
| field_goal_return_tds | integernullable | Field goal return touchdowns |
| field_goal_return_yds | integernullable | Field goal return yards (missed FG returns) |
| field_goals_attempted | integernullable | Field goals attempted |
| field_goals_had_blocked | integernullable | Field goals blocked by opponent |
| field_goals_longest | integernullable | Longest field goal made (yards) |
| field_goals_made | integernullable | Field goals made |
| field_goals_made_0_19 | integernullable | Field goals made 0-19 yards |
| field_goals_made_20_29 | integernullable | Field goals made 20-29 yards |
| field_goals_made_30_39 | integernullable | Field goals made 30-39 yards |
| field_goals_made_40_49 | integernullable | Field goals made 40-49 yards |
| field_goals_made_50_plus | integernullable | Field goals made 50+ yards |
| forced_fumbles | integernullable | Forced fumbles |
| fumble_return_tds | integernullable | Fumble return touchdowns |
| fumble_return_yds | integernullable | Fumble return yards |
| fumbles_out_of_bounds | integernullable | Fumbles out of bounds |
| fumbles_own_recoveries | integernullable | Own fumbles recovered |
| fumbles_recovered | integernullable | Fumbles recovered |
| humidity | integernullable | Humidity percentage |
| interception_return_tds | integernullable | Interception return touchdowns |
| interception_return_yds | integernullable | Interception return yards |
| interceptions_thrown | integer | — |
| is_home | boolean | True if player's team is the home team |
| kick_return_avg | floatnullable | Kick return average (yards per return) |
| kick_return_fair_catches | integernullable | Fair catches on kick returns |
| kick_return_fumbles | integernullable | Fumbles on kick returns |
| kick_return_fumbles_lost | integernullable | Fumbles lost on kick returns |
| kick_return_long | integernullable | Longest kick return (yards) |
| kick_return_tds | integernullable | Kick return touchdowns |
| kick_return_yds | integernullable | Total kick return yards |
| kick_returns | integernullable | Number of kick returns |
| misc_assisted_tackles | integernullable | Miscellaneous assisted tackles |
| misc_fumbles_forced | integernullable | Miscellaneous fumbles forced |
| misc_fumbles_recovered | integernullable | Miscellaneous fumbles recovered |
| misc_solo_tackles | integernullable | Miscellaneous solo tackles |
| offensive_snaps | integernullable | Offensive snaps played |
| offensive_team_snaps | integernullable | Total team offensive snaps (for calculating snap %) |
| pacr | decimalnullable | Passer air conversion ratio |
| pass_attempts | integer | — |
| passes_defended | integernullable | Passes defended |
| passing_2pt_conversions | integer | — |
| passing_air_yds | integer | — |
| passing_completion_percentage | decimalnullable | Completion percentage |
| passing_epa | decimal | Expected points added from passing |
| passing_first_downs | integer | — |
| passing_long | integernullable | Longest pass completion (yards) |
| passing_rating | decimalnullable | Passer rating |
| passing_tds | integer | — |
| passing_yds | integer | — |
| passing_yds_after_catch | integer | — |
| playing_surface | stringnullable | Playing surface type (grass, turf, etc.) |
| position | string | Player position at time of game |
| position_group | string | Position group (QB, RB, WR, TE, etc.) |
| punt_average | decimalnullable | Punt average (yards) |
| punt_inside_20 | integernullable | Punts inside 20 yard line |
| punt_long | integernullable | Longest punt (yards) |
| punt_net_average | floatnullable | Net punt average (gross - return yards) |
| punt_net_yds | integernullable | Net punt yards (gross - return yards) |
| punt_return_avg | floatnullable | Punt return average (yards per return) |
| punt_return_fair_catches | integernullable | Fair catches on punt returns |
| punt_return_fumbles | integernullable | Fumbles on punt returns (includes muffs) |
| punt_return_fumbles_lost | integernullable | Fumbles lost on punt returns |
| punt_return_long | integernullable | Longest punt return (yards) |
| punt_return_tds | integernullable | Punt return touchdowns |
| punt_return_yds | integernullable | Total punt return yards |
| punt_returns | integernullable | Number of punt returns |
| punt_touchbacks | integernullable | Punt touchbacks |
| punt_yds | integernullable | Total punt yards |
| punts | integernullable | Number of punts |
| punts_had_blocked | integernullable | Punts blocked by opponent |
| quarterback_hits | integernullable | Quarterback hits |
| racr | decimalnullable | Receiver air conversion ratio |
| receiving_2pt_conversions | integer | — |
| receiving_air_yds | integer | — |
| receiving_epa | decimal | Expected points added from receiving |
| receiving_first_downs | integer | — |
| receiving_fumbles | integer | — |
| receiving_fumbles_lost | integer | — |
| receiving_long | integernullable | Longest reception (yards) |
| receiving_tds | integer | — |
| receiving_yds | integer | — |
| receiving_yds_after_catch | integer | — |
| receiving_yds_per_reception | decimalnullable | Yards per reception |
| reception_percentage | decimalnullable | Reception percentage (receptions/targets) |
| receptions | integer | — |
| rushing_2pt_conversions | integer | — |
| rushing_attempts | integer | — |
| rushing_epa | decimal | Expected points added from rushing |
| rushing_first_downs | integer | — |
| rushing_fumbles | integer | — |
| rushing_fumbles_lost | integer | — |
| rushing_long | integernullable | Longest rush (yards) |
| rushing_tds | integer | — |
| rushing_yds | integer | — |
| rushing_yds_per_attempt | decimalnullable | Rushing yards per attempt |
| sack_fumbles | integer | — |
| sack_fumbles_lost | integer | — |
| sack_yds | integer | — |
| sacks_allowed | integer | — |
| safeties | integernullable | Safeties |
| solo_tackles | integernullable | Solo tackles |
| special_teams_assisted_tackles | integernullable | Assisted tackles on special teams |
| special_teams_fumbles_forced | integernullable | Fumbles forced on special teams |
| special_teams_fumbles_recovered | integernullable | Fumbles recovered on special teams |
| special_teams_snaps | integernullable | Special teams snaps played |
| special_teams_solo_tackles | integernullable | Solo tackles on special teams |
| special_teams_tds | integer | — |
| special_teams_team_snaps | integernullable | Total team special teams snaps (for calculating snap %) |
| stadium | stringnullable | Stadium name |
| tackles_for_loss | integernullable | Tackles for loss |
| target_share | decimal | Percentage of team targets |
| targets | integer | — |
| temperature | integernullable | Game temperature (Fahrenheit) |
| two_pt_returns | integernullable | Two-point conversion returns (defensive) |
| wind_speed | integernullable | Wind speed (mph) |
| wopr | decimalnullable | Weighted opportunity rating |
nfl.game_player_thirddown_stats54 fields· 4 refsendpoints →
Per-game player stats restricted to third-down plays — the same third-down breakouts as the season aggregate, for each individual game.
- game_id → nfl.games
- opponent_team_id → nfl.teams
- player_id → nfl.players
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| opponent_team_id | bigint | — |
| player_id | bigint | — |
| team_id | bigint | — |
| assisted_tackles | integer | Assisted tackles on third down |
| defensive_tds | integer | Total defensive touchdowns on third down |
| forced_fumbles | integer | Forced fumbles on third down |
| fumble_recovery_tds | integer | Fumble recovery touchdowns on third down |
| fumble_recovery_yds | integer | Fumble recovery yards on third down |
| fumbles | integer | Fumbles on third down |
| fumbles_lost | integer | Fumbles lost on third down |
| fumbles_recovered | integer | Fumbles recovered on third down |
| interception_tds | integer | Interception return touchdowns on third down |
| interception_yds | integer | Interception return yards on third down |
| interceptions | integer | Interceptions on third down |
| is_home | boolean | True if player's team is the home team |
| offensive_snaps | integer | Offensive snaps played on third down |
| offensive_tds | integer | Total offensive touchdowns on third down |
| passes_defended | integer | Passes defended on third down |
| passing_attempts | integer | Passing attempts on third down |
| passing_completion_percentage | decimal | Completion percentage on third down |
| passing_completions | integer | Completed passes on third down |
| passing_interceptions | integer | Interceptions thrown on third down |
| passing_long | integer | Longest pass completion on third down |
| passing_rating | decimal | Passer rating on third down |
| passing_sack_yds | integer | Yards lost to sacks on third down |
| passing_sacks | integer | Times sacked on third down |
| passing_tds | integer | Passing touchdowns on third down |
| passing_yds | integer | Passing yards on third down |
| passing_yds_per_attempt | decimal | Passing yards per attempt on third down |
| passing_yds_per_completion | decimal | Passing yards per completion on third down |
| position | string | Player position at time of game |
| quarterback_hits | integer | QB hits on third down |
| receiving_long | integer | Longest reception on third down |
| receiving_tds | integer | Receiving touchdowns on third down |
| receiving_yds | integer | Receiving yards on third down |
| receiving_yds_per_reception | decimal | Yards per reception on third down |
| receiving_yds_per_target | decimal | Receiving yards per target on third down |
| reception_percentage | decimal | Reception percentage (receptions/targets) on third down |
| receptions | integer | Receptions on third down |
| rushing_attempts | integer | Rushing attempts on third down |
| rushing_long | integer | Longest rush on third down |
| rushing_tds | integer | Rushing touchdowns on third down |
| rushing_yds | integer | Rushing yards on third down |
| rushing_yds_per_attempt | decimal | Rushing yards per attempt on third down |
| sacks | decimal | Sacks on third down (0.5 for half sacks) |
| solo_tackles | integer | Solo tackles on third down |
| tackles_for_loss | integer | Tackles for loss on third down |
| targets | integer | Times targeted on third down |
| total_tds | integer | Total touchdowns scored on third down |
| two_pt_pass_conversions | integer | — |
| two_pt_reception_conversions | integer | — |
| two_pt_rush_conversions | integer | — |
nfl.game_team_rosters9 fields· 3 refsendpoints →
The gameday roster for each NFL game — every player who suited up that day, who started, who was inactive, and at what position.
- game_id → nfl.games
- player_id → nfl.players
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| player_id | bigint | — |
| team_id | bigint | — |
| comment | stringnullable | Optional note from the gameday roster report (e.g., reason for inactive). |
| day | integer | Day-of-year integer (matches `game.day` for partitioning). |
| position | stringnullable | Position the player suited up at for this game. |
| starter | boolean | True if the player started this game. |
| status | stringnullable | Roster status for the game, readable single-word vocabulary (`Active`, `Inactive`, `PracticeSquad`, `Reserve`, `Cut`, `Retired`, `Exempt`, `PracticeSquadReleased`). |
nfl.game_team_staffs6 fields· 2 refsendpoints →
The coaching staff on the sideline for each NFL game — head coach, offensive coordinator, defensive coordinator, for both teams.
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | Reference to the game |
| team_id | bigint | Reference to the team |
| defensive_coordinator | stringnullable | Defensive coordinator name |
| head_coach | stringnullable | Head coach name (from nflverse) |
| offensive_coordinator | stringnullable | Offensive coordinator name |
nfl.game_team_stats131 fields· 2 refsendpoints →
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.
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| team_id | bigint | — |
| blocked_extra_pts | integer | — |
| blocked_field_goals | integer | — |
| blocked_kick_return_tds | integer | Blocked kick return touchdowns |
| blocked_kick_return_yds | integer | Blocked kick return yards |
| blocked_kicks | integer | Total blocked kicks (FGs + XPs + punts) for DST fantasy scoring |
| blocked_punts | integer | — |
| completion_percentage | decimal | — |
| completions | integer | — |
| defensive_interceptions | integer | — |
| defensive_sacks | integer | — |
| defensive_tds | integer | — |
| defensive_team_snaps | integer | Total defensive snaps by team in game |
| extra_pt_percentage | decimal | Extra point conversion percentage |
| extra_pts_attempted | integer | — |
| extra_pts_blocked | integer | Extra points that were blocked |
| extra_pts_made | integer | — |
| field_goal_percentage | decimal | — |
| field_goal_return_tds | integer | Field goal return touchdowns |
| field_goal_return_yds | integer | Field goal return yards (missed FGs) |
| field_goals_attempted | integer | — |
| field_goals_blocked | integer | Field goals that were blocked |
| field_goals_made | integer | — |
| first_downs | integer | — |
| first_downs_passing | integer | — |
| first_downs_penalty | integer | — |
| first_downs_rushing | integer | — |
| forced_fumbles | integer | — |
| fourth_down_attempts | integer | — |
| fourth_down_conversions | integer | — |
| fourth_down_percentage | decimal | — |
| fumble_return_tds | integer | Fumble return touchdowns |
| fumble_return_yds | integer | Fumble return yards |
| fumbles_lost | integer | — |
| fumbles_recovered | integer | — |
| interception_percentage | decimal | Percentage of passes intercepted |
| interception_return_tds | integer | Interception return touchdowns |
| interception_return_yds | integer | Interception return yards |
| interception_returns | integer | Number of interception returns |
| interceptions_thrown | integer | — |
| is_home | boolean | True if team is the home team |
| kick_return_avg | decimal | Average yards per kick return |
| kick_return_long | integer | Longest kick return |
| kick_return_tds | integer | — |
| kick_return_yds | integer | — |
| kick_return_yds_differential | integer | Kick return yards minus opponent kick return yards |
| kick_returns | integer | Number of kick returns |
| kickoff_touchbacks | integer | Kickoffs resulting in touchbacks |
| kickoffs | integer | Number of kickoffs |
| kickoffs_in_endzone | integer | Kickoffs that reached the end zone |
| loss | integer | — |
| offensive_plays | integer | Total offensive plays run |
| offensive_team_snaps | integer | Total offensive snaps by team in game |
| offensive_yds | integer | Total offensive yards gained |
| pass_attempts | integer | — |
| passer_rating | decimal | — |
| passes_defended | integer | — |
| passing_dropbacks | integer | Number of passing dropbacks |
| passing_tds | integer | — |
| passing_yds | integer | — |
| penalties | integer | — |
| penalty_yds | integer | — |
| penalty_yds_differential | integer | Opponent penalty yards minus own penalty yards |
| point_differential | integer | Points scored minus points allowed |
| pts | integer | — |
| pts_allowed_def | integer | Points allowed for DEF scoring (FanDuel). Excludes return TDs against - only offensive points allowed. |
| pts_allowed_dst | integer | Points allowed for DST scoring (DraftKings/Yahoo). Includes return TDs against - real scoreboard points. |
| punt_average | decimal | — |
| punt_net_average | decimal | Net punt average yards |
| punt_net_yds | integer | Total net punt yards |
| punt_return_avg | decimal | Average yards per punt return |
| punt_return_long | integer | Longest punt return |
| punt_return_tds | integer | — |
| punt_return_yds | integer | — |
| punt_return_yds_differential | integer | Punt return yards minus opponent punt return yards |
| punt_returns | integer | Number of punt returns |
| punt_yds | integer | — |
| punts | integer | — |
| punts_blocked | integer | Number of punts blocked |
| qb_hits_differential | integer | QB hits made minus QB hits allowed |
| qb_hits_percentage | decimal | Percentage of dropbacks resulting in QB hit |
| quarterback_hits | integer | — |
| receiving_tds | integer | — |
| receiving_yds | integer | — |
| receptions | integer | — |
| red_zone_attempts | integer | — |
| red_zone_conversions | integer | — |
| red_zone_percentage | decimal | — |
| rushing_attempts | integer | — |
| rushing_tds | integer | — |
| rushing_yds | integer | — |
| rushing_yds_per_attempt | decimal | Rushing yards per attempt |
| sack_yds | integer | — |
| sacked_percentage | decimal | Percentage of dropbacks resulting in sack |
| sacks_allowed | integer | — |
| sacks_differential | integer | Sacks made minus sacks allowed |
| safeties | integer | — |
| score_ot | integer | Points scored in overtime |
| score_q1 | integer | Points scored in Q1 |
| score_q2 | integer | Points scored in Q2 |
| score_q3 | integer | Points scored in Q3 |
| score_q4 | integer | Points scored in Q4 |
| special_teams_team_snaps | integer | Total special teams snaps by team in game |
| tackles | integer | — |
| tackles_for_loss | integer | — |
| tfl_differential | integer | Tackles for loss made minus allowed |
| tfl_percentage | decimal | Percentage of plays resulting in TFL |
| third_down_attempts | integer | — |
| third_down_conversions | integer | — |
| third_down_percentage | decimal | — |
| tie | integer | — |
| time_of_possession | integer | — |
| total_return_yds | integer | Total punt and kick return yards |
| total_yds | integer | — |
| touchdowns | integer | Total touchdowns scored |
| turnover_differential | integer | — |
| turnovers | integer | — |
| two_point_conversion_attempts | integer | — |
| two_point_conversions | integer | — |
| two_pt_conversion_returns | integer | Defensive two-point conversion returns |
| two_pt_pass_attempts | integer | Two-point conversion pass attempts |
| two_pt_pass_conversions | integer | Two-point conversion pass conversions |
| two_pt_rush_attempts | integer | Two-point conversion rush attempts |
| two_pt_rush_conversions | integer | Two-point conversion rush conversions |
| win | integer | — |
| yds_per_carry | decimal | — |
| yds_per_completion | decimal | Passing yards per completion |
| yds_per_pass_attempt | decimal | — |
| yds_per_play | decimal | Average yards per offensive play |
nfl.game_weathers18 fields· 2 refsendpoints →
On-field weather throughout each NFL game — temperature, wind, humidity, and precipitation captured at fixed intervals from kickoff. Useful for outdoor-game performance analysis.
- game_id → nfl.games
- stadium_id → nfl.stadiums
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| stadium_id | bigint | — |
| feels_like_temperature | integernullable | — |
| field_condition | stringnullable | — |
| humidity | floatnullable | — |
| is_dome | boolean | — |
| minutes_from_start | integer | Minutes from game start (0, 30, 60, 90, 120, 150) |
| precipitation | floatnullable | — |
| precipitation_probability | floatnullable | — |
| recorded_at | timestamptz | — |
| roof_status | stringnullable | — |
| temperature | integernullable | — |
| weather_condition | stringnullable | — |
| weather_description | stringnullable | — |
| wind_direction | floatnullable | — |
| wind_gust | floatnullable | — |
| wind_speed | floatnullable | — |
nfl.injuries15 fields· 4 refsendpoints →
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.
- game_id → nfl.games
- player_id → nfl.players
- season_id → nfl.seasons
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| player_id | bigint | — |
| season_id | bigint | — |
| team_id | bigint | — |
| date_modified | timestamptznullable | Timestamp of the most recent NFL feed update for this report. |
| game_type | string | Game classification for the upcoming game (`REG`, `WC`, `DIV`, `CON`, `SB`). |
| position | string | Position the player was listed at on the report. |
| practice_primary_injury | stringnullable | Primary injury reported on the practice participation report. |
| practice_secondary_injury | stringnullable | Secondary injury reported on the practice participation report. |
| practice_status | stringnullable | Practice participation as long-form strings — `Did Not Participate In Practice`, `Limited Participation in Practice`, `Full Participation in Practice` (occasionally `Note` or blank). |
| report_primary_injury | stringnullable | Primary injury body part listed on the official Wednesday/Thursday report (e.g., `Hamstring`, `Knee`). |
| report_secondary_injury | stringnullable | Secondary injury listed on the official injury report. |
| report_status | stringnullable | Game-status designation (`Out`, `Doubtful`, `Questionable`; occasionally `Note` or blank when no designation was issued). |
| week | integer | 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. |
nfl.operator_player_lookups6 fields· 3 refsendpoints →
How each sportsbook and fantasy operator names every NFL player — the mapping from each operator's own player identifier to a unified player record.
- operator_id → main.operators
- operator_player_id → nfl.players
- player_id → nfl.players
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| operator_id | bigint | Reference to main.operator entity |
| operator_player_id | string | External player ID from operator |
| player_id | bigint | Internal nfl.players.id reference |
| player_name | stringnullable | Player name as provided by operator |
| position | stringnullable | Position as provided by operator |
nfl.play_by_plays372 fields· 49 refsendpoints →
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.
- assist_tackle_1_player_id → nfl.players
- assist_tackle_2_player_id → nfl.players
- assist_tackle_3_player_id → nfl.players
- assist_tackle_4_player_id → nfl.players
- blocked_player_id → nfl.players
- defensive_team_id → nfl.teams
- fantasy_player_id → nfl.players
- forced_fumble_player_1_player_id → nfl.players
- forced_fumble_player_2_player_id → nfl.players
- fumble_recovery_1_player_id → nfl.players
- fumble_recovery_2_player_id → nfl.players
- fumbled_1_player_id → nfl.players
- fumbled_2_player_id → nfl.players
- game_id → nfl.games
- half_sack_1_player_id → nfl.players
- half_sack_2_player_id → nfl.players
- interception_player_id → nfl.players
- kicker_player_id → nfl.players
- kickoff_returner_player_id → nfl.players
- lateral_interception_player_id → nfl.players
- lateral_kickoff_returner_player_id → nfl.players
- lateral_punt_returner_player_id → nfl.players
- lateral_receiver_player_id → nfl.players
- lateral_rusher_player_id → nfl.players
- lateral_sack_player_id → nfl.players
- nflverse_game_id → nfl.games
- old_game_id → nfl.games
- own_kickoff_recovery_player_id → nfl.players
- pass_defense_1_player_id → nfl.players
- pass_defense_2_player_id → nfl.players
- passer_player_id → nfl.players
- penalty_player_id → nfl.players
- possession_team_id → nfl.teams
- punt_returner_player_id → nfl.players
- punter_player_id → nfl.players
- qb_hit_1_player_id → nfl.players
- qb_hit_2_player_id → nfl.players
- receiver_player_id → nfl.players
- rusher_player_id → nfl.players
- sack_player_id → nfl.players
- safety_player_id → nfl.players
- solo_tackle_1_player_id → nfl.players
- solo_tackle_2_player_id → nfl.players
- stadium_id → nfl.stadiums
- tackle_for_loss_1_player_id → nfl.players
- tackle_for_loss_2_player_id → nfl.players
- tackle_with_assist_1_player_id → nfl.players
- tackle_with_assist_2_player_id → nfl.players
- td_player_id → nfl.players
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| assist_tackle_1_player_id | stringnullable | Assist tackler 1 GSIS ID |
| assist_tackle_2_player_id | stringnullable | Assist tackler 2 GSIS ID |
| assist_tackle_3_player_id | stringnullable | Assist tackler 3 GSIS ID |
| assist_tackle_4_player_id | stringnullable | Assist tackler 4 GSIS ID |
| blocked_player_id | stringnullable | Blocked kick player GSIS ID |
| defensive_team_id | bigintnullable | FK to teams table for defensive team |
| drive_id | bigintnullable | FK to game_drives table |
| fantasy_id | stringnullable | Fantasy identifier |
| fantasy_player_id | stringnullable | Fantasy designation player ID |
| forced_fumble_player_1_player_id | stringnullable | Forced fumble player 1 GSIS ID |
| forced_fumble_player_2_player_id | stringnullable | Forced fumble player 2 GSIS ID |
| fumble_recovery_1_player_id | stringnullable | Recovery player 1 GSIS ID |
| fumble_recovery_2_player_id | stringnullable | Recovery player 2 GSIS ID |
| fumbled_1_player_id | stringnullable | First fumbler GSIS ID |
| fumbled_2_player_id | stringnullable | Second fumbler GSIS ID |
| game_id | bigint | FK to games table |
| half_sack_1_player_id | stringnullable | Half-sack player 1 GSIS ID |
| half_sack_2_player_id | stringnullable | Half-sack player 2 GSIS ID |
| interception_player_id | stringnullable | Interceptor GSIS ID |
| kicker_player_id | stringnullable | Kicker GSIS ID |
| kickoff_returner_player_id | stringnullable | Kickoff returner GSIS ID |
| lateral_interception_player_id | stringnullable | Lateral after INT GSIS ID |
| lateral_kickoff_returner_player_id | stringnullable | Lateral kickoff returner GSIS ID |
| lateral_punt_returner_player_id | stringnullable | Lateral punt returner GSIS ID |
| lateral_receiver_player_id | stringnullable | Lateral receiver GSIS ID (pass) |
| lateral_rusher_player_id | stringnullable | Lateral receiver GSIS ID (rush) |
| lateral_sack_player_id | stringnullable | Lateral after sack GSIS ID |
| nfl_api_id | stringnullable | UUID from NFL API |
| nflverse_game_id | stringnullable | Ten digit identifier for NFL game (nflverse format) |
| old_game_id | stringnullable | Legacy NFL game ID format |
| own_kickoff_recovery_player_id | stringnullable | Own kickoff recovery player GSIS ID |
| pass_defense_1_player_id | stringnullable | Pass defense player 1 GSIS ID |
| pass_defense_2_player_id | stringnullable | Pass defense player 2 GSIS ID |
| passer_id | bigintnullable | FK to players table |
| passer_player_id | stringnullable | Passer GSIS ID |
| penalty_player_id | stringnullable | Penalized player GSIS ID |
| play_id | string | Numeric play identifier unique to game |
| possession_team_id | bigintnullable | FK to teams table for possession team |
| primary_player_gsis_id | stringnullable | Primary player GSIS ID |
| punt_returner_player_id | stringnullable | Punt returner GSIS ID |
| punter_player_id | stringnullable | Punter GSIS ID |
| qb_hit_1_player_id | stringnullable | QB hitter GSIS ID |
| qb_hit_2_player_id | stringnullable | Second QB hitter GSIS ID |
| receiver_id | bigintnullable | FK to players table |
| receiver_player_id | stringnullable | Receiver GSIS ID |
| rusher_id | bigintnullable | FK to players table |
| rusher_player_id | stringnullable | Rusher GSIS ID |
| sack_player_id | stringnullable | Sacker GSIS ID |
| safety_player_id | stringnullable | Safety scorer GSIS ID |
| solo_tackle_1_player_id | stringnullable | Solo tackler 1 GSIS ID |
| solo_tackle_2_player_id | stringnullable | Solo tackler 2 GSIS ID |
| stadium_id | integernullable | Stadium ID |
| tackle_for_loss_1_player_id | stringnullable | TFL player 1 GSIS ID |
| tackle_for_loss_2_player_id | stringnullable | TFL player 2 GSIS ID |
| tackle_with_assist_1_player_id | stringnullable | Tackle-assist player 1 GSIS ID |
| tackle_with_assist_2_player_id | stringnullable | Tackle-assist player 2 GSIS ID |
| td_player_id | stringnullable | TD scorer GSIS ID |
| aborted_play | boolean | Play was aborted |
| air_epa | decimalnullable | EPA from air yards |
| air_wpa | decimalnullable | WPA from air yards |
| air_yds | integernullable | Yards in air (perpendicular to LOS) |
| assist_tackle | boolean | Assist tackle on play |
| assist_tackle_1_player_name | stringnullable | Assist tackler 1 name |
| assist_tackle_1_team | stringnullable | Assist tackler 1 team |
| assist_tackle_2_player_name | stringnullable | Assist tackler 2 name |
| assist_tackle_2_team | stringnullable | Assist tackler 2 team |
| assist_tackle_3_player_name | stringnullable | Assist tackler 3 name |
| assist_tackle_3_team | stringnullable | Assist tackler 3 team |
| assist_tackle_4_player_name | stringnullable | Assist tackler 4 name |
| assist_tackle_4_team | stringnullable | Assist tackler 4 team |
| away_coach | stringnullable | Away team head coach |
| away_score | integernullable | Total away points |
| away_team | stringnullable | Away team abbreviation |
| away_timeouts_remaining | integernullable | Away timeouts remaining |
| away_wp | decimalnullable | Away team win probability |
| away_wp_post | decimalnullable | Away WP after play |
| blocked_player_name | stringnullable | Blocked kick player name |
| comp_air_epa | decimalnullable | Completion air EPA |
| comp_air_wpa | decimalnullable | Completion air WPA |
| comp_yac_epa | decimalnullable | Completion YAC EPA |
| comp_yac_wpa | decimalnullable | Completion YAC WPA |
| complete_pass | boolean | Pass completed |
| cp | decimalnullable | Completion probability |
| cpoe | decimalnullable | Completion percentage over expected |
| def_wp | decimalnullable | Win probability for defense |
| defensive_extra_point_attempt | boolean | Defense extra point attempt |
| defensive_extra_point_conv | boolean | Defense extra point success |
| defensive_two_point_attempt | boolean | Defense two-point attempt |
| defensive_two_point_conv | boolean | Defense two-point conversion success |
| defteam | stringnullable | Defensive team abbreviation |
| defteam_score | integernullable | Defense team score at start |
| defteam_score_post | integernullable | Defense team score at end |
| defteam_timeouts_remaining | integernullable | Defensive team timeouts |
| desc | stringnullable | Full play description text |
| div_game | boolean | Division game |
| down | integernullable | Down (1-4) |
| drive | integernullable | Drive number in game |
| drive_end_transition | stringnullable | How drive ended |
| drive_end_yard_line | stringnullable | Yard line at drive end |
| drive_ended_with_score | boolean | Drive resulted in score |
| drive_first_downs | integernullable | First downs gained in drive |
| drive_game_clock_end | stringnullable | Game clock at drive end |
| drive_game_clock_start | stringnullable | Game clock at drive start |
| drive_inside20 | boolean | Drive reached red zone |
| drive_play_count | integernullable | Number of plays in drive |
| drive_play_id_ended | stringnullable | Last play_id of drive |
| drive_play_id_started | stringnullable | First play_id of drive |
| drive_quarter_end | integernullable | Quarter when drive ended |
| drive_quarter_start | integernullable | Quarter when drive started |
| drive_real_start_time | stringnullable | Drive start time (real clock) |
| drive_start_transition | stringnullable | How possession was obtained |
| drive_start_yard_line | stringnullable | Yard line at drive start |
| drive_time_of_possession | stringnullable | Drive time of possession (mm:ss) |
| drive_yds_penalized | integernullable | Penalty yards during drive |
| end_clock_time | stringnullable | Game clock at play end |
| end_yard_line | stringnullable | Yard line at play end |
| ep | decimalnullable | Expected points before play |
| epa | decimalnullable | Expected points added |
| extra_point_attempt | boolean | Extra point attempt |
| extra_point_prob | decimalnullable | Extra point probability |
| extra_point_result | stringnullable | good, failed, blocked, safety, aborted |
| fantasy | stringnullable | Fantasy designation |
| fantasy_player_name | stringnullable | Fantasy designation player name |
| fg_prob | decimalnullable | FG probability |
| field_goal_attempt | boolean | Field goal attempt |
| field_goal_result | stringnullable | made, missed, or blocked |
| first_down | boolean | First down achieved |
| first_down_pass | boolean | Passing first down |
| first_down_penalty | boolean | First down via penalty |
| first_down_rush | boolean | Rushing first down |
| fixed_drive | integernullable | Manual drive number correction |
| fixed_drive_result | stringnullable | Manual drive result correction |
| forced_fumble_player_1_player_name | stringnullable | Forced fumble player 1 name |
| forced_fumble_player_1_team | stringnullable | Forced fumble team 1 |
| forced_fumble_player_2_player_name | stringnullable | Forced fumble player 2 name |
| forced_fumble_player_2_team | stringnullable | Forced fumble team 2 |
| fourth_down_converted | boolean | Fourth down conversion |
| fourth_down_failed | boolean | Fourth down failure |
| fumble | boolean | Fumble occurred |
| fumble_forced | boolean | Fumble was forced |
| fumble_lost | boolean | Fumble was lost |
| fumble_not_forced | boolean | Fumble was not forced |
| fumble_out_of_bounds | boolean | Fumble went OOB |
| fumble_recovery_1_player_name | stringnullable | Recovery player 1 name |
| fumble_recovery_1_team | stringnullable | Recovery team 1 |
| fumble_recovery_1_yds | integernullable | Recovery yards 1 |
| fumble_recovery_2_player_name | stringnullable | Recovery player 2 name |
| fumble_recovery_2_team | stringnullable | Recovery team 2 |
| fumble_recovery_2_yds | integernullable | Recovery yards 2 |
| fumbled_1_player_name | stringnullable | First fumbler name |
| fumbled_1_team | stringnullable | First fumbler team |
| fumbled_2_player_name | stringnullable | Second fumbler name |
| fumbled_2_team | stringnullable | Second fumbler team |
| game_half | stringnullable | Half1, Half2, or Overtime |
| game_seconds_remaining | integer | Seconds remaining in game |
| game_stadium | stringnullable | Game stadium name |
| goal_to_go | boolean | Goal-to-go situation |
| half_sack_1_player_name | stringnullable | Half-sack player 1 name |
| half_sack_2_player_name | stringnullable | Half-sack player 2 name |
| half_seconds_remaining | integer | Seconds remaining in half |
| home_coach | stringnullable | Home team head coach |
| home_opening_kickoff | boolean | Home team had opening kickoff |
| home_score | integernullable | Total home points |
| home_team | stringnullable | Home team abbreviation |
| home_timeouts_remaining | integernullable | Home timeouts remaining |
| home_wp | decimalnullable | Home team win probability |
| home_wp_post | decimalnullable | Home WP after play |
| incomplete_pass | boolean | Pass incomplete |
| interception | boolean | Interception indicator |
| interception_player_name | stringnullable | Interceptor name |
| jersey_number | integernullable | Primary player jersey |
| kick_distance | integernullable | Kick distance in yards |
| kicker_player_name | stringnullable | Kicker name |
| kickoff_attempt | boolean | Kickoff attempt |
| kickoff_downed | boolean | Kickoff downed |
| kickoff_fair_catch | boolean | Kickoff fair catch |
| kickoff_in_endzone | boolean | Kickoff in endzone |
| kickoff_inside_twenty | boolean | Kickoff inside 20 |
| kickoff_out_of_bounds | boolean | Kickoff OOB |
| kickoff_returner_player_name | stringnullable | Kickoff returner name |
| lateral_interception_player_name | stringnullable | Lateral after INT name |
| lateral_kickoff_returner_player_name | stringnullable | Lateral kickoff returner name |
| lateral_punt_returner_player_name | stringnullable | Lateral punt returner name |
| lateral_receiver_player_name | stringnullable | Lateral receiver name (pass) |
| lateral_receiving_yds | integernullable | Yards after lateral (pass) |
| lateral_reception | boolean | Lateral on pass play |
| lateral_return | boolean | Lateral on return |
| lateral_rush | boolean | Lateral on rush play |
| lateral_rusher_player_name | stringnullable | Lateral receiver name (rush) |
| lateral_rushing_yds | integernullable | Yards after lateral (rush) |
| lateral_sack_player_name | stringnullable | Lateral after sack name |
| location | stringnullable | Home or Neutral |
| name | stringnullable | Primary player name (passer or rusher) |
| no_huddle | boolean | No-huddle offense |
| no_score_prob | decimalnullable | Probability of no score |
| opp_fg_prob | decimalnullable | Opponent FG probability |
| opp_safety_prob | decimalnullable | Opponent safety probability |
| opp_td_prob | decimalnullable | Opponent TD probability |
| order_sequence | decimalnullable | NFL play-ordering column |
| out_of_bounds | boolean | Ran/pushed/sacked out of bounds |
| own_kickoff_recovery | boolean | Own kickoff recovery |
| own_kickoff_recovery_player_name | stringnullable | Own kickoff recovery player name |
| own_kickoff_recovery_td | boolean | Own kickoff recovery TD |
| pass | boolean | Pass play indicator |
| pass_attempt | boolean | Pass attempt (includes sacks) |
| pass_defense_1_player_name | stringnullable | Pass defense player 1 name |
| pass_defense_2_player_name | stringnullable | Pass defense player 2 name |
| pass_length | stringnullable | short or deep |
| pass_location | stringnullable | left, middle, or right |
| pass_oe | decimalnullable | Dropback percent over expected |
| pass_touchdown | boolean | Passing touchdown |
| passer | stringnullable | Dropback player name (includes scrambles) |
| passer_jersey_number | integernullable | Passer jersey number |
| passer_player_name | stringnullable | Passer name |
| passing_yds | integernullable | Official passing yards |
| penalty | boolean | Penalty on play |
| penalty_player_name | stringnullable | Penalized player name |
| penalty_team | stringnullable | Penalized team |
| penalty_type | stringnullable | Type of penalty |
| penalty_yds | integernullable | Penalty yards |
| play | boolean | Regular play (1) vs special event (0) |
| play_clock | integernullable | Play clock at snap |
| play_deleted | boolean | Play was deleted |
| play_type | stringnullable | pass, run, punt, field_goal, kickoff, extra_point, qb_kneel, qb_spike, no_play |
| play_type_nfl | stringnullable | NFL source play type |
| posteam | stringnullable | Possession team abbreviation |
| posteam_score | integernullable | Possession team score at start |
| posteam_score_post | integernullable | Possession team score at end |
| posteam_timeouts_remaining | integernullable | Possession team timeouts |
| posteam_type | stringnullable | home or away |
| punt_attempt | boolean | Punt attempt |
| punt_blocked | boolean | Punt blocked |
| punt_downed | boolean | Punt downed |
| punt_fair_catch | boolean | Punt fair catch |
| punt_in_endzone | boolean | Punt in endzone |
| punt_inside_twenty | boolean | Punt inside 20 |
| punt_out_of_bounds | boolean | Punt OOB |
| punt_returner_player_name | stringnullable | Punt returner name |
| punter_player_name | stringnullable | Punter name |
| qb_dropback | boolean | QB dropback (pass or scramble) |
| qb_epa | decimalnullable | QB EPA credit |
| qb_hit | boolean | QB was hit |
| qb_hit_1_player_name | stringnullable | QB hitter name |
| qb_hit_2_player_name | stringnullable | Second QB hitter name |
| qb_kneel | boolean | QB kneel |
| qb_scramble | boolean | QB scramble |
| qb_spike | boolean | QB spike |
| quarter | integer | Quarter (1-4, 5=OT) |
| quarter_end | boolean | Binary quarter-end marker |
| quarter_seconds_remaining | integer | Seconds remaining in quarter |
| receiver | stringnullable | Targeted receiver name |
| receiver_jersey_number | integernullable | Receiver jersey number |
| receiver_player_name | stringnullable | Receiver name |
| receiving_yds | integernullable | Official receiving yards |
| replay_or_challenge | boolean | Replay/challenge occurred |
| replay_or_challenge_result | stringnullable | Replay result |
| result | integernullable | Home score - Away score |
| return_team | stringnullable | Returning team |
| return_touchdown | boolean | Return touchdown |
| return_yds | integernullable | Return yards |
| roof | stringnullable | dome, outdoors, closed, open |
| run_gap | stringnullable | end, guard, or tackle |
| run_location | stringnullable | left, middle, or right |
| rush | boolean | Rush play (no scrambles) |
| rush_attempt | boolean | Rushing play indicator |
| rush_touchdown | boolean | Rushing touchdown |
| rusher_jersey_number | integernullable | Rusher jersey number |
| rusher_player_name | stringnullable | Rusher name |
| rushing_yds | integernullable | Official rushing yards |
| sack | boolean | Sack indicator |
| sack_player_name | stringnullable | Sacker name |
| safety | boolean | Safety scored |
| safety_player_name | stringnullable | Safety scorer name |
| safety_prob | decimalnullable | Safety probability |
| score_differential | integernullable | Score gap at play start |
| score_differential_post | integernullable | Score gap at play end |
| series | integernullable | Series counter within game |
| series_result | stringnullable | First down, Touchdown, Punt, etc. |
| series_success | boolean | Series resulted in first down or TD |
| shotgun | boolean | Shotgun formation |
| side_of_field | stringnullable | Team abbreviation whose side of field |
| solo_tackle | boolean | Solo tackle on play |
| solo_tackle_1_player_name | stringnullable | Solo tackler 1 name |
| solo_tackle_1_team | stringnullable | Solo tackler 1 team |
| solo_tackle_2_player_name | stringnullable | Solo tackler 2 name |
| solo_tackle_2_team | stringnullable | Solo tackler 2 team |
| sp | boolean | Scoring play indicator |
| special | boolean | Special teams indicator |
| special_teams_play | boolean | Special teams play indicator |
| spread_line | decimalnullable | Vegas spread line |
| st_play_type | stringnullable | Type of special teams play |
| stadium | stringnullable | Stadium name |
| start_time | stringnullable | Kickoff time (eastern) |
| success | booleannullable | Play success (based on down/distance) |
| surface | stringnullable | Playing surface type |
| tackle_for_loss_1_player_name | stringnullable | TFL player 1 name |
| tackle_for_loss_2_player_name | stringnullable | TFL player 2 name |
| tackle_with_assist | boolean | Tackle with assistance |
| tackle_with_assist_1_player_name | stringnullable | Tackle-assist player 1 name |
| tackle_with_assist_1_team | stringnullable | Tackle-assist player 1 team |
| tackle_with_assist_2_player_name | stringnullable | Tackle-assist player 2 name |
| tackle_with_assist_2_team | stringnullable | Tackle-assist player 2 team |
| tackled_for_loss | boolean | Tackle for loss |
| td_player_name | stringnullable | TD scorer name |
| td_prob | decimalnullable | TD probability |
| td_team | stringnullable | Team scoring TD |
| temp | integernullable | Temperature |
| third_down_converted | boolean | Third down conversion |
| third_down_failed | boolean | Third down failure |
| time | stringnullable | Game clock at play start (mm:ss) |
| time_of_day | stringnullable | Play time in UTC |
| timeout | boolean | Timeout called |
| timeout_team | stringnullable | Team calling timeout |
| total | integernullable | Home score + Away score |
| total_away_comp_air_epa | decimalnullable | Cumulative away completion air EPA |
| total_away_comp_air_wpa | decimalnullable | Cumulative away completion air WPA |
| total_away_comp_yac_epa | decimalnullable | Cumulative away completion YAC EPA |
| total_away_comp_yac_wpa | decimalnullable | Cumulative away completion YAC WPA |
| total_away_epa | decimalnullable | Cumulative away EPA |
| total_away_pass_epa | decimalnullable | Cumulative away passing EPA |
| total_away_pass_wpa | decimalnullable | Cumulative away passing WPA |
| total_away_raw_air_epa | decimalnullable | Cumulative away raw air EPA |
| total_away_raw_air_wpa | decimalnullable | Cumulative away raw air WPA |
| total_away_raw_yac_epa | decimalnullable | Cumulative away raw YAC EPA |
| total_away_raw_yac_wpa | decimalnullable | Cumulative away raw YAC WPA |
| total_away_rush_epa | decimalnullable | Cumulative away rushing EPA |
| total_away_rush_wpa | decimalnullable | Cumulative away rushing WPA |
| total_away_score | integernullable | Away score at play start |
| total_home_comp_air_epa | decimalnullable | Cumulative home completion air EPA |
| total_home_comp_air_wpa | decimalnullable | Cumulative home completion air WPA |
| total_home_comp_yac_epa | decimalnullable | Cumulative home completion YAC EPA |
| total_home_comp_yac_wpa | decimalnullable | Cumulative home completion YAC WPA |
| total_home_epa | decimalnullable | Cumulative home EPA |
| total_home_pass_epa | decimalnullable | Cumulative home passing EPA |
| total_home_pass_wpa | decimalnullable | Cumulative home passing WPA |
| total_home_raw_air_epa | decimalnullable | Cumulative home raw air EPA |
| total_home_raw_air_wpa | decimalnullable | Cumulative home raw air WPA |
| total_home_raw_yac_epa | decimalnullable | Cumulative home raw YAC EPA |
| total_home_raw_yac_wpa | decimalnullable | Cumulative home raw YAC WPA |
| total_home_rush_epa | decimalnullable | Cumulative home rushing EPA |
| total_home_rush_wpa | decimalnullable | Cumulative home rushing WPA |
| total_home_score | integernullable | Home score at play start |
| total_line | decimalnullable | Vegas total line |
| touchback | boolean | Touchback |
| touchdown | boolean | Touchdown scored |
| two_point_attempt | boolean | Two-point conversion attempt |
| two_point_conv_result | stringnullable | success, failure, safety, return |
| two_point_conversion_prob | decimalnullable | Two-point conversion probability |
| vegas_home_wp | decimalnullable | Vegas home win probability |
| vegas_home_wpa | decimalnullable | Vegas home WPA |
| vegas_wp | decimalnullable | Vegas win probability |
| vegas_wpa | decimalnullable | Vegas-adjusted WPA |
| weather | stringnullable | Weather conditions description |
| wind | integernullable | Wind speed (mph) |
| wp | decimalnullable | Win probability for possession team |
| wpa | decimalnullable | Win probability added |
| xpass | decimalnullable | Dropback probability |
| xyac_epa | decimalnullable | Expected EPA after catch |
| xyac_fd | decimalnullable | First down probability (xYAC) |
| xyac_mean_yardage | decimalnullable | Average expected YAC |
| xyac_median_yardage | decimalnullable | Median expected YAC |
| xyac_success | decimalnullable | Positive EPA probability |
| yac_epa | decimalnullable | EPA from yards after catch |
| yac_wpa | decimalnullable | WPA from yards after catch |
| yard_line | integernullable | Yard line number (0-50) |
| yardline_100 | integernullable | Yards from opponent endzone (0-100) |
| yds_after_catch | integernullable | YAC yards |
| yds_gained | integernullable | Yards gained on play |
| ydsnet | integernullable | Total net yards on drive |
| ydstogo | integernullable | Yards to first down/goal |
| yrdln | stringnullable | Yard line string (e.g., "KC 25") |
nfl.play_participations20 fields· 2 refsendpoints →
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.
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| play_id | string | Play identifier matching `play_by_plays.play_id` for the same game. |
| possession_team_id | bigint | Team in possession on this play (FK to `teams`). |
| defenders_in_box | integernullable | Number of defenders within ~8 yards of the line of scrimmage at the snap. |
| defense_coverage_type | stringnullable | Specific coverage scheme (e.g., `COVER_1`, `COVER_2_MAN`, `COVER_3`, `COVER_4`). |
| defense_man_zone_type | stringnullable | Man- vs. zone-coverage classification (`MAN`, `ZONE`). |
| defense_personnel | stringnullable | Defensive personnel grouping (e.g., `4 DL, 2 LB, 5 DB`). |
| defense_players_gsis_ids | stringnullable | GSIS IDs of defensive players on the field for this play. |
| n_defense | integernullable | Count of defensive players on the field (typically 11). |
| n_offense | integernullable | Count of offensive players on the field (typically 11). |
| ngs_air_yds | decimalnullable | Air yards traveled by the pass from the line of scrimmage to where the receiver caught/dropped it (Next Gen Stats). |
| number_of_pass_rushers | integernullable | Number of defenders who rushed the passer on this play (Next Gen Stats). |
| offense_formation | stringnullable | Offensive formation alignment (e.g., `SHOTGUN`, `SINGLEBACK`, `I_FORM`, `PISTOL`). |
| offense_personnel | stringnullable | Offensive personnel grouping in `RB-TE-WR` shorthand (e.g., `1 RB, 2 TE, 2 WR` → `12 personnel`). |
| offense_players_gsis_ids | stringnullable | GSIS IDs of offensive players on the field for this play. |
| players_on_play_gsis_ids | stringnullable | GSIS IDs of every player on the field for this play (comma-separated or JSON-encoded depending on source vintage). |
| route | stringnullable | Route the targeted receiver ran (e.g., `GO`, `SLANT`, `OUT`, `POST`). |
| time_to_throw | decimalnullable | Time from snap to pass release in seconds (Next Gen Stats). |
| was_pressure | booleannullable | True if the quarterback faced pass-rush pressure on this play. |
nfl.player_contracts21 fields· 2 refsendpoints →
NFL player contracts — total value, average annual pay, guaranteed money, and salary cap impact for every signed deal, with cap-inflated comparisons across eras.
- player_id → nfl.players
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| otc_id | string | OverTheCap unique contract identifier (external). |
| player_id | bigint | — |
| team_id | bigint | — |
| apy | bigint | Average annual value (APY) in U.S. dollars — total `value` divided by `years`. |
| apy_cap_pct | decimal | APY as a percentage of the league salary cap in the signing year (0.0-100.0). |
| college | stringnullable | — |
| date_of_birth | datenullable | — |
| guaranteed | bigint | Total guaranteed money over the life of the contract, in U.S. dollars. |
| height | stringnullable | Height as reported by OverTheCap (e.g., `6-2`). |
| inflated_apy | bigint | `apy` adjusted to the most recent salary cap. |
| inflated_guaranteed | bigint | `guaranteed` adjusted to the most recent salary cap. |
| inflated_value | bigint | `value` adjusted to the most recent salary cap, in U.S. dollars. |
| is_active | boolean | True for the player's currently-active contract; false for historical contracts. |
| player_page_url | stringnullable | Direct URL to the player's page on overthecap.com. |
| position | string | Player position at the time the contract was signed. |
| season_history_json | stringnullable | JSON-encoded year-by-year cap-hit breakdown for the life of the contract (stored as a string). |
| value | bigint | Total contract value in U.S. dollars as reported by OverTheCap. |
| weight | integernullable | Weight in pounds. |
| year_signed | integer | Calendar year the contract was signed. |
| years | integer | Total contract length in years. |
nfl.player_news16 fields· 2 refsendpoints →
News about NFL players — transactions, injuries, lineup announcements, suspensions, and general beat-reporter updates.
- player_id → nfl.players
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| external_id | stringnullable | — |
| player_id | bigintnullable | — |
| team_id | bigintnullable | — |
| ai_processed | boolean | — |
| analysis | stringnullable | — |
| author | stringnullable | — |
| category | stringnullable | injury, transaction, lineup, general |
| content | stringnullable | — |
| description | stringnullable | — |
| link | stringnullable | — |
| news_time | timestamptz | — |
| priority | integer | — |
| situational_impact | jsonbnullable | — |
| source | stringnullable | — |
| title | string | — |
nfl.season_player_firstdown_stats52 fields· 2 refsendpoints →
Season player stats restricted to first-down plays — passing, rushing, and receiving production filtered to first-down attempts, useful for early-down efficiency analysis.
- player_id → nfl.players
- season_id → nfl.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| season_id | bigint | — |
| assisted_tackles | integer | Assisted tackles on first down |
| defensive_tds | integer | Total defensive touchdowns on first down |
| forced_fumbles | integer | Forced fumbles on first down |
| fumble_recovery_tds | integer | Fumble recovery touchdowns on first down |
| fumble_recovery_yds | integer | Fumble recovery yards on first down |
| fumbles | integer | Fumbles on first down |
| fumbles_lost | integer | Fumbles lost on first down |
| fumbles_recovered | integer | Fumbles recovered on first down |
| games_played | integer | Number of games with first down involvement |
| games_started | integer | Number of games started |
| interception_tds | integer | Interception return touchdowns on first down |
| interception_yds | integer | Interception return yards on first down |
| interceptions | integer | Interceptions on first down |
| offensive_snaps | integer | Offensive snaps played on first down |
| offensive_tds | integer | Total offensive touchdowns on first down |
| passes_defended | integer | Passes defended on first down |
| passing_attempts | integer | Passing attempts on first down |
| passing_completion_percentage | decimal | Completion percentage on first down |
| passing_completions | integer | Completed passes on first down |
| passing_interceptions | integer | Interceptions thrown on first down |
| passing_long | integer | Longest pass completion on first down |
| passing_rating | decimal | Passer rating on first down |
| passing_sack_yds | integer | Yards lost to sacks on first down |
| passing_sacks | integer | Times sacked on first down |
| passing_tds | integer | Passing touchdowns on first down |
| passing_yds | integer | Passing yards on first down |
| passing_yds_per_attempt | decimal | Passing yards per attempt on first down |
| passing_yds_per_completion | decimal | Passing yards per completion on first down |
| quarterback_hits | integer | QB hits on first down |
| receiving_long | integer | Longest reception on first down |
| receiving_tds | integer | Receiving touchdowns on first down |
| receiving_yds | integer | Receiving yards on first down |
| receiving_yds_per_reception | decimal | Yards per reception on first down |
| receiving_yds_per_target | decimal | Receiving yards per target on first down |
| reception_percentage | decimal | Reception percentage (receptions/targets) on first down |
| receptions | integer | Receptions on first down |
| rushing_attempts | integer | Rushing attempts on first down |
| rushing_long | integer | Longest rush on first down |
| rushing_tds | integer | Rushing touchdowns on first down |
| rushing_yds | integer | Rushing yards on first down |
| rushing_yds_per_attempt | decimal | Rushing yards per attempt on first down |
| sacks | decimal | Sacks on first down (0.5 for half sacks) |
| solo_tackles | integer | Solo tackles on first down |
| tackles_for_loss | integer | Tackles for loss on first down |
| targets | integer | Times targeted on first down |
| total_tds | integer | Total touchdowns scored on first down |
| two_pt_pass_conversions | integer | — |
| two_pt_reception_conversions | integer | — |
| two_pt_rush_conversions | integer | — |
nfl.season_player_redzone_stats52 fields· 2 refsendpoints →
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.
- player_id → nfl.players
- season_id → nfl.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| season_id | bigint | — |
| assisted_tackles | integer | Assisted tackles in red zone |
| defensive_tds | integer | Total defensive touchdowns in red zone |
| forced_fumbles | integer | Forced fumbles in red zone |
| fumble_recovery_tds | integer | Fumble recovery touchdowns in red zone |
| fumble_recovery_yds | integer | Fumble recovery yards in red zone |
| fumbles | integer | Fumbles in the red zone |
| fumbles_lost | integer | Fumbles lost in the red zone |
| fumbles_recovered | integer | Fumbles recovered in red zone |
| games_played | integer | Number of games with red zone involvement |
| games_started | integer | Number of games started |
| interception_tds | integer | Interception return touchdowns in red zone |
| interception_yds | integer | Interception return yards in red zone |
| interceptions | integer | Interceptions in red zone |
| offensive_snaps | integer | Offensive snaps played in red zone situations |
| offensive_tds | integer | Total offensive touchdowns in the red zone |
| passes_defended | integer | Passes defended in red zone |
| passing_attempts | integer | Passing attempts in the red zone |
| passing_completion_percentage | decimal | Completion percentage in the red zone |
| passing_completions | integer | Completed passes in the red zone |
| passing_interceptions | integer | Interceptions thrown in the red zone |
| passing_long | integer | Longest pass completion in the red zone |
| passing_rating | decimal | Passer rating in the red zone |
| passing_sack_yds | integer | Yards lost to sacks in the red zone |
| passing_sacks | integer | Times sacked in the red zone |
| passing_tds | integer | Passing touchdowns in the red zone |
| passing_yds | integer | Passing yards in the red zone |
| passing_yds_per_attempt | decimal | Passing yards per attempt in the red zone |
| passing_yds_per_completion | decimal | Passing yards per completion in the red zone |
| quarterback_hits | integer | QB hits in red zone |
| receiving_long | integer | Longest reception in the red zone |
| receiving_tds | integer | Receiving touchdowns in the red zone |
| receiving_yds | integer | Receiving yards in the red zone |
| receiving_yds_per_reception | decimal | Yards per reception in the red zone |
| receiving_yds_per_target | decimal | Receiving yards per target in the red zone |
| reception_percentage | decimal | Reception percentage (receptions/targets) in the red zone |
| receptions | integer | Receptions in the red zone |
| rushing_attempts | integer | Rushing attempts in the red zone |
| rushing_long | integer | Longest rush in the red zone |
| rushing_tds | integer | Rushing touchdowns in the red zone |
| rushing_yds | integer | Rushing yards in the red zone |
| rushing_yds_per_attempt | decimal | Rushing yards per attempt in the red zone |
| sacks | decimal | Sacks in red zone (0.5 for half sacks) |
| solo_tackles | integer | Solo tackles in red zone |
| tackles_for_loss | integer | Tackles for loss in red zone |
| targets | integer | Times targeted in the red zone |
| total_tds | integer | Total touchdowns scored in the red zone |
| two_pt_pass_conversions | integer | Successful two-point conversion passes in the red zone |
| two_pt_reception_conversions | integer | Successful two-point conversion receptions in the red zone |
| two_pt_rush_conversions | integer | Successful two-point conversion runs in the red zone |
nfl.season_player_stats89 fields· 2 refsendpoints →
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.
- player_id → nfl.players
- season_id → nfl.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| season_id | bigint | — |
| completion_percentage | decimal | — |
| completions | integer | — |
| defensive_tds | integer | — |
| extra_pts_attempted | integer | — |
| extra_pts_made | integer | — |
| fair_catches | integer | — |
| field_goal_percentage | decimal | — |
| field_goals_attempted | integer | — |
| field_goals_made | integer | — |
| field_goals_made_0_19 | integer | — |
| field_goals_made_20_29 | integer | — |
| field_goals_made_30_39 | integer | — |
| field_goals_made_40_49 | integer | — |
| field_goals_made_50_plus | integer | — |
| forced_fumbles | integer | — |
| fumble_return_yds | integer | — |
| fumble_tds | integer | — |
| fumbles | integer | — |
| fumbles_lost | integer | — |
| fumbles_receiving | integer | — |
| fumbles_recovered | integer | — |
| fumbles_rushing | integer | — |
| games_played | integer | — |
| games_started | integer | — |
| interception_return_yds | integer | — |
| interception_tds | integer | — |
| interceptions_defense | integer | — |
| interceptions_thrown | integer | — |
| kick_return_average | decimal | — |
| kick_return_tds | integer | — |
| kick_return_yds | integer | — |
| kick_returns | integer | — |
| longest_field_goal | integer | — |
| longest_kick_return | integer | — |
| longest_punt | integer | — |
| longest_punt_return | integer | — |
| longest_reception | integer | — |
| longest_rush | integer | — |
| pass_attempts | integer | — |
| passer_rating | decimal | — |
| passes_defended | integer | — |
| passing_air_yds | integer | Total passing air yards |
| passing_first_downs | integer | Total passing first downs |
| passing_long | integer | Longest pass (season max) |
| passing_tds | integer | — |
| passing_yds | integer | — |
| passing_yds_after_catch | integer | Total YAC from passes |
| punt_average | decimal | — |
| punt_net_average | decimal | — |
| punt_return_average | decimal | — |
| punt_return_tds | integer | — |
| punt_return_yds | integer | — |
| punt_returns | integer | — |
| punt_touchbacks | integer | — |
| punt_yds | integer | — |
| punts | integer | — |
| punts_blocked | integer | — |
| punts_inside_20 | integer | — |
| quarterback_hits | integer | — |
| receiving_air_yds | integer | Total receiving air yards |
| receiving_first_downs | integer | Total receiving first downs |
| receiving_fumbles_lost | integer | Total receiving fumbles lost |
| receiving_tds | integer | — |
| receiving_yds | integer | — |
| receiving_yds_after_catch | integer | Total receiving YAC |
| receptions | integer | — |
| rushing_attempts | integer | — |
| rushing_first_downs | integer | Total rushing first downs |
| rushing_fumbles_lost | integer | Total rushing fumbles lost |
| rushing_tds | integer | — |
| rushing_yds | integer | — |
| sack_fumbles | integer | Total fumbles on sacks |
| sack_fumbles_lost | integer | Total sack fumbles lost |
| sack_yds_lost | integer | — |
| sacks | decimal | — |
| sacks_taken | integer | — |
| safeties | integer | — |
| special_teams_tds | integer | Total special teams touchdowns |
| tackles_assisted | integer | — |
| tackles_for_loss | integer | — |
| tackles_solo | integer | — |
| targets | integer | — |
| total_tackles | integer | — |
| yds_per_attempt | decimal | — |
| yds_per_carry | decimal | — |
| yds_per_reception | decimal | — |
nfl.season_player_thirddown_stats52 fields· 2 refsendpoints →
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.
- player_id → nfl.players
- season_id → nfl.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| season_id | bigint | — |
| assisted_tackles | integer | Assisted tackles on third down |
| defensive_tds | integer | Total defensive touchdowns on third down |
| forced_fumbles | integer | Forced fumbles on third down |
| fumble_recovery_tds | integer | Fumble recovery touchdowns on third down |
| fumble_recovery_yds | integer | Fumble recovery yards on third down |
| fumbles | integer | Fumbles on third down |
| fumbles_lost | integer | Fumbles lost on third down |
| fumbles_recovered | integer | Fumbles recovered on third down |
| games_played | integer | Number of games with third down involvement |
| games_started | integer | Number of games started |
| interception_tds | integer | Interception return touchdowns on third down |
| interception_yds | integer | Interception return yards on third down |
| interceptions | integer | Interceptions on third down |
| offensive_snaps | integer | Offensive snaps played on third down |
| offensive_tds | integer | Total offensive touchdowns on third down |
| passes_defended | integer | Passes defended on third down |
| passing_attempts | integer | Passing attempts on third down |
| passing_completion_percentage | decimal | Completion percentage on third down |
| passing_completions | integer | Completed passes on third down |
| passing_interceptions | integer | Interceptions thrown on third down |
| passing_long | integer | Longest pass completion on third down |
| passing_rating | decimal | Passer rating on third down |
| passing_sack_yds | integer | Yards lost to sacks on third down |
| passing_sacks | integer | Times sacked on third down |
| passing_tds | integer | Passing touchdowns on third down |
| passing_yds | integer | Passing yards on third down |
| passing_yds_per_attempt | decimal | Passing yards per attempt on third down |
| passing_yds_per_completion | decimal | Passing yards per completion on third down |
| quarterback_hits | integer | QB hits on third down |
| receiving_long | integer | Longest reception on third down |
| receiving_tds | integer | Receiving touchdowns on third down |
| receiving_yds | integer | Receiving yards on third down |
| receiving_yds_per_reception | decimal | Yards per reception on third down |
| receiving_yds_per_target | decimal | Receiving yards per target on third down |
| reception_percentage | decimal | Reception percentage (receptions/targets) on third down |
| receptions | integer | Receptions on third down |
| rushing_attempts | integer | Rushing attempts on third down |
| rushing_long | integer | Longest rush on third down |
| rushing_tds | integer | Rushing touchdowns on third down |
| rushing_yds | integer | Rushing yards on third down |
| rushing_yds_per_attempt | decimal | Rushing yards per attempt on third down |
| sacks | decimal | Sacks on third down (0.5 for half sacks) |
| solo_tackles | integer | Solo tackles on third down |
| tackles_for_loss | integer | Tackles for loss on third down |
| targets | integer | Times targeted on third down |
| total_tds | integer | Total touchdowns scored on third down |
| two_pt_pass_conversions | integer | — |
| two_pt_reception_conversions | integer | — |
| two_pt_rush_conversions | integer | — |
nfl.team_player_rosters8 fields· 3 refsendpoints →
Day-by-day player-to-team affiliations across the season — who was on which roster, at what position, on every day from training camp through the Super Bowl.
- player_id → nfl.players
- season_id → nfl.seasons
- team_id → nfl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| season_id | bigint | — |
| team_id | bigint | — |
| day | integer | Day-of-year integer; the row is valid for that single day. |
| depth_order | integernullable | Depth-chart order at this position on this date (1 = starter). |
| position | stringnullable | Position assigned to the player for this season-day. |
| position_group | stringnullable | Position group (`OFFENSE`, `DEFENSE`, `ST`). |
NBA29 tables
nba.seasons8 fields· 11 referenced-byendpoints →
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.
- nba.games.season_id
- nba.playoffs.season_id
- nba.season_team_stats.season_id
- nba.team_coaching_staffs.season_id
- nba.team_standings.season_id
- nba.game_lines.season_id
- nba.game_period_lines.season_id
- nba.game_player_props.season_id
- nba.season_player_stats.season_id
- nba.team_depth_charts.season_id
- nba.team_game_contexts.season_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| short_id | string | — |
| description | stringnullable | — |
| end_date | timestamptznullable | — |
| post_season_start_date | timestamptznullable | — |
| regular_season_start_date | timestamptznullable | — |
| start_date | timestamptz | — |
| start_year | integer | — |
nba.stadiums19 fields· 1 refs· 3 referenced-byendpoints →
NBA arenas — current home venues and historical buildings the league's teams have played in.
- league_stadium_id → nba.stadiums
- nba.stadiums.league_stadium_id
- nba.teams.stadium_id
- nba.games.stadium_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| league_stadium_id | integernullable | Official NBA arena ID from stats.nba.com |
| address | stringnullable | — |
| capacity | integernullable | — |
| city | string | — |
| closed_date | timestamptznullable | — |
| country | stringnullable | — |
| description | stringnullable | — |
| elevation | floatnullable | Elevation in feet above sea level |
| image_url | stringnullable | URL to aerial/overview image of arena |
| latitude | floatnullable | — |
| longitude | floatnullable | — |
| name | string | — |
| opened_date | timestamptznullable | — |
| roof_type | stringnullable | Arena roof type (all indoor) |
| state | stringnullable | — |
| surface | stringnullable | — |
| team_name | stringnullable | — |
| timezone | stringnullable | IANA timezone (e.g., America/New_York) |
nba.referees13 fields· 1 refs· 2 referenced-byendpoints →
NBA officials — the three-person crew of referees who work each game.
- nba_referee_id → nba.referees
- nba.referees.nba_referee_id
- nba.game_referees.referee_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| nba_referee_id | integer | — |
| active | boolean | — |
| birth_city | stringnullable | — |
| birth_country | stringnullable | — |
| birth_date | datenullable | — |
| birth_state | stringnullable | — |
| college | stringnullable | — |
| experience | integernullable | — |
| first_name | string | — |
| full_name | string | — |
| jersey_number | stringnullable | — |
| last_name | string | — |
nba.coaching_staffs5 fieldsendpoints →
NBA coaches and staff — head coaches, lead assistants, player-development coaches, and other basketball-operations staff who appear on team benches.
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| coach_id | integer | Official NBA coach/staff ID from stats.nba.com |
| first_name | string | — |
| last_name | string | — |
| name | string | — |
nba.teams10 fields· 2 refs· 24 referenced-byendpoints →
The 30 NBA franchises, organized into the Eastern and Western Conferences with three divisions in each.
- league_team_id → nba.teams
- stadium_id → nba.stadiums
- nba.teams.league_team_id
- nba.games.away_team_id
- nba.games.home_team_id
- nba.players.team_id
- nba.broadcasters.broadcaster_team_id
- nba.operator_team_lookups.operator_team_id
- nba.operator_team_lookups.team_id
- nba.playoffs.away_team_id
- nba.playoffs.home_team_id
- nba.season_team_stats.team_id
- nba.team_coaching_staffs.team_id
- nba.team_standings.team_id
- nba.game_player_stats.team_id
- nba.game_possessions.team_id
- nba.game_team_lineup_stints.team_id
- nba.game_team_rosters.team_id
- nba.game_team_stats.team_id
- nba.play_by_plays.player2_team_id
- nba.play_by_plays.player3_team_id
- nba.play_by_plays.team_id
- nba.player_news.team_id
- nba.team_depth_charts.team_id
- nba.team_game_contexts.opponent_team_id
- nba.team_game_contexts.team_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| league_team_id | integernullable | Official NBA team ID from stats.nba.com |
| stadium_id | bigintnullable | — |
| abbreviation | string | — |
| active | boolean | — |
| city | string | — |
| conference | string | — |
| division | string | — |
| full_name | string | — |
| name | string | — |
nba.games28 fields· 5 refs· 13 referenced-byendpoints →
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.
- away_team_id → nba.teams
- home_team_id → nba.teams
- league_game_id → nba.games
- season_id → nba.seasons
- stadium_id → nba.stadiums
- nba.games.league_game_id
- nba.game_broadcasters.game_id
- nba.game_lines.game_id
- nba.game_period_lines.game_id
- nba.game_player_props.game_id
- nba.game_player_stats.game_id
- nba.game_possessions.game_id
- nba.game_referees.game_id
- nba.game_team_lineup_stints.game_id
- nba.game_team_rosters.game_id
- nba.game_team_stats.game_id
- nba.play_by_plays.game_id
- nba.team_game_contexts.game_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| away_team_id | bigint | — |
| home_team_id | bigint | — |
| league_game_id | stringnullable | Official NBA game ID from stats.nba.com |
| season_id | bigint | — |
| stadium_id | integernullable | — |
| attendance | integernullable | — |
| away_rotation_number | integernullable | — |
| away_team | string | — |
| away_team_score | integer | — |
| channel | stringnullable | — |
| day | integer | — |
| end_time | timestamptznullable | — |
| game_label | stringnullable | — |
| game_sub_label | stringnullable | — |
| game_time | timestamptz | — |
| home_rotation_number | integernullable | — |
| home_team | string | — |
| home_team_score | integer | — |
| if_necessary | booleannullable | — |
| neutral_venue | boolean | — |
| postponed_status | stringnullable | — |
| season_type | string | — |
| series_game_number | stringnullable | — |
| series_name | stringnullable | — |
| series_text | stringnullable | — |
| start_time | timestamptz | — |
| status | string | — |
nba.players41 fields· 2 refs· 10 referenced-byendpoints →
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. NBA `players` has no boolean `active` column; the roster signal lives in `status` / `roster_status` (text) 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.
- league_player_id → nba.players
- team_id → nba.teams
- nba.players.league_player_id
- nba.game_player_props.player_id
- nba.game_player_stats.player_id
- nba.game_team_rosters.player_id
- nba.operator_player_lookups.operator_player_id
- nba.operator_player_lookups.player_id
- nba.play_by_plays.player_id
- nba.player_news.player_id
- nba.season_player_stats.player_id
- nba.team_depth_charts.player_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| league_player_id | integer | Official NBA player ID from stats.nba.com. Stable across seasons; use for cross-API joins to nba_stats sources. |
| team_id | bigintnullable | FK to nba.teams. Null for free agents and retired players. |
| birth_city | stringnullable | City of birth. |
| birth_country | stringnullable | Country of birth (ISO English name). |
| birth_date | datenullable | Birth date in YYYY-MM-DD form. |
| birth_state | stringnullable | State / province of birth (US/Canadian players). |
| display_fi_last | stringnullable | Display name in "F. Last" form. |
| display_last_comma_first | stringnullable | Display name in "Last, First" form. Useful for sorted lists. |
| dleague_flag | stringnullable | 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). |
| draft_number | stringnullable | Overall pick number within the draft (string). Empty for undrafted. |
| draft_round | stringnullable | Draft round (string). Empty for undrafted players. |
| draft_year | stringnullable | Year the player was drafted (string form). Empty for undrafted players. |
| experience | integernullable | Years of NBA experience as of the most recent season. Rookies = 0. |
| first_name | string | Player's legal first name as registered with the league. |
| from_year | stringnullable | Player's NBA debut year as a string (per stats.nba.com). |
| full_name | string | Convenience concatenation of first_name + last_name. Use this for display. |
| full_position_list | stringnullable | Hyphenated full-word position list (e.g., "Guard-Forward", "Center-Forward"). |
| games_played_flag | stringnullable | String "Y"/"N" indicating whether the player has played at least one regular-season game. |
| height | integernullable | Height in inches. |
| injury_body_part | stringnullable | Affected body part for the most recent injury (e.g., "Knee", "Ankle"). Null when injury_status is null. |
| injury_detail | stringnullable | Free-text injury description from the source feed. |
| injury_since | timestamptznullable | Timestamp of the injury status snapshot. Updated when player_news produces a new injury entry. |
| injury_status | stringnullable | Current injury status snapshot derived from player_news. Values: "OUT", "QUESTIONABLE"; null = no active injury designation (healthy). |
| jersey | stringnullable | Current jersey number as a string (some leagues allow leading zeros, e.g., "00"). |
| last_affiliation | stringnullable | Most recent pre-NBA affiliation (school, league, or team). |
| last_name | string | Player's legal last name. |
| league_slug | stringnullable | NBA-issued URL slug (e.g., for stats.nba.com player page). |
| nba_flag | stringnullable | String "Y"/"N" indicating NBA experience. Almost always "Y" in this table. |
| playercode | stringnullable | NBA-issued player code (lastname_firstname format). |
| position_category | stringnullable | Coarse positional grouping. One of Guard, Forward, Center, Utility. |
| primary_position | string | Primary position. One of G, F, C, G-F, F-C. (True PG/SG/SF/PF splits live in team_depth_charts.position.) |
| roster_status | stringnullable | Roster flag from stats.nba.com: "1" on an active NBA roster, "0" not. (Contract type — two-way / 10-day — is not exposed; dleague_flag is the closest signal.) |
| school | stringnullable | Last school attended before the NBA (college, prep, or international club). |
| status | stringnullable | Roster status. One of "Active", "Inactive"; null for a few legacy rows. |
| team_abbreviation | stringnullable | Current team's tri-letter code. |
| team_city | stringnullable | Current team's city name. |
| team_code | stringnullable | Current team's lowercase URL slug. |
| team_name | stringnullable | Current team's mascot name (denormalized from teams.name for read convenience). |
| to_year | stringnullable | Player's most recent NBA season year. Equal to from_year for rookies. |
| weight | integernullable | Listed weight in pounds. |
nba.broadcasters12 fields· 2 refs· 2 referenced-byendpoints →
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.
- broadcaster_id → nba.broadcasters
- broadcaster_team_id → nba.teams
- nba.broadcasters.broadcaster_id
- nba.game_broadcasters.broadcaster_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| broadcaster_id | integer | — |
| broadcaster_team_id | integer | — |
| region_id | integer | — |
| broadcaster_abbreviation | string | — |
| broadcaster_description | stringnullable | — |
| broadcaster_display | string | — |
| broadcaster_media | string | — |
| broadcaster_ranking | integer | — |
| broadcaster_scope | string | — |
| broadcaster_video_link | stringnullable | — |
| tape_delay_comments | stringnullable | — |
nba.operator_team_lookups6 fields· 3 refsendpoints →
How each sportsbook and fantasy operator names every NBA team — the mapping from each operator's team code to the unified franchise record.
- operator_id → main.operators
- operator_team_id → nba.teams
- team_id → nba.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| operator_id | bigint | Reference to main.operator entity |
| operator_team_id | string | External team ID from operator |
| team_id | bigint | Internal nba.teams.id reference |
| abbreviation | stringnullable | Team abbreviation for reconciliation |
| team_name | stringnullable | Team name for reconciliation |
nba.playoffs12 fields· 3 refsendpoints →
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.
- away_team_id → nba.teams
- home_team_id → nba.teams
- season_id → nba.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| away_team_id | bigint | — |
| home_team_id | bigint | — |
| season_id | bigint | — |
| series_id | bigint | — |
| away_team_wins | integer | — |
| games_played | integer | — |
| home_team_wins | integer | — |
| max_games | integer | — |
| series_name | string | — |
| series_text | string | — |
| status | string | — |
nba.season_team_stats9 fields· 2 refsendpoints →
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.
- season_id → nba.seasons
- team_id → nba.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| season_id | bigint | — |
| team_id | bigint | — |
| games_played | integer | — |
| losses | integer | — |
| pts_allowed | integer | — |
| pts_scored | integer | — |
| ties | integer | — |
| wins | integer | — |
nba.team_coaching_staffs9 fields· 2 refsendpoints →
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.
- season_id → nba.seasons
- team_id → nba.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| coaching_staff_id | bigint | — |
| season_id | bigint | First season of this tenure |
| team_id | bigint | — |
| coach_type | string | Head Coach, Assistant Coach, Trainer |
| end_date | datenullable | Tenure end date. NULL = still active. |
| is_assistant | boolean | — |
| sort_sequence | integernullable | — |
| start_date | date | Tenure start date (derived from season start) |
nba.team_standings21 fields· 2 refsendpoints →
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.
- season_id → nba.seasons
- team_id → nba.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| season_id | bigint | — |
| team_id | bigint | — |
| away_losses | integer | — |
| away_wins | integer | — |
| conference_gb | decimal | Games back from conference leader |
| conference_rank | integer | 1-15 within conference |
| day | integer | YYYYMMDD — standings as of this date (before games on this day) |
| division_rank | integer | 1-5 within division |
| games_played | integer | — |
| games_remaining | integer | — |
| home_losses | integer | — |
| home_wins | integer | — |
| l10_losses | integer | — |
| l10_wins | integer | — |
| losses | integer | — |
| playin_gb | decimal | Games back from 10th seed (play-in cutoff) |
| playoff_gb | decimal | Games back from 6th seed (auto-qualify cutoff) |
| streak | integer | Positive = win streak, negative = loss streak |
| win_pct | decimal | — |
| wins | integer | — |
nba.game_broadcasters4 fields· 2 refsendpoints →
Which networks broadcast each NBA game — the national TV partner, home and away regional carriers, radio calls, and streaming providers.
- broadcaster_id → nba.broadcasters
- game_id → nba.games
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| broadcaster_id | bigint | — |
| game_id | bigint | — |
| broadcaster_type | string | — |
nba.game_lines30 fields· 3 refsendpoints →
NBA game betting lines — point spreads, moneylines, and over/under totals from sportsbooks, captured over time as the lines move from opening to closing.
- game_id → nba.games
- operator_id → main.operators
- season_id → nba.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| operator_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. |
| season_id | bigint | Denormalized for efficient season-level queries |
| captured_at | timestamptz | When this snapshot was captured |
| implied_away_score | decimalnullable | — |
| implied_away_win_pct | decimalnullable | — |
| implied_home_score | decimalnullable | Calculated from spread + total |
| implied_home_win_pct | decimalnullable | From moneyline, 0-1 |
| is_opening | boolean | True if this is the opening line |
| moneyline_away | integernullable | American odds for away team win |
| moneyline_bet_pct_away | integernullable | — |
| moneyline_bet_pct_home | integernullable | — |
| moneyline_home | integernullable | American odds for home team win |
| moneyline_money_pct_away | integernullable | — |
| moneyline_money_pct_home | integernullable | — |
| over_odds | integernullable | American odds for over |
| spread | decimalnullable | Home team spread (e.g., -3.5 means home favored by 3.5) |
| spread_away_odds | integernullable | American odds for away spread |
| spread_bet_pct_away | integernullable | — |
| spread_bet_pct_home | integernullable | — |
| spread_home_odds | integernullable | American odds for home spread (e.g., -110) |
| spread_money_pct_away | integernullable | — |
| spread_money_pct_home | integernullable | — |
| total | decimalnullable | Combined score total line (e.g., 224.5) |
| total_bet_pct_over | integernullable | — |
| total_bet_pct_under | integernullable | — |
| total_money_pct_over | integernullable | — |
| total_money_pct_under | integernullable | — |
| under_odds | integernullable | American odds for under |
nba.game_period_lines17 fields· 3 refsendpoints →
Period-specific NBA betting lines — first-half, second-half, and individual-quarter spreads, moneylines, and totals offered alongside the full-game markets.
- game_id → nba.games
- operator_id → main.operators
- season_id → nba.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| operator_id | bigint | Data source (consensus, DraftKings, FanDuel, etc.) |
| season_id | bigint | Denormalized for efficient season-level queries |
| captured_at | timestamptz | When this snapshot was captured |
| implied_away_win_pct | decimalnullable | — |
| implied_home_win_pct | decimalnullable | From moneyline, 0-1 |
| is_opening | boolean | True if this is the first captured line for this period |
| moneyline_away | integernullable | American odds for away team win in this period |
| moneyline_home | integernullable | American odds for home team win in this period |
| over_odds | integernullable | American odds for over |
| period_code | string | Market period code (1H, 2H, Q1, Q2, Q3, Q4) |
| spread | decimalnullable | Home team spread for this period |
| spread_away_odds | integernullable | American odds for away spread |
| spread_home_odds | integernullable | American odds for home spread (e.g., -110) |
| total | decimalnullable | Combined score total line for this period |
| under_odds | integernullable | American odds for under |
nba.game_player_props18 fields· 4 refsendpoints →
NBA player prop bets for each game — points, rebounds, assists, threes made, steals, blocks, and other player-statistic markets offered by sportsbooks.
- game_id → nba.games
- operator_id → main.operators
- player_id → nba.players
- season_id → nba.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| operator_id | bigint | Usually consensus |
| player_id | bigint | — |
| season_id | bigint | Denormalized for efficient season-level queries |
| book_count | integer | Number of curated books contributing to this consensus value |
| captured_at | timestamptz | When this snapshot was captured |
| category | string | Canonical category (points, rebounds, assists, pra, etc.) |
| is_opening | boolean | True if this is the first captured line for this player/market |
| line | decimalnullable | Prop line for over/under markets (e.g., 24.5) |
| market_key | string | Raw market key from source API (e.g., player_points) |
| no_odds | integernullable | American odds for no |
| outcome_type | string | ou | yes_no |
| over_odds | integernullable | American odds for over |
| period_code | stringnullable | Optional period code (Q1, 1H) |
| subcategory | stringnullable | Optional subtype (alternate, boosted, etc.) |
| under_odds | integernullable | American odds for under |
| yes_odds | integernullable | American odds for yes |
nba.game_player_stats116 fields· 3 refsendpoints →
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.
- game_id → nba.games
- player_id → nba.players
- team_id → nba.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| player_id | bigint | — |
| team_id | bigint | — |
| abnormal_exit_clock | integer | — |
| abnormal_exit_period | integer | — |
| alley_oops | integer | — |
| and_ones | integer | — |
| assist_percentage | decimalnullable | — |
| assist_ratio | decimalnullable | — |
| assist_to_turnover | decimalnullable | — |
| assists | integer | — |
| avg_dribbles_per_touch | decimalnullable | — |
| avg_seconds_per_touch | decimalnullable | — |
| backcourt_violations | integer | — |
| balls_stolen | integernullable | — |
| basket_interference_violations | integer | — |
| blocks | integer | — |
| box_outs | integernullable | — |
| carrying_palming_violations | integer | — |
| challenges_requested | integer | — |
| charges_taken | integernullable | — |
| clear_path_fouls | integer | — |
| comment | stringnullable | — |
| competitive_minutes | decimal | — |
| contests | integernullable | — |
| defensive_rating | decimalnullable | — |
| defensive_rebound_percentage | decimalnullable | — |
| defensive_rebounds | integer | — |
| deflections | integernullable | — |
| double_doubles | integer | — |
| double_dribble_violations | integer | — |
| drives | integernullable | — |
| dunks | integer | — |
| effective_field_goal_percentage | decimalnullable | — |
| ejections | integer | — |
| elbow_touches | integernullable | — |
| estimated_defensive_rating | decimalnullable | — |
| estimated_net_rating | decimalnullable | — |
| estimated_offensive_rating | decimalnullable | — |
| estimated_pace | decimalnullable | — |
| estimated_usage_percentage | decimalnullable | — |
| fast_break_pts | integer | — |
| field_goal_percentage | decimalnullable | — |
| field_goals_attempted | integer | — |
| field_goals_made | integer | — |
| flagrant_fouls_type_1 | integer | — |
| flagrant_fouls_type_2 | integer | — |
| foul_trouble_severity | integer | — |
| fouls | integer | — |
| fouls_drawn | integer | — |
| free_throw_percentage | decimalnullable | — |
| free_throws_attempted | integer | — |
| free_throws_made | integer | — |
| front_court_touches | integernullable | — |
| game_date | integer | — |
| garbage_time_minutes | decimal | — |
| goaltending_violations | integer | — |
| hockey_assists | integernullable | — |
| jump_balls_lost | integer | — |
| jump_balls_won | integer | — |
| lane_violations | integer | — |
| layups | integer | — |
| loose_balls_recovered | integernullable | — |
| minutes | decimal | — |
| minutes_deviation_pct | decimal | — |
| net_rating | decimalnullable | — |
| offensive_fouls | integer | — |
| offensive_rating | decimalnullable | — |
| offensive_rebound_percentage | decimalnullable | — |
| offensive_rebounds | integer | — |
| paint_touches | integernullable | — |
| pass_percentage | decimalnullable | — |
| passes | integernullable | — |
| passes_deflected | integernullable | — |
| personal_fouls | integer | — |
| player_impact_estimate | decimal | — |
| plus_minus | integer | — |
| possessions | integer | — |
| post_touches | integernullable | — |
| potential_assists | integernullable | — |
| pts | integer | — |
| pts_per_elbow_touch | decimalnullable | — |
| pts_per_paint_touch | decimalnullable | — |
| pts_per_post_touch | decimalnullable | — |
| pts_per_touch | decimalnullable | — |
| put_backs | integer | — |
| rebound_percentage | decimalnullable | — |
| rebounds | integer | — |
| role_anomalous_game | boolean | — |
| role_archetype | stringnullable | — |
| role_archetype_confidence | decimal | — |
| rotation_context | stringnullable | — |
| rotation_context_confidence | decimal | — |
| screen_assists | integernullable | — |
| second_chance_pts | integer | — |
| shot_clock_violations | integer | — |
| shot_contested_count | integernullable | — |
| shots_blocked | integernullable | — |
| start_position | stringnullable | — |
| steals | integer | — |
| substitutions_in | integer | — |
| substitutions_out | integer | — |
| technical_fouls | integer | — |
| three_point_percentage | decimalnullable | — |
| three_pointers_attempted | integer | — |
| three_pointers_made | integer | — |
| time_of_possession | decimalnullable | — |
| timeouts_called | integer | — |
| touches | integernullable | — |
| traveling_violations | integer | — |
| triple_doubles | integer | — |
| true_shooting_percentage | decimalnullable | — |
| turnover_ratio | decimalnullable | — |
| turnovers | integer | — |
| usage_percentage | decimalnullable | — |
nba.game_possessions29 fields· 2 refsendpoints →
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.
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| team_id | bigintnullable | — |
| ast | integer | — |
| away_score | integer | — |
| blk | integer | — |
| cum_away_poss | integer | — |
| cum_home_poss | integer | — |
| dreb | integer | — |
| end_clock | integernullable | — |
| end_nba_event_num | integer | — |
| fg3a | integer | — |
| fg3m | integer | — |
| fga | integer | — |
| fgm | integer | — |
| fta | integer | — |
| ftm | integer | — |
| game_seconds_elapsed | integer | — |
| home_score | integer | — |
| oreb | integer | — |
| period | integer | — |
| pf | integer | — |
| pts | integer | — |
| start_clock | integer | — |
| start_nba_event_num | integer | — |
| stl | integer | — |
| time_actual_end | timestamptznullable | — |
| time_actual_start | timestamptznullable | — |
| tov | integer | — |
nba.game_referees4 fields· 2 refsendpoints →
The officiating crew assigned to each NBA game — the three referees who worked the matchup.
- game_id → nba.games
- referee_id → nba.referees
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| referee_id | bigint | — |
| position | stringnullable | — |
nba.game_team_lineup_stints25 fields· 2 refsendpoints →
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.
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| player1_id | bigint | — |
| player2_id | bigint | — |
| player3_id | bigint | — |
| player4_id | bigint | — |
| player5_id | bigint | — |
| team_id | bigint | — |
| assist_pct | decimal | — |
| defensive_rating | decimal | — |
| defensive_rebound_pct | decimal | — |
| end_clock | integer | — |
| end_event_seq | integer | — |
| net_rating | decimal | — |
| offensive_rating | decimal | — |
| offensive_rebound_pct | decimal | — |
| pace | decimal | — |
| period | integer | — |
| player_stats | jsonb | — |
| possessions | integer | — |
| pts_allowed | integer | — |
| pts_scored | integer | — |
| start_clock | integer | — |
| start_event_seq | integer | — |
| turnover_pct | decimal | — |
nba.game_team_rosters15 fields· 3 refsendpoints →
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.
- game_id → nba.games
- player_id → nba.players
- team_id → nba.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| player_id | bigint | — |
| team_id | bigint | — |
| comment | stringnullable | — |
| confirmed | booleannullable | Whether the starter truth was established from post-game evidence |
| day | integer | — |
| injury_status | stringnullable | Reconciled final injury designation for the roster row |
| position | stringnullable | — |
| pre_game_confirmed | booleannullable | Pre-tip lineup confidence from source (e.g. RotoWire confirmed vs expected) |
| pre_game_injury_status | stringnullable | Pre-tip injury designation: OUT, DOUBTFUL, QUESTIONABLE, PROBABLE |
| pre_game_starter | booleannullable | Pre-tip expected starter flag from lineup sources |
| pre_game_status | integernullable | Pre-tip roster availability: 1=Active, 2=Inactive, 3=Out |
| starter | booleannullable | Whether the player was in the starting five (reconciled post-game) |
| status | integernullable | Reconciled final roster availability: 1=Active, 2=Inactive, 3=Out |
nba.game_team_stats70 fields· 2 refsendpoints →
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.
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| team_id | bigint | — |
| assist_percentage | decimal | — |
| assist_ratio | decimal | — |
| assists | integer | — |
| assists_to_turnovers | decimal | — |
| bench_pts | integer | — |
| blocks | integer | — |
| conference_rank | integer | Conference rank entering game |
| defensive_rating | decimal | — |
| defensive_rebound_percentage | decimal | — |
| defensive_rebounds | integer | — |
| effective_field_goal_percentage | decimal | — |
| estimated_defensive_rating | decimal | — |
| estimated_net_rating | decimal | — |
| estimated_offensive_rating | decimal | — |
| estimated_pace | decimal | — |
| fast_break_pts | integer | — |
| field_goal_percentage | decimal | — |
| field_goals_attempted | integer | — |
| field_goals_made | integer | — |
| fouls | integer | — |
| free_throw_attempt_rate | decimal | — |
| free_throw_percentage | decimal | — |
| free_throws_attempted | integer | — |
| free_throws_made | integer | — |
| loss | integer | — |
| losses | integer | Cumulative losses |
| minutes | integer | — |
| net_rating | decimal | — |
| offensive_rating | decimal | — |
| offensive_rebound_percentage | decimal | — |
| offensive_rebounds | integer | — |
| pace | decimal | — |
| pace_per40 | decimal | — |
| pct_ast_2pm | decimal | — |
| pct_ast_3pm | decimal | — |
| pct_ast_fgm | decimal | — |
| pct_fga_2pt | decimal | — |
| pct_fga_3pt | decimal | — |
| pct_pts_2pt | decimal | — |
| pct_pts_2pt_mr | decimal | — |
| pct_pts_3pt | decimal | — |
| pct_pts_fb | decimal | — |
| pct_pts_ft | decimal | — |
| pct_pts_off_tov | decimal | — |
| pct_pts_paint | decimal | — |
| pct_uast_2pm | decimal | — |
| pct_uast_3pm | decimal | — |
| pct_uast_fgm | decimal | — |
| player_impact_estimate | decimal | — |
| possessions | integer | — |
| pts | integer | — |
| pts_in_paint | integer | — |
| pts_off_turnovers | integer | — |
| rebound_percentage | decimal | — |
| rebounds | integer | — |
| second_chance_pts | integer | — |
| steals | integer | — |
| steals_to_turnovers | decimal | — |
| three_point_percentage | decimal | — |
| three_pointers_attempted | integer | — |
| three_pointers_made | integer | — |
| timeouts_remaining | integer | — |
| true_shooting_percentage | decimal | — |
| turnover_percentage | decimal | — |
| turnovers | integer | — |
| win | integer | — |
| wins | integer | Cumulative wins |
nba.operator_player_lookups6 fields· 3 refsendpoints →
How each sportsbook and fantasy operator names every NBA player — the mapping from each operator's player identifier to a unified player record.
- operator_id → main.operators
- operator_player_id → nba.players
- player_id → nba.players
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| operator_id | bigint | Operator id: 1 DraftKings, 2 FanDuel, 3 Yahoo, 13 sportsdata.io, 83 stats.nba.com. |
| operator_player_id | string | External player ID from operator |
| player_id | bigint | Internal nba.players.id reference |
| player_name | stringnullable | Player name for reconciliation |
| position | stringnullable | Position for reconciliation |
nba.play_by_plays21 fields· 5 refsendpoints →
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).
- game_id → nba.games
- player_id → nba.players
- player2_team_id → nba.teams
- player3_team_id → nba.teams
- team_id → nba.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| game_possession_id | bigint | — |
| play_id | string | — |
| player_id | bigintnullable | — |
| player2_id | bigintnullable | — |
| player2_team_id | bigintnullable | — |
| player3_id | bigintnullable | — |
| player3_team_id | bigintnullable | — |
| team_id | bigintnullable | — |
| end_clock | integernullable | — |
| event_seq | integer | — |
| event_sub_type | integer | — |
| event_type | integer | — |
| home_description | string | — |
| nba_event_num | integer | — |
| neutral_description | string | — |
| possession_seq | integer | — |
| start_clock | integer | — |
| time_actual | timestamptznullable | — |
| visitor_description | string | — |
nba.player_news16 fields· 2 refsendpoints →
News about NBA players — trades, injuries, lineup decisions, suspensions, and general beat-reporter updates.
- player_id → nba.players
- team_id → nba.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| external_id | stringnullable | — |
| player_id | bigintnullable | — |
| team_id | bigintnullable | — |
| ai_processed | boolean | — |
| analysis | stringnullable | — |
| author | stringnullable | — |
| category | stringnullable | injury, transaction, lineup, general |
| content | stringnullable | — |
| description | stringnullable | — |
| link | stringnullable | — |
| news_time | timestamptz | — |
| priority | integer | — |
| situational_impact | jsonbnullable | — |
| source | stringnullable | — |
| title | string | — |
nba.season_player_stats49 fields· 2 refsendpoints →
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).
- player_id → nba.players
- season_id → nba.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| season_id | bigint | — |
| assist_percentage | decimal | — |
| assist_ratio | decimal | — |
| assist_to_turnover | decimal | — |
| assists | integer | — |
| avg_dribbles_per_touch | decimal | — |
| avg_seconds_per_touch | decimal | — |
| blocks | integer | — |
| defensive_rating | decimal | — |
| defensive_rebound_percentage | decimal | — |
| defensive_rebounds | integer | — |
| double_doubles | integer | — |
| effective_field_goal_percentage | decimal | — |
| field_goal_percentage | decimal | — |
| field_goals_attempted | integer | — |
| field_goals_made | integer | — |
| fouls | integer | — |
| free_throw_percentage | decimal | — |
| free_throws_attempted | integer | — |
| free_throws_made | integer | — |
| front_court_touches | integer | — |
| games_played | integer | — |
| losses | integer | — |
| minutes | decimal | — |
| net_rating | decimal | — |
| offensive_rating | decimal | — |
| offensive_rebound_percentage | decimal | — |
| offensive_rebounds | integer | — |
| pace | decimal | — |
| player_impact_estimate | decimal | — |
| plus_minus | integer | — |
| possessions | integer | — |
| pts | integer | — |
| rebound_percentage | decimal | — |
| rebounds | integer | — |
| steals | integer | — |
| three_point_percentage | decimal | — |
| three_pointers_attempted | integer | — |
| three_pointers_made | integer | — |
| time_of_possession | decimal | — |
| touches | integer | — |
| triple_doubles | integer | — |
| true_shooting_percentage | decimal | — |
| turnover_percentage | decimal | — |
| turnovers | integer | — |
| usage_percentage | decimal | — |
| wins | integer | — |
nba.team_depth_charts8 fields· 3 refsendpoints →
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.
- player_id → nba.players
- season_id → nba.seasons
- team_id → nba.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| season_id | bigint | — |
| team_id | bigint | — |
| day | integer | YYYYMMDD snapshot day |
| depth_rank | integer | 1-based rank within position (1 = starter) |
| injury_status | stringnullable | Day-To-Day, Out, etc. from ESPN |
| position | string | PG, SG, SF, PF, C |
nba.team_game_contexts20 fields· 4 refsendpoints →
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.
- game_id → nba.games
- opponent_team_id → nba.teams
- season_id → nba.seasons
- team_id → nba.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| opponent_team_id | bigint | — |
| season_id | bigint | — |
| team_id | bigint | — |
| conference_rank | integer | — |
| game_type | string | regular, playoff, play_in, ist_group, ist_knockout, preseason, allstar |
| games_remaining | integer | — |
| intensity | integer | 1-10 motivation intensity scale |
| is_back_to_back | boolean | — |
| is_clinch | boolean | — |
| is_elimination | boolean | — |
| ist_group_rank | integernullable | — |
| ist_group_record | stringnullable | e.g. 2-1 |
| motivation | string | 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 |
| rest_days | integer | — |
| season_pct | decimal | 0.0-1.0 how far through regular season |
| season_phase | string | early, mid, late, final_push, postseason |
| team_series_wins | integer | — |
| win_pct | decimal | — |
MLB38 tables
mlb.seasons9 fields· 14 referenced-byendpoints →
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.
- mlb.park_factors.season_id
- mlb.season_run_environments.season_id
- mlb.woba_weights.season_id
- mlb.games.season_id
- mlb.playoffs.season_id
- mlb.season_team_stats.season_id
- mlb.series_odds.season_id
- mlb.game_lines.season_id
- mlb.game_period_lines.season_id
- mlb.game_player_props.season_id
- mlb.player_awards.season_id
- mlb.player_injuries.season_id
- mlb.season_player_stats.season_id
- mlb.team_player_rosters.season_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| league_id | stringnullable | Official MLB season identifier |
| short_id | string | — |
| description | stringnullable | — |
| end_date | timestamptznullable | — |
| post_season_start_date | timestamptznullable | — |
| regular_season_start_date | timestamptznullable | — |
| start_date | timestamptz | — |
| start_year | integer | — |
mlb.venues21 fields· 1 refs· 7 referenced-byendpoints →
MLB ballparks — current home stadiums and historical venues, with dimensions, surface, capacity, and roof type.
- league_venue_id → mlb.venues
- mlb.venues.league_venue_id
- mlb.teams.venue_id
- mlb.park_factors.venue_id
- mlb.venue_dimensions.mlb_venue_id
- mlb.venue_dimensions.venue_id
- mlb.games.venue_id
- mlb.venue_weathers.venue_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| league_venue_id | integernullable | Official MLB venue ID from statsapi.mlb.com |
| address | stringnullable | — |
| capacity | integernullable | — |
| city | string | — |
| closed_date | timestamptznullable | — |
| country | stringnullable | — |
| description | stringnullable | — |
| elevation | floatnullable | Elevation in feet above sea level |
| hr_factor | decimalnullable | Historical home run park factor (1.0 = neutral) |
| image_url | stringnullable | URL to aerial/overview image of ballpark |
| latitude | floatnullable | — |
| longitude | floatnullable | — |
| name | string | — |
| opened_date | timestamptznullable | — |
| orientation | floatnullable | Field orientation in degrees (0-360). Direction home plate faces. 0/360=North, 90=East, 180=South, 270=West |
| roof_type | stringnullable | Open, Dome, Retractable |
| state | stringnullable | — |
| surface | stringnullable | — |
| team_name | stringnullable | — |
| timezone | stringnullable | IANA timezone (e.g., America/New_York) |
mlb.umpires11 fields· 1 refs· 2 referenced-byendpoints →
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).
- mlb_umpire_id → mlb.umpires
- mlb.umpires.mlb_umpire_id
- mlb.game_umpires.umpire_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| mlb_umpire_id | integer | — |
| active | boolean | — |
| birth_city | stringnullable | — |
| birth_country | stringnullable | — |
| birth_date | datenullable | — |
| birth_state | stringnullable | — |
| experience | integernullable | — |
| first_name | string | — |
| full_name | string | — |
| last_name | string | — |
mlb.teams11 fields· 2 refs· 22 referenced-byendpoints →
The 30 MLB franchises, organized into the American and National Leagues with three divisions in each.
- league_team_id → mlb.teams
- venue_id → mlb.venues
- mlb.teams.league_team_id
- mlb.games.away_team_id
- mlb.games.home_team_id
- mlb.players.team_id
- mlb.broadcasters.broadcaster_team_id
- mlb.operator_team_lookups.operator_team_id
- mlb.operator_team_lookups.team_id
- mlb.playoffs.away_team_id
- mlb.playoffs.home_team_id
- mlb.season_team_stats.team_id
- mlb.series_odds.away_team_id
- mlb.series_odds.home_team_id
- mlb.game_player_batter_stats.team_id
- mlb.game_player_pitching_stats.team_id
- mlb.game_team_rosters.team_id
- mlb.game_team_stats.team_id
- mlb.player_awards.team_id
- mlb.player_injuries.team_id
- mlb.player_news.team_id
- mlb.team_player_rosters.team_id
- mlb.team_starting_lineups.team_id
- mlb.play_by_plays.team_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| league_team_id | integernullable | Official MLB team ID from statsapi.mlb.com |
| venue_id | bigintnullable | — |
| abbreviation | string | — |
| active | boolean | — |
| city | string | — |
| division | string | — |
| full_name | string | — |
| league | string | — |
| logo_url | stringnullable | URL to team logo image |
| name | string | — |
mlb.park_factors18 fields· 2 refsendpoints →
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.
- season_id → mlb.seasons
- venue_id → mlb.venues
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| season_id | bigint | — |
| venue_id | bigint | — |
| basic_park_factor | decimal | Overall park factor for runs (1.0 = neutral) |
| double_factor | decimal | Park factor for doubles |
| fly_ball_factor | decimalnullable | Park factor for fly balls |
| ground_ball_factor | decimalnullable | Park factor for ground balls |
| handedness_factor | decimal | Park effect on handedness advantage |
| home_run_factor | decimal | Park factor for home runs (1.0 = neutral) |
| left_handed_factor | decimal | Park factor for left-handed batters |
| right_handed_factor | decimal | Park factor for right-handed batters |
| run_factor | decimalnullable | Park factor for total runs |
| single_factor | decimal | Park factor for singles |
| strikeout_factor | decimal | Park factor for strikeouts |
| triple_factor | decimal | Park factor for triples |
| updated_date | timestamptz | — |
| walk_factor | decimal | Park factor for walks |
| years_of_data | integer | Number of years used to calculate factors |
mlb.season_run_environments10 fields· 1 refsendpoints →
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.
- season_id → mlb.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| season_id | bigint | — |
| batting_average_on_balls_in_play | decimal | League average BABIP |
| fip_constant | decimal | FIP constant to scale FIP to ERA |
| home_run_per_fly_ball | decimal | League average HR/FB rate |
| runs_per_out | decimal | League average runs per out made |
| runs_per_plate_appearance | decimal | League average runs per plate appearance |
| strikeout_rate | decimal | League average strikeout rate |
| updated_date | timestamptz | — |
| walk_rate | decimal | League average walk rate |
mlb.venue_dimensions21 fields· 2 refsendpoints →
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.
- mlb_venue_id → mlb.venues
- venue_id → mlb.venues
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| mlb_venue_id | integer | — |
| venue_id | bigint | — |
| altitude_ft | floatnullable | Venue altitude in feet (denormalized from venue for query convenience) |
| backstop_distance | floatnullable | Distance from home plate to backstop (feet) |
| center_field | float | — |
| center_field_fence_height | float | — |
| description | stringnullable | — |
| fair_territory_sq_ft | floatnullable | — |
| foul_territory_rating | decimalnullable | Relative foul territory size (1.0 = average, >1 = large) |
| foul_territory_sq_ft | floatnullable | — |
| left_center_field | floatnullable | — |
| left_field | float | — |
| left_field_fence_height | float | — |
| orientation | float | — |
| right_center_field | floatnullable | — |
| right_field | float | — |
| right_field_fence_height | float | — |
| total_territory_sq_ft | floatnullable | — |
| venue_name | stringnullable | — |
| year | integer | — |
mlb.woba_weights12 fields· 1 refsendpoints →
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+.
- season_id → mlb.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| season_id | bigint | — |
| double_weight | decimal | Weight for doubles (w2B) |
| hit_by_pitch_weight | decimal | Weight for hit by pitch (wHBP) |
| home_run_weight | decimal | Weight for home runs (wHR) |
| league_obp | decimal | League average OBP for calibration |
| league_woba | decimal | League average wOBA for the season |
| single_weight | decimal | Weight for singles (w1B) |
| triple_weight | decimal | Weight for triples (w3B) |
| updated_date | timestamptz | When these weights were last updated |
| walk_weight | decimal | Weight for unintentional walks (wBB) |
| woba_scale | decimal | Scale factor to convert wOBA to runs |
mlb.games31 fields· 5 refs· 17 referenced-byendpoints →
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.
- away_team_id → mlb.teams
- home_team_id → mlb.teams
- league_game_id → mlb.games
- season_id → mlb.seasons
- venue_id → mlb.venues
- mlb.games.league_game_id
- mlb.innings.game_id
- mlb.game_alt_lines.game_id
- mlb.game_broadcasters.game_id
- mlb.game_lines.game_id
- mlb.game_period_lines.game_id
- mlb.game_player_batter_stats.game_id
- mlb.game_player_pitching_stats.game_id
- mlb.game_player_props.game_id
- mlb.game_team_rosters.game_id
- mlb.game_team_stats.game_id
- mlb.game_umpires.game_id
- mlb.pitches.game_id
- mlb.team_starting_lineups.game_id
- mlb.venue_weathers.game_id
- mlb.at_bats.game_id
- mlb.play_by_plays.game_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| away_team_id | bigint | — |
| home_team_id | bigint | — |
| league_game_id | integernullable | Official MLB gamePk from statsapi.mlb.com |
| league_id | stringnullable | Official MLB game identifier |
| losing_pitcher_id | bigintnullable | Losing pitcher of record |
| save_pitcher_id | bigintnullable | Save pitcher (if any) |
| season_id | bigint | — |
| venue_id | bigintnullable | — |
| winning_pitcher_id | bigintnullable | Winning pitcher of record |
| attendance | integernullable | — |
| away_team_score | integer | — |
| channel | stringnullable | — |
| day | integer | — |
| day_night | stringnullable | D=Day, N=Night |
| doubleheader | boolean | — |
| duration_minutes | integernullable | Total game duration in minutes |
| end_time | timestamptznullable | — |
| game_label | stringnullable | — |
| game_number | integer | For doubleheaders: 1 or 2 |
| game_time | timestamptz | Canonical game start time (use this over start_time) |
| game_type | string | R=Regular, S=Spring, F=Wild Card, D=Division, L=League, W=World Series, E=Exhibition, A=All-Star |
| home_team_score | integer | — |
| if_necessary | booleannullable | — |
| neutral_venue | boolean | — |
| postponed_status | stringnullable | — |
| season_type | string | Regular Season, Postseason, Spring Training, All-Star |
| series_game_number | stringnullable | — |
| series_name | stringnullable | — |
| series_text | stringnullable | — |
| status | string | Final, Live, Scheduled, Postponed, Suspended, Cancelled |
mlb.players30 fields· 2 refs· 14 referenced-byendpoints →
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.
- league_player_id → mlb.players
- team_id → mlb.teams
- mlb.players.league_player_id
- mlb.game_player_batter_stats.player_id
- mlb.game_player_pitching_stats.player_id
- mlb.game_player_props.player_id
- mlb.game_team_rosters.player_id
- mlb.operator_player_lookups.operator_player_id
- mlb.operator_player_lookups.player_id
- mlb.player_awards.player_id
- mlb.player_injuries.player_id
- mlb.player_news.player_id
- mlb.season_player_stats.player_id
- mlb.team_player_rosters.player_id
- mlb.team_starting_lineup_batters.player_id
- mlb.play_by_plays.player_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| league_id | stringnullable | Official MLB player identifier |
| league_player_id | integer | Official MLB player ID from statsapi.mlb.com |
| team_id | bigintnullable | — |
| bats | stringnullable | — |
| birth_city | stringnullable | — |
| birth_country | stringnullable | — |
| birth_date | datenullable | — |
| birth_state | stringnullable | — |
| debut_date | timestamptznullable | — |
| display_fi_last | stringnullable | — |
| display_last_comma_first | stringnullable | — |
| draft_number | stringnullable | — |
| draft_round | stringnullable | — |
| draft_year | stringnullable | — |
| first_name | string | — |
| full_name | string | — |
| full_position_list | stringnullable | — |
| height | integernullable | — |
| jersey | stringnullable | — |
| last_name | string | — |
| league_slug | stringnullable | — |
| position_category | stringnullable | — |
| primary_position | string | — |
| profile_pic_url | stringnullable | URL to player profile picture image |
| roster_status | stringnullable | — |
| school | stringnullable | — |
| status | stringnullable | — |
| throws | stringnullable | — |
| weight | integernullable | — |
mlb.broadcasters12 fields· 2 refs· 2 referenced-byendpoints →
Networks, regional sports networks, and streaming services that air MLB games — Apple TV+, ESPN, FOX, TBS, MLB Network, MLB.TV, plus team-local RSNs.
- broadcaster_id → mlb.broadcasters
- broadcaster_team_id → mlb.teams
- mlb.broadcasters.broadcaster_id
- mlb.game_broadcasters.broadcaster_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| broadcaster_id | integer | — |
| broadcaster_team_id | integer | — |
| region_id | integer | — |
| broadcaster_abbreviation | string | — |
| broadcaster_description | stringnullable | — |
| broadcaster_display | string | — |
| broadcaster_media | string | — |
| broadcaster_ranking | integer | — |
| broadcaster_scope | string | — |
| broadcaster_video_link | stringnullable | — |
| tape_delay_comments | stringnullable | — |
mlb.operator_team_lookups6 fields· 3 refsendpoints →
How each sportsbook and fantasy operator names every MLB team — the mapping from each operator's team code to the unified franchise record.
- operator_id → main.operators
- operator_team_id → mlb.teams
- team_id → mlb.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| operator_id | bigint | Operator id: 1 DraftKings, 2 FanDuel, 3 Yahoo, 13 sportsdata.io. |
| operator_team_id | string | External team ID from operator |
| team_id | bigint | Internal mlb.teams.id reference |
| abbreviation | stringnullable | Team abbreviation for reconciliation |
| team_name | stringnullable | Team name for reconciliation |
mlb.playoffs12 fields· 3 refsendpoints →
The MLB postseason bracket — Wild Card Series, Division Series, League Championship Series, and the World Series, tracked as the seeded matchups and outcomes.
- away_team_id → mlb.teams
- home_team_id → mlb.teams
- season_id → mlb.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| away_team_id | bigint | — |
| home_team_id | bigint | — |
| season_id | bigint | — |
| series_id | bigint | — |
| away_team_wins | integer | — |
| games_played | integer | — |
| home_team_wins | integer | — |
| max_games | integer | — |
| series_name | string | — |
| series_text | string | — |
| status | string | — |
mlb.season_team_stats36 fields· 2 refsendpoints →
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).
- season_id → mlb.seasons
- team_id → mlb.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| season_id | bigint | — |
| team_id | bigint | — |
| at_bats | integer | — |
| batting_average | decimal | — |
| blown_saves | integer | — |
| caught_stealing | integer | — |
| complete_games | integer | — |
| double_plays | integer | — |
| doubles | integer | — |
| earned_run_average | decimal | — |
| earned_runs | integer | — |
| errors | integer | — |
| fielding_percentage | decimal | — |
| games_played | integer | — |
| hits | integer | — |
| holds | integer | — |
| home_runs | integer | — |
| innings_pitched | decimal | Innings pitched in MLB notation (6.2 = 6 and 2/3 innings) |
| losses | integer | — |
| on_base_percentage | decimal | — |
| on_base_plus_slugging | decimal | — |
| runs_allowed | integer | — |
| runs_batted_in | integer | — |
| runs_scored | integer | — |
| save_opportunities | integer | — |
| saves | integer | — |
| shutouts | integer | — |
| slugging_percentage | decimal | — |
| stolen_bases | integer | — |
| strikeouts | integer | — |
| ties | integer | — |
| triples | integer | — |
| walks | integer | — |
| whip | decimal | — |
| wins | integer | — |
mlb.series_odds11 fields· 4 refsendpoints →
Series-level odds for postseason MLB matchups — who wins each series and how many games it goes, with the price updating game by game as the series unfolds. MLB playoff series are best-of-5 (LDS/WC) or best-of-7 (LCS/WS).
- away_team_id → mlb.teams
- home_team_id → mlb.teams
- operator_id → main.operators
- season_id → mlb.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| away_team_id | bigint | — |
| home_team_id | bigint | — |
| operator_id | bigint | — |
| season_id | bigint | — |
| away_odds | integer | American odds for away team to win series |
| captured_at | timestamptz | — |
| games_played | integernullable | — |
| home_odds | integer | American odds for home team to win series |
| series_name | string | ALDS, NLDS, ALCS, NLCS, World Series, Wild Card |
| series_score | stringnullable | Current series score (e.g., "3-2" home-away) |
mlb.innings10 fields· 1 refs· 2 referenced-byendpoints →
Each half-inning of every MLB game — runs scored, hits, errors, base traffic, plate appearances, who pitched, and how the offense ended each frame.
- game_id → mlb.games
- mlb.at_bats.inning_id
- mlb.play_by_plays.inning_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| away_team_errors | integer | — |
| away_team_hits | integer | — |
| away_team_runs | integer | — |
| home_team_errors | integer | — |
| home_team_hits | integer | — |
| home_team_runs | integer | — |
| inning_half | string | — |
| inning_number | integer | — |
mlb.game_alt_lines6 fields· 2 refsendpoints →
Alternate MLB game lines — the full ladder of run-line and total offerings at non-standard prices that sportsbooks publish alongside the headline line.
- game_id → mlb.games
- operator_id → main.operators
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| operator_id | bigint | — |
| alt_spreads | jsonbnullable | Array of {line, home_odds, away_odds} |
| alt_totals | jsonbnullable | Array of {line, over_odds, under_odds} |
| captured_at | timestamptz | — |
mlb.game_broadcasters4 fields· 2 refsendpoints →
Which networks broadcast each MLB game — the national TV partner, regional carriers, radio calls, and streaming providers.
- broadcaster_id → mlb.broadcasters
- game_id → mlb.games
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| broadcaster_id | bigint | — |
| game_id | bigint | — |
| broadcaster_type | string | — |
mlb.game_lines18 fields· 3 refsendpoints →
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).
- game_id → mlb.games
- operator_id → main.operators
- season_id → mlb.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| operator_id | bigint | Data source (consensus, DraftKings, FanDuel, etc.) |
| season_id | bigint | Denormalized for efficient season-level queries |
| captured_at | timestamptz | When this snapshot was captured |
| implied_away_score | decimalnullable | — |
| implied_away_win_pct | decimalnullable | — |
| implied_home_score | decimalnullable | Calculated from spread + total |
| implied_home_win_pct | decimalnullable | From moneyline, 0-1 |
| is_opening | boolean | True if this is the opening line |
| moneyline_away | integernullable | American odds for away team win |
| moneyline_home | integernullable | American odds for home team win |
| over_odds | integernullable | American odds for over |
| spread | decimalnullable | Home team run line (e.g., -1.5 means home favored by 1.5 runs) |
| spread_away_odds | integernullable | American odds for away run line |
| spread_home_odds | integernullable | American odds for home run line (e.g., -130) |
| total | decimalnullable | Combined run total line (e.g., 8.5) |
| under_odds | integernullable | American odds for under |
mlb.game_period_lines17 fields· 3 refsendpoints →
Period-specific MLB betting lines — first-five-innings markets (F5), individual-inning bets, and other partial-game spreads, moneylines, and totals. Each row is a time-series snapshot - only captured when values change.
- game_id → mlb.games
- operator_id → main.operators
- season_id → mlb.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| operator_id | bigint | Data source (consensus, DraftKings, FanDuel, etc.) |
| season_id | bigint | Denormalized for efficient season-level queries |
| captured_at | timestamptz | — |
| implied_away_win_pct | decimalnullable | — |
| implied_home_win_pct | decimalnullable | — |
| is_opening | boolean | — |
| moneyline_away | integernullable | — |
| moneyline_home | integernullable | — |
| over_odds | integernullable | — |
| period_code | string | Market period code (F5 = first 5 innings, F3, F7) |
| spread | decimalnullable | Home team run line for this period |
| spread_away_odds | integernullable | — |
| spread_home_odds | integernullable | — |
| total | decimalnullable | Combined run total line for this period |
| under_odds | integernullable | — |
mlb.game_player_batter_stats42 fields· 3 refsendpoints →
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.
- game_id → mlb.games
- player_id → mlb.players
- team_id → mlb.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| player_id | bigint | — |
| team_id | bigint | — |
| air_outs | integer | — |
| at_bats | integer | — |
| at_bats_per_home_run | decimal | — |
| babip | decimal | — |
| balls_in_play | integer | — |
| batting_average | decimal | — |
| catchers_interference | integer | — |
| caught_stealing | integer | — |
| double_plays | integer | — |
| doubles | integer | — |
| fly_outs | integer | — |
| ground_into_double_play | integer | — |
| ground_into_triple_play | integer | — |
| ground_outs | integer | — |
| hit_by_pitch | integer | — |
| hits | integer | — |
| home_runs | integer | — |
| intentional_walks | integer | — |
| isolated_power | decimal | — |
| left_on_base | integer | — |
| line_outs | integer | — |
| on_base_percentage | decimal | — |
| on_base_plus_slugging | decimal | — |
| pickoffs | integer | — |
| plate_appearances | integer | — |
| pop_outs | integer | — |
| runs | integer | — |
| runs_batted_in | integer | — |
| sacrifice_flies | integer | — |
| sacrifices | integer | — |
| singles | integer | — |
| slugging_percentage | decimal | — |
| stolen_bases | integer | — |
| strikeouts | integer | — |
| total_bases | integer | — |
| triples | integer | — |
| walks | integer | — |
| woba | decimal | — |
mlb.game_player_pitching_stats68 fields· 3 refsendpoints →
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.
- game_id → mlb.games
- player_id → mlb.players
- team_id → mlb.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| player_id | bigint | — |
| team_id | bigint | — |
| air_outs | integer | — |
| babip | decimal | — |
| balks | integer | — |
| balls | integer | — |
| balls_in_play | integer | — |
| batters_faced | integer | — |
| blown_save | integer | — |
| catchers_interference | integer | — |
| complete_games | integer | — |
| double_plays | integer | — |
| doubles_allowed | integer | — |
| earned_run_average | decimal | — |
| earned_runs | integer | — |
| fip | decimal | — |
| fly_outs | integer | — |
| games_finished | integer | — |
| games_pitched | integer | — |
| games_started | integer | — |
| grand_slams_allowed | integer | — |
| ground_into_double_play | integer | — |
| ground_outs | integer | — |
| hit_by_pitch | integer | — |
| hits_allowed | integer | — |
| hold | integer | — |
| home_runs_allowed | integer | — |
| home_runs_per_nine | decimal | — |
| inherited_runners | integer | — |
| inherited_runners_scored | integer | — |
| inning_started | integer | — |
| innings_pitched | decimal | Innings pitched in MLB notation (6.2 = 6 and 2/3 innings) |
| intentional_walks | integer | — |
| left_on_base | decimal | — |
| line_outs | integer | — |
| loss | integer | — |
| no_hitters | integer | — |
| on_base_percentage | decimal | — |
| on_base_plus_slugging | decimal | — |
| outs | integer | — |
| perfect_games | integer | — |
| pickoffs | integer | — |
| pitches_thrown | integer | — |
| plate_appearances | integer | — |
| pop_outs | integer | — |
| quality_starts | integer | — |
| runs_allowed | integer | — |
| runs_scored_per_nine | decimal | — |
| sacrifice_flies_allowed | integer | — |
| sacrifices_allowed | integer | — |
| save | integer | — |
| shutouts | integer | — |
| singles_allowed | integer | — |
| slugging_percentage | decimal | — |
| strike_percentage | decimal | — |
| strikeouts_per_nine | decimal | — |
| strikeouts_pitched | integer | — |
| strikes | integer | — |
| total_bases_allowed | integer | — |
| triples_allowed | integer | — |
| walks_allowed | integer | — |
| walks_per_nine | decimal | — |
| whip | decimal | — |
| wild_pitches | integer | — |
| win | integer | — |
| woba | decimal | — |
mlb.game_player_props18 fields· 4 refsendpoints →
MLB player prop bets for each game — hits, runs, RBIs, total bases, home runs, strikeouts (for pitchers), and other player-statistic markets offered by sportsbooks.
- game_id → mlb.games
- operator_id → main.operators
- player_id → mlb.players
- season_id → mlb.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| operator_id | bigint | — |
| player_id | bigint | — |
| season_id | bigint | Denormalized for efficient season-level queries |
| book_count | integer | Number of curated books contributing to this consensus value |
| captured_at | timestamptz | — |
| category | string | Canonical category. Pitcher props: - strikeouts_pitcher, hits_allowed, walks_allowed, - earned_runs, outs_recorded, pitching_outs, win, quality_start Batter props: - hits, home_runs, rbis, total_bases, runs, walks, - stolen_bases, strikeouts_batter, hits_runs_rbis |
| is_opening | boolean | — |
| line | decimalnullable | Prop line for over/under markets (e.g., 5.5 strikeouts) |
| market_key | string | Raw market key from source API (e.g., pitcher_strikeouts) |
| no_odds | integernullable | — |
| outcome_type | string | ou | yes_no |
| over_odds | integernullable | — |
| period_code | stringnullable | Optional period code (F5) |
| subcategory | stringnullable | Optional subtype (alternate, boosted, etc.) |
| under_odds | integernullable | — |
| yes_odds | integernullable | — |
mlb.game_team_rosters10 fields· 3 refsendpoints →
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.
- game_id → mlb.games
- player_id → mlb.players
- team_id → mlb.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| player_id | bigint | — |
| team_id | bigint | — |
| batting_order | integernullable | — |
| comment | stringnullable | — |
| day | integer | — |
| position | stringnullable | — |
| starter | boolean | — |
| status | stringnullable | — |
mlb.game_team_stats37 fields· 2 refsendpoints →
Each MLB team's stat line for each game — runs, hits, errors, batting averages, pitching lines, broken out per game with home/away context.
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| team_id | bigint | — |
| assists | integer | — |
| balks | integer | — |
| batters_faced | integer | — |
| batting_average | decimal | — |
| caught_stealing | integer | — |
| double_plays_turned | integer | — |
| doubles | integer | — |
| earned_run_average | decimal | — |
| earned_runs | integer | — |
| errors | integer | — |
| grounded_into_double_play | integer | — |
| hit_by_pitch | integer | — |
| hits | integer | — |
| home_runs | integer | — |
| innings_pitched | decimal | Innings pitched in MLB notation (6.2 = 6 and 2/3 innings) |
| left_on_base | integer | — |
| loss | integer | — |
| on_base_percentage | decimal | — |
| on_base_plus_slugging | decimal | — |
| passed_balls | integer | — |
| pitches_thrown | integer | — |
| putouts | integer | — |
| runs | integer | — |
| runs_batted_in | integer | — |
| sacrifice_flies | integer | — |
| sacrifice_hits | integer | — |
| slugging_percentage | decimal | — |
| stolen_bases | integer | — |
| strikeouts | integer | — |
| strikes | integer | — |
| triples | integer | — |
| walks | integer | — |
| wild_pitches | integer | — |
| win | integer | — |
mlb.game_umpires4 fields· 2 refsendpoints →
The umpiring crew assigned to each MLB game — who worked home plate, who worked each base.
- game_id → mlb.games
- umpire_id → mlb.umpires
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| umpire_id | bigint | — |
| position | stringnullable | — |
mlb.operator_player_lookups6 fields· 3 refsendpoints →
How each sportsbook and fantasy operator names every MLB player — the mapping from each operator's player identifier to a unified player record.
- operator_id → main.operators
- operator_player_id → mlb.players
- player_id → mlb.players
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| operator_id | bigint | Operator id: 1 DraftKings, 2 FanDuel, 3 Yahoo, 13 sportsdata.io. |
| operator_player_id | string | External player ID from operator |
| player_id | bigint | Internal mlb.players.id reference |
| player_name | stringnullable | Player name for reconciliation |
| position | stringnullable | Position for reconciliation |
mlb.pitches72 fields· 1 refsendpoints →
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).
- game_id → mlb.games
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| at_bat_id | bigint | — |
| batter_id | bigint | — |
| game_id | bigint | — |
| pitcher_id | bigint | — |
| play_id | bigint | — |
| air_out | boolean | Whether this pitch resulted in an air out |
| ball | boolean | — |
| barrel | booleannullable | Optimal combination of exit velocity and launch angle |
| break_angle | floatnullable | — |
| break_length | floatnullable | — |
| break_y | floatnullable | — |
| breaking_ball | booleannullable | Breaking ball (curveball, slider, knuckleball) |
| call | string | — |
| catchers_interference | boolean | Whether this pitch resulted in catchers interference |
| chase | booleannullable | Whether batter swung at pitch outside zone |
| double | boolean | Whether this pitch resulted in a double |
| effective_speed | floatnullable | Perceived speed to batter (mph) |
| expected_batting_avg | decimalnullable | xBA based on exit velocity and launch angle |
| expected_woba | decimalnullable | xwOBA based on exit velocity and launch angle |
| extension | floatnullable | — |
| fastball | booleannullable | Fastball variant (4-seam, 2-seam, sinker, cutter) |
| flare_burner | booleannullable | Launch angle 10-25 AND exit velocity < 95 |
| fly_out | boolean | Whether this pitch resulted in a fly out |
| ground_into_double_play | boolean | Whether this pitch resulted in grounding into double play |
| ground_into_triple_play | boolean | Whether this pitch resulted in grounding into triple play |
| ground_out | boolean | Whether this pitch resulted in a ground out |
| hard_hit | booleannullable | Exit velocity >= 95 MPH |
| hit_by_pitch | boolean | Whether this pitch resulted in hit by pitch |
| hit_coord_x | floatnullable | Hit coordinate X (feet from home plate) |
| hit_coord_y | floatnullable | Hit coordinate Y (feet from home plate) |
| hit_distance | integernullable | Distance of batted ball (feet) |
| hit_exit_velocity | floatnullable | Exit velocity of batted ball (mph) |
| hit_launch_angle | floatnullable | Launch angle of batted ball (degrees) |
| home_run | boolean | Whether this pitch resulted in a home run |
| in_play | boolean | — |
| in_strike_zone | booleannullable | Whether pitch was in the strike zone |
| intentional_walk | boolean | Whether this pitch resulted in an intentional walk |
| launch_speed_angle_zone | integernullable | 1=Weak, 2=Topped, 3=Under, 4=Flare/Burner, 5=Solid, 6=Barrel |
| line_out | boolean | Whether this pitch resulted in a line out |
| offspeed | booleannullable | Offspeed pitch (changeup, splitter, forkball) |
| pitch_number | integer | — |
| pitch_speed | floatnullable | — |
| pitch_type | stringnullable | — |
| pitch_x | floatnullable | — |
| pitch_y | floatnullable | — |
| pitch_z | floatnullable | — |
| pitch_zone | integernullable | — |
| plate_x | floatnullable | — |
| plate_z | floatnullable | — |
| pop_out | boolean | Whether this pitch resulted in a pop out |
| release_speed | floatnullable | Speed at release point (mph) |
| result | string | — |
| sacrifice_fly | boolean | Whether this pitch resulted in a sacrifice fly |
| sacrifice_hit | boolean | Whether this pitch resulted in a sacrifice bunt |
| single | boolean | Whether this pitch resulted in a single |
| solid_contact | booleannullable | Launch angle 20-25 AND exit velocity 95-100 |
| spin_axis | floatnullable | Spin axis (degrees) |
| spin_direction | floatnullable | — |
| spin_rate | floatnullable | — |
| spray_angle | floatnullable | Horizontal angle from center field (degrees) |
| statcast_quality_score | decimalnullable | Statcast data quality score (0.0-1.0) |
| strike | boolean | — |
| strike_zone_bottom | floatnullable | — |
| strike_zone_top | floatnullable | — |
| strikeout | boolean | Whether this pitch resulted in a strikeout |
| sweet_spot | booleannullable | Launch angle between 8-32 degrees |
| topped | booleannullable | Launch angle < 10 AND exit velocity < 90 |
| tracking_confidence | decimalnullable | Confidence in tracking data accuracy |
| triple | boolean | Whether this pitch resulted in a triple |
| under | booleannullable | Launch angle less than 10 degrees |
| walk | boolean | Whether this pitch resulted in a walk |
mlb.player_awards8 fields· 3 refsendpoints →
MLB player awards — MVP, Cy Young, Rookie of the Year, Gold Gloves, Silver Sluggers, All-Star selections, and other end-of-season honors.
- player_id → mlb.players
- season_id → mlb.seasons
- team_id → mlb.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| season_id | bigint | — |
| team_id | bigintnullable | — |
| award_date | datenullable | Date the award was announced |
| award_name | string | — |
| award_type | string | — |
| is_winner | boolean | statsapi publishes recipients (winners) only — always true |
mlb.player_injuries16 fields· 3 refsendpoints →
The ongoing injury record for each MLB player — body part, severity, IL designation (10-day, 15-day, 60-day), and expected return timeline.
- player_id → mlb.players
- season_id → mlb.seasons
- team_id → mlb.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| season_id | bigint | — |
| team_id | bigint | — |
| body_part | string | — |
| description | stringnullable | — |
| end_date | timestamptznullable | — |
| expected_return_date | timestamptznullable | — |
| games_missed | integernullable | — |
| injury_type | string | — |
| is_surgery_required | booleannullable | — |
| side | stringnullable | — |
| source | stringnullable | — |
| start_date | timestamptz | — |
| status | string | — |
| updated_date | timestamptz | — |
mlb.player_news17 fields· 2 refsendpoints →
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.
- player_id → mlb.players
- team_id → mlb.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| external_id | string | Source-specific unique identifier |
| player_id | bigintnullable | — |
| team_id | bigintnullable | — |
| ai_processed | boolean | — |
| analysis | stringnullable | — |
| author | stringnullable | — |
| category | stringnullable | injury, transaction, lineup, general |
| content | stringnullable | — |
| description | stringnullable | — |
| link | stringnullable | — |
| news_time | timestamptz | — |
| priority | integer | — |
| processed_at | timestamptznullable | — |
| situational_impact | jsonbnullable | — |
| source | string | News source identifier (cbs, espn, rotoworld, sportsdata, etc.) |
| title | string | — |
mlb.season_player_stats69 fields· 2 refsendpoints →
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.
- player_id → mlb.players
- season_id → mlb.seasons
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| season_id | bigint | — |
| assists | integer | — |
| at_bats | integer | — |
| balls | integernullable | — |
| batters_faced | integer | — |
| batting_average | decimal | — |
| blown_saves | integer | — |
| caught_stealing | integer | — |
| caught_stealing_by | integer | — |
| complete_games | integer | — |
| double_plays | integer | — |
| doubles | integer | — |
| earned_run_average | decimal | — |
| earned_runs | integer | — |
| errors | integer | — |
| fielding_games | integer | — |
| fielding_games_started | integer | — |
| fielding_percentage | decimal | — |
| fielding_position | string | — |
| games_pitched | integer | — |
| games_played | integer | — |
| games_started | integer | — |
| games_started_pitching | integer | — |
| grounded_into_double_play | integer | — |
| hit_by_pitch | integer | — |
| hits | integer | — |
| hits_allowed | integer | — |
| hits_per_nine | decimal | — |
| holds | integer | — |
| home_runs | integer | — |
| home_runs_allowed | integer | — |
| home_runs_per_nine | decimal | — |
| innings_pitched | decimal | Innings pitched in MLB notation (6.2 = 6 and 2/3 innings) |
| intentional_walks | integernullable | — |
| left_on_base | integernullable | — |
| losses | integer | — |
| on_base_percentage | decimal | — |
| on_base_plus_slugging | decimal | — |
| passed_balls | integer | — |
| pitches_thrown | integernullable | — |
| plate_appearances | integer | — |
| putouts | integer | — |
| quality_starts | integernullable | — |
| runs | integer | — |
| runs_allowed | integer | — |
| runs_batted_in | integer | — |
| sacrifice_flies | integer | — |
| sacrifice_hits | integer | — |
| save_opportunities | integer | — |
| saves | integer | — |
| shutouts | integer | — |
| singles | integernullable | Derivable from hits - doubles - triples - home_runs |
| slugging_percentage | decimal | — |
| stolen_bases | integer | — |
| stolen_bases_allowed | integer | — |
| strikeouts | integer | — |
| strikeouts_per_nine | decimal | — |
| strikeouts_pitched | integer | — |
| strikes | integernullable | — |
| total_bases | integernullable | Derivable: 1B + 2*2B + 3*3B + 4*HR |
| total_chances | integer | — |
| triples | integer | — |
| walks | integer | — |
| walks_allowed | integer | — |
| walks_per_nine | decimal | — |
| whip | decimal | — |
| wins | integer | — |
mlb.team_player_rosters9 fields· 3 refsendpoints →
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.
- player_id → mlb.players
- season_id → mlb.seasons
- team_id → mlb.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| season_id | bigint | — |
| team_id | bigint | — |
| day | integer | — |
| position | stringnullable | — |
| position_depth | integernullable | — |
| position_group | stringnullable | — |
| roster_type | string | — |
mlb.team_starting_lineup_batters5 fields· 1 refsendpoints →
Each batter in each MLB starting lineup — position in the order (1 through 9), defensive position, and batting handedness for the day.
- player_id → mlb.players
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| team_starting_lineup_id | bigint | — |
| batting_order | string | — |
| position | string | — |
mlb.team_starting_lineups6 fields· 2 refsendpoints →
Each MLB team's starting lineup for each game — the nine batters in batting order plus the starting pitcher (and DH where applicable).
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| pitcher_id | bigintnullable | — |
| team_id | bigint | — |
| batter_status | integer | — |
| pitcher_status | integer | — |
mlb.venue_weathers27 fields· 2 refsendpoints →
On-field weather throughout each MLB game — temperature, wind direction and speed, humidity, and precipitation captured at fixed intervals from first pitch.
- game_id → mlb.games
- venue_id → mlb.venues
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| venue_id | bigint | — |
| air_density | floatnullable | Calculated air density (lb/ft³) |
| ball_carry_factor | decimalnullable | Estimated ball carry factor (1.0 = neutral, >1 = carries more) |
| cloud_cover | floatnullable | — |
| dew_point | floatnullable | — |
| feels_like_temperature | floatnullable | — |
| humidity | floatnullable | — |
| is_dome | booleannullable | — |
| precipitation | floatnullable | — |
| precipitation_probability | floatnullable | — |
| pressure | floatnullable | — |
| recorded_at | timestamptznullable | — |
| roof_status | stringnullable | open, closed, retractable_open, retractable_closed |
| temperature | floatnullable | — |
| time_minutes | integer | Minutes from game start (0, 30, 60, 90, 120, 150, 180 for 3-hour game) |
| uv_index | floatnullable | — |
| visibility | floatnullable | — |
| weather_condition | stringnullable | — |
| weather_description | stringnullable | — |
| wind_blowing_out | booleannullable | True if wind is blowing from home plate toward outfield |
| wind_component_out | floatnullable | Wind speed component blowing out to CF (mph, negative = blowing in) |
| wind_direction | floatnullable | — |
| wind_direction_relative | floatnullable | Wind direction relative to batter's box (degrees) |
| wind_gust | floatnullable | — |
| wind_speed | floatnullable | — |
mlb.at_bats35 fields· 2 refsendpoints →
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.).
- game_id → mlb.games
- inning_id → mlb.innings
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| batter_id | bigint | — |
| game_id | bigint | — |
| inning_id | bigint | — |
| pitcher_id | bigint | — |
| at_bat_number | integer | — |
| balls | integer | — |
| end_outs | integer | — |
| end_runners | integer | — |
| expected_batting_avg | decimalnullable | — |
| expected_woba | decimalnullable | — |
| hit_coord_x | floatnullable | — |
| hit_coord_y | floatnullable | — |
| hit_distance | integernullable | — |
| hit_exit_velocity | floatnullable | — |
| hit_launch_angle | floatnullable | — |
| hit_location | stringnullable | — |
| hit_type | stringnullable | — |
| is_barrel | booleannullable | — |
| is_flare_burner | booleannullable | Launch angle 10-25 AND exit velocity < 95 |
| is_hard_hit | booleannullable | — |
| is_solid_contact | booleannullable | Launch angle 20-25 AND exit velocity 95-100 |
| is_sweet_spot | booleannullable | Launch angle between 8-32 degrees |
| is_topped | booleannullable | Launch angle < 10 AND exit velocity < 90 |
| is_under | booleannullable | Launch angle less than 10 degrees |
| launch_speed_angle_zone | integernullable | — |
| pitch_count | integer | — |
| result | string | — |
| runs_scored | integer | — |
| spray_angle | floatnullable | Horizontal angle from center field (degrees) |
| start_outs | integer | — |
| start_runners | integer | — |
| statcast_quality_score | decimalnullable | Statcast data quality score (0.0-1.0) |
| strikes | integer | — |
| tracking_confidence | decimalnullable | Confidence in tracking data accuracy |
mlb.play_by_plays22 fields· 4 refsendpoints →
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.
- game_id → mlb.games
- inning_id → mlb.innings
- player_id → mlb.players
- team_id → mlb.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| at_bat_id | bigintnullable | — |
| batter_id | bigintnullable | — |
| catcher_id | bigintnullable | — |
| first_base_runner_id | bigintnullable | — |
| game_id | bigint | — |
| inning_id | bigint | — |
| pitcher_id | bigintnullable | — |
| play_id | bigint | — |
| player_id | bigintnullable | — |
| second_base_runner_id | bigintnullable | — |
| team_id | bigint | — |
| third_base_runner_id | bigintnullable | — |
| count_balls | integer | — |
| count_strikes | integer | — |
| event_sub_type | integer | — |
| event_type | integer | — |
| hit_location | stringnullable | — |
| hit_type | stringnullable | — |
| mlb_event_num | integer | — |
| outs | integer | — |
| runners_on_base | integer | — |
NHL (coming soon)22 tables
nhl.seasons10 fields· 8 referenced-byendpoints →
Each NHL season — preseason exhibitions, the 82-game regular season, and the Stanley Cup Playoffs (Wild Card, Divisional, Conference Finals, Stanley Cup Finals).
- nhl.games.season_id
- nhl.line_combinations.season_id
- nhl.playoff_series.season_id
- nhl.season_team_stats.season_id
- nhl.standings.season_id
- nhl.goalie_depth_charts.season_id
- nhl.player_injuries.season_id
- nhl.season_player_stats.season_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| league_id | stringnullable | Official NHL season identifier |
| short_id | string | — |
| description | stringnullable | — |
| end_date | timestamptznullable | — |
| post_season_start_date | timestamptznullable | — |
| regular_season_start_date | timestamptznullable | — |
| stanley_cup_finals_date | timestamptznullable | — |
| start_date | timestamptz | — |
| start_year | integer | — |
nhl.arenas19 fields· 1 refs· 3 referenced-byendpoints →
NHL arenas — current home venues and historical buildings, with capacity, surface type, and ice-rink dimensions.
- league_arena_id → nhl.arenas
- nhl.arenas.league_arena_id
- nhl.teams.arena_id
- nhl.games.arena_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| league_arena_id | integernullable | Official NHL arena ID from api-web.nhle.com |
| address | stringnullable | — |
| capacity | integernullable | — |
| city | string | — |
| closed_date | timestamptznullable | — |
| country | stringnullable | — |
| description | stringnullable | — |
| elevation | floatnullable | Elevation in feet above sea level |
| image_url | stringnullable | URL to aerial/overview image of arena |
| latitude | floatnullable | — |
| longitude | floatnullable | — |
| name | string | — |
| opened_date | timestamptznullable | — |
| roof_type | stringnullable | Arena roof type (all indoor) |
| state | stringnullable | — |
| surface | string | Playing surface type |
| team_name | stringnullable | — |
| timezone | stringnullable | IANA timezone (e.g., America/New_York) |
nhl.teams18 fields· 2 refs· 23 referenced-byendpoints →
The 32 NHL franchises, organized into the Eastern and Western Conferences with two divisions each (Atlantic, Metropolitan, Central, Pacific).
- arena_id → nhl.arenas
- league_team_id → nhl.teams
- nhl.teams.league_team_id
- nhl.players.draft_team_id
- nhl.players.team_id
- nhl.games.away_team_id
- nhl.games.home_team_id
- nhl.line_combinations.team_id
- nhl.operator_team_lookups.operator_team_id
- nhl.operator_team_lookups.team_id
- nhl.playoff_series.away_team_id
- nhl.playoff_series.home_team_id
- nhl.playoff_series.winner_team_id
- nhl.season_team_stats.team_id
- nhl.standings.team_id
- nhl.draft_picks.original_team_id
- nhl.draft_picks.team_id
- nhl.game_player_stats.team_id
- nhl.game_team_stats.team_id
- nhl.goalie_depth_charts.team_id
- nhl.penalties.team_id
- nhl.player_injuries.team_id
- nhl.player_news.team_id
- nhl.scoring_plays.team_id
- nhl.season_player_stats.team_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| arena_id | bigintnullable | — |
| league_team_id | integernullable | Official NHL team ID from api-web.nhle.com |
| abbreviation | string | — |
| active | boolean | — |
| city | string | — |
| conference | string | — |
| division | string | — |
| full_name | string | — |
| head_coach | stringnullable | — |
| logo_url | stringnullable | URL to team logo image |
| name | string | — |
| primary_color | stringnullable | — |
| quaternary_color | stringnullable | — |
| secondary_color | stringnullable | — |
| tertiary_color | stringnullable | — |
| wikipedia_logo_url | stringnullable | — |
| wikipedia_wordmark_url | stringnullable | — |
nhl.players35 fields· 3 refs· 14 referenced-byendpoints →
Every individual who has played in the NHL — current rosters, AHL call-ups, free agents, and retired players, with their shooting hand, position, and home country.
- draft_team_id → nhl.teams
- league_player_id → nhl.players
- team_id → nhl.teams
- nhl.players.league_player_id
- nhl.draft_picks.player_id
- nhl.game_player_stats.player_id
- nhl.goalie_depth_charts.player_id
- nhl.operator_player_lookups.operator_player_id
- nhl.operator_player_lookups.player_id
- nhl.penalties.drawn_by_player_id
- nhl.penalties.player_id
- nhl.player_injuries.player_id
- nhl.player_news.player_id
- nhl.scoring_plays.primary_assist_player_id
- nhl.scoring_plays.scored_by_player_id
- nhl.scoring_plays.secondary_assist_player_id
- nhl.season_player_stats.player_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| draft_team_id | bigintnullable | — |
| league_id | stringnullable | Official NHL player identifier |
| league_player_id | integer | Official NHL player ID from api-web.nhle.com |
| team_id | bigintnullable | — |
| birth_city | stringnullable | — |
| birth_country | stringnullable | — |
| birth_date | datenullable | — |
| birth_state | stringnullable | — |
| catches | stringnullable | — |
| college | stringnullable | — |
| draft_overall_pick | integernullable | — |
| draft_pick | integernullable | — |
| draft_round | integernullable | — |
| draft_year | integernullable | — |
| experience | integernullable | Years of NHL experience |
| first_name | string | — |
| full_name | string | — |
| height | integernullable | Height in inches |
| injury_body_part | stringnullable | — |
| injury_notes | stringnullable | — |
| injury_start_date | timestamptznullable | — |
| injury_status | stringnullable | — |
| jersey | stringnullable | — |
| last_name | string | — |
| nationality | stringnullable | — |
| photo_url | stringnullable | URL to player headshot image |
| position_category | stringnullable | — |
| primary_position | string | — |
| rookie_year | integernullable | — |
| shoots | stringnullable | — |
| status | stringnullable | — |
| weight | integernullable | Weight in pounds |
| youth_league | stringnullable | — |
| youth_team | stringnullable | — |
nhl.games37 fields· 5 refs· 8 referenced-byendpoints →
Every scheduled and played NHL game — preseason, the 82-game regular season, and the four-round Stanley Cup Playoffs through the Stanley Cup Final.
- arena_id → nhl.arenas
- away_team_id → nhl.teams
- home_team_id → nhl.teams
- league_game_id → nhl.games
- season_id → nhl.seasons
- nhl.games.league_game_id
- nhl.game_odds.game_id
- nhl.game_player_stats.game_id
- nhl.game_team_stats.game_id
- nhl.penalties.game_id
- nhl.periods.game_id
- nhl.periods.league_game_id
- nhl.scoring_plays.game_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| arena_id | bigintnullable | — |
| away_team_id | bigint | — |
| home_team_id | bigint | — |
| league_game_id | integernullable | Official NHL game ID from api-web.nhle.com |
| league_id | stringnullable | Official NHL game identifier |
| season_id | bigint | — |
| attendance | integernullable | — |
| away_team_score | integernullable | — |
| away_team_score_overtime | integernullable | — |
| away_team_score_period1 | integernullable | — |
| away_team_score_period2 | integernullable | — |
| away_team_score_period3 | integernullable | — |
| away_team_series_wins | integernullable | — |
| channel | stringnullable | — |
| date_time | timestamptz | — |
| date_time_utc | timestamptznullable | — |
| day | integer | Calendar day as a YYYYMMDD integer (e.g. 20240915), US Eastern. |
| game_time | timestamptz | — |
| home_team_score | integernullable | — |
| home_team_score_overtime | integernullable | — |
| home_team_score_period1 | integernullable | — |
| home_team_score_period2 | integernullable | — |
| home_team_score_period3 | integernullable | — |
| home_team_series_wins | integernullable | — |
| is_overtime | boolean | — |
| is_shootout | boolean | — |
| last_play | stringnullable | — |
| neutral_site | boolean | — |
| overtime_periods | integernullable | — |
| period | stringnullable | Current period (1, 2, 3, OT, SO, Final) |
| playoff_round | stringnullable | First Round, Second Round, Conference Finals, Stanley Cup Final |
| season_type | integer | 1=Regular, 2=Preseason, 3=Postseason, 4=All-Star |
| series_game_number | integernullable | — |
| status | string | — |
| time_remaining_minutes | integernullable | — |
| time_remaining_seconds | integernullable | — |
nhl.line_combinations11 fields· 2 refsendpoints →
NHL forward and defensive pair groupings — which players skate together as a line (first, second, third, fourth) or defensive pairing for each team.
- season_id → nhl.seasons
- team_id → nhl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player1_id | bigint | — |
| player2_id | bigintnullable | — |
| player3_id | bigintnullable | — |
| player4_id | bigintnullable | — |
| player5_id | bigintnullable | — |
| season_id | bigint | — |
| team_id | bigint | — |
| day | date | — |
| line_number | integer | — |
| line_type | string | — |
nhl.operator_team_lookups6 fields· 3 refsendpoints →
How each sportsbook and fantasy operator names every NHL team — the mapping from each operator's team code to the unified franchise record.
- operator_id → main.operators
- operator_team_id → nhl.teams
- team_id → nhl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| operator_id | bigint | Operator id: 1 DraftKings, 2 FanDuel, 3 Yahoo, 13 sportsdata.io. |
| operator_team_id | string | External team ID from operator |
| team_id | bigint | Internal nhl.teams.id reference |
| abbreviation | stringnullable | Team abbreviation for reconciliation |
| team_name | stringnullable | Team name for reconciliation |
nhl.playoff_series15 fields· 4 refsendpoints →
NHL Stanley Cup Playoff series — best-of-seven matchups in each round (First Round, Second Round, Conference Finals, Stanley Cup Final), with seeds, wins, and series outcomes.
- away_team_id → nhl.teams
- home_team_id → nhl.teams
- season_id → nhl.seasons
- winner_team_id → nhl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| away_team_id | bigint | — |
| home_team_id | bigint | — |
| season_id | bigint | — |
| series_id | integernullable | — |
| winner_team_id | bigintnullable | — |
| away_team_seed | integer | — |
| away_team_wins | integer | — |
| conference | stringnullable | — |
| games_played | integer | — |
| home_team_seed | integer | — |
| home_team_wins | integer | — |
| max_games | integer | — |
| playoff_round | string | — |
| status | string | — |
nhl.season_team_stats36 fields· 2 refsendpoints →
Season totals for each NHL team — wins, losses, overtime losses, points, goals for and against, shooting percentage, save percentage, power-play and penalty-kill efficiency, faceoff percentages.
- season_id → nhl.seasons
- team_id → nhl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| season_id | bigint | — |
| team_id | bigint | — |
| blocked_shots | integer | — |
| faceoff_losses | integer | — |
| faceoff_percentage | decimal | — |
| faceoff_wins | integer | — |
| games_played | integer | — |
| giveaways | integer | — |
| goal_differential | integer | — |
| goals_against | integer | — |
| goals_against_average | decimal | — |
| goals_against_per_game | decimal | — |
| goals_for | integer | — |
| goals_per_game | decimal | — |
| hits | integer | — |
| losses | integer | — |
| overtime_losses | integer | — |
| penalty_kill_goals_against | integer | — |
| penalty_kill_percentage | decimal | — |
| penalty_minutes | integer | — |
| power_play_goals | integer | — |
| power_play_opportunities | integer | — |
| power_play_percentage | decimal | — |
| pts | integer | — |
| pts_percentage | decimal | — |
| save_percentage | decimal | — |
| season_type | integer | 1=Regular, 2=Preseason, 3=Postseason |
| shooting_percentage | decimal | — |
| short_handed_goals | integer | — |
| shots_against | integer | — |
| shots_for | integer | — |
| shutouts | integer | — |
| takeaways | integer | — |
| times_shorthanded | integer | — |
| wins | integer | — |
nhl.standings36 fields· 2 refsendpoints →
Current conference and division standings for the NHL season — wins, losses, overtime losses, points, points percentage, games behind, and home/away splits. One snapshot per team per season (no as-of-date history).
- season_id → nhl.seasons
- team_id → nhl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| season_id | bigint | — |
| team_id | bigint | — |
| away_losses | integer | — |
| away_overtime_losses | integer | — |
| away_wins | integer | — |
| clinched_conference | boolean | — |
| clinched_division | boolean | — |
| clinched_playoffs | boolean | — |
| clinched_presidents_trophy | boolean | — |
| conference | string | — |
| conference_rank | integer | — |
| division | string | — |
| division_rank | integer | — |
| games_played | integer | — |
| goal_differential | integer | — |
| goals_against | integer | — |
| goals_for | integer | — |
| home_losses | integer | — |
| home_overtime_losses | integer | — |
| home_wins | integer | — |
| last_10_losses | integer | — |
| last_10_overtime_losses | integer | — |
| last_10_wins | integer | — |
| losses | integer | — |
| overtime_losses | integer | — |
| pts | integer | — |
| pts_percentage | decimal | — |
| rank | integer | — |
| regulation_wins | integer | — |
| season_type | integer | — |
| shootout_losses | integer | — |
| shootout_wins | integer | — |
| streak | stringnullable | Current streak (W3, L2, OTL1) |
| wild_card_rank | integernullable | — |
| wins | integer | — |
nhl.draft_picks9 fields· 3 refsendpoints →
Every NHL Draft selection — round, pick number, drafting team, the league/country the player came from, and the career stats that followed.
- original_team_id → nhl.teams
- player_id → nhl.players
- team_id → nhl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| draft_id | integernullable | — |
| original_team_id | integernullable | Team that originally owned the pick |
| player_id | bigintnullable | — |
| team_id | bigint | — |
| overall_pick | integer | — |
| pick_in_round | integer | — |
| round | integer | — |
| year | integer | — |
nhl.game_odds13 fields· 1 refsendpoints →
NHL game betting lines — moneylines, puck lines (the hockey point-spread equivalent), and over/under totals from sportsbooks, captured over time as the lines move from opening to closing.
- game_id → nhl.games
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| away_money_line | integernullable | — |
| away_point_spread | decimalnullable | — |
| away_point_spread_payout | integernullable | — |
| draw_money_line | integernullable | — |
| home_money_line | integernullable | — |
| home_point_spread | decimalnullable | — |
| home_point_spread_payout | integernullable | — |
| over_payout | integernullable | — |
| over_under | decimalnullable | — |
| sportsbook | stringnullable | DraftKings, FanDuel, BetMGM, etc. |
| under_payout | integernullable | — |
nhl.game_player_stats67 fields· 3 refsendpoints →
Each NHL player's stat line for each game — goals, assists, plus-minus, shots on goal, hits, blocks, penalties in minutes, power-play points, time on ice, plus the goaltender line (saves, shots against, goals against, save percentage).
- game_id → nhl.games
- player_id → nhl.players
- team_id → nhl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| opponent_id | bigintnullable | — |
| player_id | bigint | — |
| team_id | bigint | — |
| assists | integer | — |
| blocked_shots | integer | — |
| empty_net_goals | integer | — |
| even_strength_assists | integer | — |
| even_strength_goals | integer | — |
| even_strength_time_on_ice_seconds | integer | — |
| faceoff_percentage | decimal | — |
| faceoffs_lost | integer | — |
| faceoffs_won | integer | — |
| first_period_goals_against | integer | — |
| game_winning_goals | integer | — |
| games | integer | 1 if player appeared, 0 if not |
| giveaways | integer | — |
| goals | integer | — |
| goals_against | integer | — |
| goals_against_average | decimal | — |
| hits | integer | — |
| home_or_away | stringnullable | — |
| is_game_over | boolean | — |
| losses | integer | — |
| major_penalties | integer | — |
| minor_penalties | integer | — |
| minutes_played | integer | Goalie minutes played |
| overtime_goals | integer | — |
| overtime_goals_against | integer | — |
| overtime_losses | integer | — |
| penalties | integer | — |
| penalty_minutes | integer | — |
| plus_minus | integer | — |
| power_play_assists | integer | — |
| power_play_goals | integer | — |
| power_play_goals_against | integer | — |
| power_play_pts | integer | — |
| power_play_saves | integer | — |
| power_play_shots_against | integer | — |
| power_play_time_on_ice_seconds | integer | — |
| pts | integer | — |
| save_percentage | decimal | — |
| saves | integer | — |
| second_period_goals_against | integer | — |
| shifts | integer | — |
| shooting_percentage | decimal | — |
| shootout_attempts | integer | — |
| shootout_goals | integer | — |
| shootout_goals_against | integer | — |
| shootout_saves | integer | — |
| short_handed_assists | integer | — |
| short_handed_goals | integer | — |
| short_handed_goals_against | integer | — |
| short_handed_pts | integer | — |
| short_handed_saves | integer | — |
| short_handed_shots_against | integer | — |
| short_handed_time_on_ice_seconds | integer | — |
| shots | integer | — |
| shots_against | integer | — |
| shots_on_goal | integer | — |
| shutouts | integer | — |
| started | integer | — |
| takeaways | integer | — |
| third_period_goals_against | integer | — |
| time_on_ice_seconds | integer | — |
| wins | integer | — |
nhl.game_team_stats30 fields· 2 refsendpoints →
Each NHL team's stat line for each game — goals scored and allowed, shots on goal, power-play and penalty-kill performance, faceoff percentage, hits, blocks, and time-on-ice splits.
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| team_id | bigint | — |
| assists | integer | — |
| blocked_shots | integer | — |
| faceoff_percentage | decimal | — |
| faceoffs_lost | integer | — |
| faceoffs_won | integer | — |
| giveaways | integer | — |
| goals | integer | — |
| goals_against | integer | — |
| hits | integer | — |
| losses | integer | — |
| overtime_losses | integer | — |
| penalties | integer | — |
| penalty_kill_goals_against | integer | — |
| penalty_kill_percentage | decimal | — |
| penalty_minutes | integer | — |
| power_play_attempts | integer | — |
| power_play_goals | integer | — |
| power_play_percentage | decimal | — |
| save_percentage | decimal | — |
| saves | integer | — |
| shooting_percentage | decimal | — |
| short_handed_goals | integer | — |
| shots | integer | — |
| shots_on_goal | integer | — |
| takeaways | integer | — |
| times_shorthanded | integer | — |
| wins | integer | — |
nhl.goalie_depth_charts6 fields· 3 refsendpoints →
Each NHL team's goaltender depth — the starter, backup, and any third-string netminders, with the date the depth was last updated.
- player_id → nhl.players
- season_id → nhl.seasons
- team_id → nhl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| season_id | bigint | — |
| team_id | bigint | — |
| day | date | — |
| depth_order | integer | 1=Starter, 2=Backup, 3=Third string |
nhl.operator_player_lookups6 fields· 3 refsendpoints →
How each sportsbook and fantasy operator names every NHL player — the mapping from each operator's player identifier to a unified player record.
- operator_id → main.operators
- operator_player_id → nhl.players
- player_id → nhl.players
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| operator_id | bigint | Operator id: 1 DraftKings, 2 FanDuel, 3 Yahoo, 13 sportsdata.io. |
| operator_player_id | string | External player ID from operator |
| player_id | bigint | Internal nhl.players.id reference |
| player_name | stringnullable | Player name for reconciliation |
| position | stringnullable | Position for reconciliation |
nhl.penalties12 fields· 5 refs· 1 referenced-byendpoints →
Every penalty assessed in every NHL game — the player penalized, the infraction (hooking, tripping, slashing, etc.), the minutes assessed (2-minute minor, 4-minute double minor, 5-minute major, game misconduct, match penalty), and the resulting power play.
- drawn_by_player_id → nhl.players
- game_id → nhl.games
- penalty_id → nhl.penalties
- player_id → nhl.players
- team_id → nhl.teams
- nhl.penalties.penalty_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| drawn_by_player_id | bigintnullable | — |
| game_id | bigint | — |
| penalty_id | integer | — |
| player_id | bigintnullable | — |
| team_id | bigint | — |
| description | stringnullable | — |
| is_bench_penalty | boolean | — |
| penalty_minutes | integer | — |
| penalty_type | string | — |
| period_number | integer | — |
| time_remaining | string | Time remaining in period (MM:SS) |
nhl.periods8 fields· 3 refs· 1 referenced-byendpoints →
Per-period scores for every NHL game — the three regulation periods plus any overtime and the shootout, with the away and home goals in each. (Shots and penalties per period are not carried here.)
- game_id → nhl.games
- league_game_id → nhl.games
- period_id → nhl.periods
- nhl.periods.period_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| league_game_id | integer | — |
| period_id | integer | — |
| away_team_score | integer | — |
| home_team_score | integer | — |
| name | string | 1, 2, 3, OT, OT2, SO |
| period_number | integer | — |
nhl.player_injuries16 fields· 3 refsendpoints →
The ongoing injury record for each NHL player — body part, severity, designation (day-to-day, IR, LTIR), and expected return timeline.
- player_id → nhl.players
- season_id → nhl.seasons
- team_id → nhl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| season_id | bigint | — |
| team_id | bigint | — |
| body_part | string | — |
| description | stringnullable | — |
| end_date | timestamptznullable | — |
| expected_return_date | timestamptznullable | — |
| games_missed | integer | — |
| injury_type | stringnullable | — |
| is_surgery_required | booleannullable | — |
| side | stringnullable | — |
| source | stringnullable | — |
| start_date | timestamptz | — |
| status | string | — |
| updated_date | timestamptz | — |
nhl.player_news20 fields· 2 refsendpoints →
News about NHL players — trades, IR placements, line changes, suspensions, and general beat-reporter updates.
- player_id → nhl.players
- team_id → nhl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| external_id | stringnullable | — |
| news_id | integernullable | — |
| player_id | bigintnullable | — |
| team_id | bigintnullable | — |
| ai_processed | boolean | — |
| author | stringnullable | — |
| categories | stringnullable | — |
| category | stringnullable | injury, transaction, lineup, general |
| content | stringnullable | — |
| news_time | timestamptz | — |
| original_source | stringnullable | — |
| original_source_url | stringnullable | — |
| priority | integer | — |
| situational_impact | jsonbnullable | — |
| source | stringnullable | — |
| terms_of_use | stringnullable | — |
| title | string | — |
| updated_time | timestamptznullable | — |
| url | stringnullable | — |
nhl.scoring_plays13 fields· 5 refsendpoints →
Every goal scored in every NHL game — the scorer, the assists, the goaltender beaten, the strength (even strength, power play, short-handed), and the score state when the goal went in.
- game_id → nhl.games
- primary_assist_player_id → nhl.players
- scored_by_player_id → nhl.players
- secondary_assist_player_id → nhl.players
- team_id → nhl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| primary_assist_player_id | bigintnullable | — |
| scored_by_player_id | bigintnullable | — |
| scoring_play_id | integer | — |
| secondary_assist_player_id | bigintnullable | — |
| team_id | bigint | — |
| away_team_score | integer | — |
| description | stringnullable | — |
| goal_type | stringnullable | — |
| home_team_score | integer | — |
| period_number | integer | — |
| time_remaining | string | Time remaining in period (MM:SS) |
nhl.season_player_stats62 fields· 3 refsendpoints →
Season totals for each NHL player — goals, assists, points, plus-minus, shots on goal, hits, blocks, penalty minutes, power-play and short-handed contributions, plus goaltender stats (wins, saves, shutouts, save percentage, goals-against average).
- player_id → nhl.players
- season_id → nhl.seasons
- team_id → nhl.teams
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| season_id | bigint | — |
| team_id | bigintnullable | — |
| assists | integer | — |
| assists_per_game | decimal | — |
| blocked_shots | integer | — |
| empty_net_goals | integer | — |
| even_strength_assists | integer | — |
| even_strength_goals | integer | — |
| even_strength_time_on_ice_seconds | integer | — |
| faceoff_percentage | decimal | — |
| faceoffs_lost | integer | — |
| faceoffs_won | integer | — |
| game_winning_goals | integer | — |
| games_played | integer | — |
| games_started | integer | — |
| giveaways | integer | — |
| goals | integer | — |
| goals_against | integer | — |
| goals_against_average | decimal | — |
| goals_per_game | decimal | — |
| hat_tricks | integer | — |
| hits | integer | — |
| losses | integer | — |
| major_penalties | integer | — |
| minor_penalties | integer | — |
| minutes_played | integer | — |
| overtime_goals | integer | — |
| overtime_losses | integer | — |
| penalties | integer | — |
| penalty_minutes | integer | — |
| plus_minus | integer | — |
| position | stringnullable | — |
| power_play_assists | integer | — |
| power_play_goals | integer | — |
| power_play_pts | integer | — |
| power_play_time_on_ice_seconds | integer | — |
| pts | integer | — |
| pts_per_game | decimal | — |
| save_percentage | decimal | — |
| saves | integer | — |
| season_type | integer | 1=Regular, 2=Preseason, 3=Postseason |
| shifts | integer | — |
| shooting_percentage | decimal | — |
| shootout_attempts | integer | — |
| shootout_goals | integer | — |
| shootout_goals_against | integer | — |
| shootout_misses | integer | — |
| shootout_saves | integer | — |
| short_handed_assists | integer | — |
| short_handed_goals | integer | — |
| short_handed_pts | integer | — |
| short_handed_time_on_ice_seconds | integer | — |
| shots | integer | — |
| shots_against | integer | — |
| shots_on_goal | integer | — |
| shutouts | integer | — |
| takeaways | integer | — |
| time_on_ice_per_game | decimal | — |
| time_on_ice_seconds | integer | — |
| wins | integer | — |
PGA15 tables
golf.players16 fields· 1 refs· 10 referenced-byendpoints →
Every professional golfer — active tour members, conditional-status players, alumni who have competed at the highest level, and country-of-origin information.
- league_player_id → golf.players
- golf.players.league_player_id
- golf.operator_player_lookups.operator_player_id
- golf.operator_player_lookups.player_id
- golf.player_season_stats.player_id
- golf.leaderboards.player_id
- golf.player_holes.player_id
- golf.player_news.player_id
- golf.player_rounds.player_id
- golf.player_shots.player_id
- golf.tournament_odds.player_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| league_id | stringnullable | Official tour player identifier |
| league_player_id | integer | Official PGA Tour player id |
| birth_city | stringnullable | — |
| birth_country | stringnullable | — |
| birth_date | datenullable | — |
| birth_state | stringnullable | — |
| college | stringnullable | — |
| country | stringnullable | — |
| first_name | string | — |
| full_name | string | — |
| last_name | string | — |
| pga_debut_year | integernullable | — |
| photo_url | stringnullable | — |
| short_name | stringnullable | — |
| swings | stringnullable | Right, Left |
golf.tours7 fields· 1 refs· 5 referenced-byendpoints →
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.
- tour_id → golf.tours
- golf.tours.tour_id
- golf.tournaments.season_tour_id
- golf.tournaments.tour_id
- golf.player_season_stats.season_tour_id
- golf.player_season_stats.tour_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| tour_id | integer | — |
| active | boolean | — |
| code | string | Tour code (pga, european, liv, lpga, champions, korn_ferry) |
| description | stringnullable | — |
| logo_url | stringnullable | — |
| name | string | — |
golf.courses15 fields· 1 refs· 1 referenced-byendpoints →
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.
- league_course_id → golf.courses
- golf.courses.league_course_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| league_course_id | integernullable | Official PGA Tour course id |
| address | stringnullable | — |
| city | stringnullable | — |
| country | stringnullable | — |
| elevation | floatnullable | Elevation in feet above sea level |
| image_url | stringnullable | URL to aerial/overview image of course |
| latitude | floatnullable | — |
| longitude | floatnullable | — |
| name | string | — |
| par | integer | — |
| state | stringnullable | — |
| timezone | stringnullable | IANA timezone (e.g., America/New_York) |
| yards | integer | — |
| zip | stringnullable | — |
golf.seasons6 fieldsendpoints →
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.
| Field | Type | Description |
|---|---|---|
| start_yearkey | integer | — |
| tour_idkey | bigint | — |
| league_id | stringnullable | Official tour season identifier |
| description | stringnullable | — |
| end_date | timestamptznullable | — |
| start_date | timestamptz | — |
golf.tournaments23 fields· 3 refs· 10 referenced-byendpoints →
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.
- season_tour_id → golf.tours
- tour_id → golf.tours
- tournament_id → golf.tournaments
- golf.tournaments.tournament_id
- golf.course_hole_stats.tournament_id
- golf.leaderboards.player_tournament_id
- golf.leaderboards.tournament_id
- golf.player_holes.tournament_id
- golf.player_news.tournament_id
- golf.player_rounds.tournament_id
- golf.player_shots.tournament_id
- golf.tournament_odds.tournament_id
- golf.tournament_rounds.tournament_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| league_id | stringnullable | Official tour tournament identifier |
| season_tour_id | bigintnullable | — |
| tour_id | bigintnullable | — |
| tournament_id | integer | — |
| canceled | boolean | — |
| city | stringnullable | — |
| country | stringnullable | — |
| end_date | timestamptznullable | — |
| is_in_progress | boolean | — |
| is_over | boolean | — |
| name | string | — |
| par | integernullable | — |
| purse | bigintnullable | Total prize money in cents |
| rounds | integernullable | — |
| season_start_year | integernullable | — |
| start_date | timestamptz | — |
| start_date_time | timestamptznullable | — |
| state | stringnullable | — |
| time_zone | stringnullable | — |
| venue | stringnullable | — |
| yards | integernullable | — |
| zip | stringnullable | — |
golf.operator_player_lookups5 fields· 3 refsendpoints →
How each sportsbook and fantasy operator names every professional golfer — the mapping from each operator's player identifier to a unified player record.
- operator_id → main.operators
- operator_player_id → golf.players
- player_id → golf.players
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| operator_id | bigint | Operator id: 1 DraftKings, 2 FanDuel, 3 Yahoo, 13 sportsdata.io. |
| operator_player_id | string | External player ID from operator |
| player_id | bigint | Internal golf.players.id reference |
| player_name | stringnullable | Player name for reconciliation |
golf.player_season_stats41 fields· 3 refsendpoints →
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.
- player_id → golf.players
- season_tour_id → golf.tours
- tour_id → golf.tours
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| season_tour_id | bigintnullable | — |
| tour_id | bigintnullable | — |
| birdies | integernullable | — |
| bogey_free_rounds | integernullable | — |
| bogeys | integernullable | — |
| bounce_back_count | integernullable | — |
| consecutive_birdie_or_better_count | integernullable | — |
| cuts_made | integernullable | — |
| double_bogeys | integernullable | — |
| double_eagles | integernullable | — |
| driving_accuracy_pct | decimalnullable | — |
| driving_distance | decimalnullable | Average driving distance in yards |
| eagles | integernullable | — |
| events | integernullable | — |
| gir_pct | decimalnullable | Greens in regulation percentage |
| holes_in_one | integernullable | — |
| pars | integernullable | — |
| putts_per_round | decimalnullable | — |
| rounds | integernullable | — |
| rounds_under_seventy | integernullable | — |
| scrambling_pct | decimalnullable | — |
| season_start_year | integernullable | — |
| second_place | integernullable | — |
| sg_approach | decimalnullable | — |
| sg_around_green | decimalnullable | — |
| sg_off_tee | decimalnullable | — |
| sg_putting | decimalnullable | — |
| sg_total | decimalnullable | — |
| streaks_of_three_birdies_or_better | integernullable | — |
| third_place | integernullable | — |
| top_five | integernullable | — |
| top_ten | integernullable | — |
| top_twenty_five | integernullable | — |
| total_score | integernullable | Total score relative to par |
| total_strokes | integernullable | — |
| triple_bogeys | integernullable | — |
| wins | integernullable | — |
| worse_than_double_bogey | integernullable | — |
| worse_than_triple_bogey | integernullable | — |
golf.course_hole_stats15 fields· 1 refsendpoints →
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.
- tournament_id → golf.tournaments
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| tournament_id | bigint | — |
| birdies | integernullable | — |
| bogeys | integernullable | — |
| course_code | string | PGA Tour course code (e.g., 014 = Augusta National) |
| double_bogeys | integernullable | — |
| eagles | integernullable | — |
| hole_number | integer | — |
| par | integernullable | — |
| pars | integernullable | — |
| rank | integernullable | Difficulty rank among holes (1 = hardest) |
| round_number | integer | — |
| scoring_average | decimalnullable | — |
| scoring_average_diff | decimalnullable | Scoring average relative to par |
| yards | integernullable | — |
golf.leaderboards23 fields· 3 refsendpoints →
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.
- player_id → golf.players
- player_tournament_id → golf.tournaments
- tournament_id → golf.tournaments
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| player_tournament_id | integer | — |
| tournament_id | bigint | — |
| earnings | bigintnullable | Prize money earned in cents |
| fedex_pts | integernullable | — |
| is_alternate | booleannullable | — |
| is_withdrawn | booleannullable | — |
| made_cut | integernullable | 1 if made cut, 0 if missed |
| made_cut_did_not_finish | booleannullable | — |
| rank | integernullable | — |
| sg_approach | decimalnullable | — |
| sg_around_green | decimalnullable | — |
| sg_off_tee | decimalnullable | — |
| sg_putting | decimalnullable | — |
| sg_tee_to_green | decimalnullable | — |
| sg_total | decimalnullable | — |
| tee_time | timestamptznullable | — |
| total_score | integernullable | Score relative to par |
| total_strokes | integernullable | — |
| total_through | integernullable | Current hole of player for current round |
| tournament_status | stringnullable | out, active, etc. |
| win | integernullable | 1 if won tournament |
golf.player_holes17 fields· 2 refsendpoints →
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.)
- player_id → golf.players
- tournament_id → golf.tournaments
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| player_round_id | bigint | — |
| tournament_id | bigint | — |
| birdie | booleannullable | — |
| bogey | booleannullable | — |
| double_bogey | booleannullable | — |
| double_eagle | booleannullable | — |
| eagle | booleannullable | — |
| hole_in_one | booleannullable | — |
| hole_number | integer | — |
| is_par | booleannullable | — |
| par | integernullable | — |
| round_number | integer | — |
| score | integernullable | — |
| to_par | integernullable | Score relative to par for this hole |
| worse_than_double_bogey | booleannullable | — |
golf.player_news18 fields· 2 refsendpoints →
News about professional golfers — equipment changes, swing coach updates, sponsorships, tour-status changes, suspensions, and general beat-reporter updates.
- player_id → golf.players
- tournament_id → golf.tournaments
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigintnullable | — |
| tournament_id | bigintnullable | — |
| ai_processed | boolean | — |
| author | stringnullable | — |
| categories | stringnullable | — |
| content | stringnullable | — |
| news_time | timestamptz | — |
| original_source | stringnullable | — |
| original_source_url | stringnullable | — |
| priority | integer | — |
| situational_impact | jsonbnullable | — |
| source | stringnullable | — |
| source_key | stringnullable | — |
| terms_of_use | stringnullable | — |
| title | string | — |
| updated_time | timestamptznullable | — |
| url | stringnullable | — |
golf.player_rounds26 fields· 2 refsendpoints →
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.)
- player_id → golf.players
- tournament_id → golf.tournaments
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| player_round_id | integer | — |
| tournament_id | bigint | — |
| back_nine_start | booleannullable | — |
| birdies | integernullable | — |
| bogeys | integernullable | — |
| day | datenullable | — |
| double_bogeys | integernullable | — |
| double_eagles | integernullable | — |
| eagles | integernullable | — |
| holes_in_one | integernullable | — |
| par | integernullable | — |
| pars | integernullable | — |
| round_number | integer | — |
| score | integernullable | Total strokes for round |
| sg_approach | decimalnullable | — |
| sg_around_green | decimalnullable | — |
| sg_off_tee | decimalnullable | — |
| sg_putting | decimalnullable | — |
| sg_tee_to_green | decimalnullable | — |
| sg_total | decimalnullable | — |
| tee_time | timestamptznullable | — |
| triple_bogeys | integernullable | — |
| worse_than_double_bogey | integernullable | — |
| worse_than_triple_bogey | integernullable | — |
golf.player_shots30 fields· 2 refsendpoints →
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.
- player_id → golf.players
- tournament_id → golf.tournaments
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| player_id | bigint | — |
| tournament_id | bigint | — |
| apex_height | floatnullable | — |
| ball_speed | floatnullable | — |
| carry_distance | floatnullable | — |
| club_speed | floatnullable | — |
| distance_remaining_yards | floatnullable | Distance to the hole after the shot, in yards |
| distance_yards | floatnullable | Shot distance in yards (null when the source reports feet near the green) |
| final_stroke | booleannullable | — |
| from_location | stringnullable | — |
| from_location_code | stringnullable | — |
| from_x | floatnullable | — |
| from_y | floatnullable | — |
| from_z | floatnullable | — |
| hole_number | integer | — |
| launch_angle | floatnullable | Vertical launch angle (degrees) |
| launch_spin | floatnullable | — |
| par | integernullable | — |
| play_by_play | stringnullable | — |
| round_number | integer | — |
| shot_number | integer | Stroke sequence within the hole (1 = first stroke) |
| smash_factor | floatnullable | — |
| spin_axis | floatnullable | — |
| stroke_type | stringnullable | STROKE, PENALTY, DROP, PROVISIONAL |
| to_location | stringnullable | — |
| to_location_code | stringnullable | — |
| to_x | floatnullable | — |
| to_y | floatnullable | — |
| to_z | floatnullable | — |
golf.tournament_odds22 fields· 2 refsendpoints →
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.
- player_id → golf.players
- tournament_id → golf.tournaments
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| matchup_opponent_id | bigintnullable | — |
| player_id | bigint | — |
| round_matchup_opponent_id | bigintnullable | — |
| three_ball_opponent1_id | bigintnullable | — |
| three_ball_opponent2_id | bigintnullable | — |
| tournament_id | bigint | — |
| first_round_leader_odds | integernullable | — |
| is_alternate | booleannullable | — |
| is_available | booleannullable | — |
| make_cut_odds | integernullable | — |
| matchup_odds | integernullable | — |
| matchup_opponent_odds | integernullable | — |
| miss_cut_odds | integernullable | — |
| outright_odds | integernullable | Odds to win tournament (American format) |
| round_matchup_odds | integernullable | — |
| round_matchup_opponent_odds | integernullable | — |
| sportsbook | stringnullable | DraftKings, FanDuel, BetMGM, etc. |
| three_ball_odds | integernullable | — |
| top_five_odds | integernullable | — |
| top_ten_odds | integernullable | — |
| top_twenty_odds | integernullable | — |
golf.tournament_rounds5 fields· 1 refsendpoints →
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.
- tournament_id → golf.tournaments
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| round_id | integer | — |
| tournament_id | bigint | — |
| day | date | — |
| round_number | integer | — |
Kalshi7 tables
kalshi.series9 fields· 2 referenced-byendpoints →
Families of related Kalshi binary markets organized around a common theme — all NBA game-winner markets, all NBA spread markets, all NFL totals markets, election markets, weather markets. Tracks series-level metadata and sync state.
- kalshi.events.series_id
- kalshi.markets.series_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| category | string | e.g. "Sports > Basketball > NBA" |
| contract_type | stringnullable | "gw", "spread", "ou" |
| fetched_at | timestamptz | — |
| frequency | stringnullable | "daily", "weekly" |
| is_active | boolean | — |
| league_code | stringnullable | e.g. "nba", "nfl", null for non-sport |
| series_ticker | string | e.g. "KXNBAGAME" |
| title | string | — |
kalshi.market_statuses6 fieldsendpoints →
The trading-status period log for each Kalshi market — one row per state change with start/end timestamps, recording when the market was open, closed, settled, etc. Sparse coverage — captured 2025-10 through 2026-02 for ~1,500 markets; not currently updating.
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| details | jsonbnullable | — |
| end_ts | timestamptz | — |
| start_ts | timestamptz | — |
| status | string | "open", "closed", "settled", etc. |
| ticker | string | — |
kalshi.events15 fields· 1 refs· 1 referenced-byendpoints →
A real-world event that anchors a set of Kalshi markets — for sports, a specific game or matchup; for politics, an election or vote; for finance, a price level on a target date. E.g., MEM@POR game-winner event has 2 markets (MEM wins, POR wins).
- series_id → kalshi.series
- kalshi.markets.event_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| competition_id | bigintnullable | Polymorphic cross-schema ref — {league}.games (team sports) or golf.tournaments (golf), resolved during sync by league_code. Dereference via main.competitions. NULL until linked. |
| league_game_id | stringnullable | NBA CDN game ID for fallback cross-ref |
| series_id | bigint | — |
| away_team | stringnullable | Tricode: "MEM" |
| category | string | — |
| event_ticker | string | e.g. "KXNBAGAME-26FEB06MEMPOR" |
| fetched_at | timestamptz | — |
| game_date | datenullable | Game date for sport events |
| home_team | stringnullable | Tricode: "POR" |
| league_code | stringnullable | Denormalized for filtering |
| market_count | integernullable | — |
| settled_at | timestamptznullable | — |
| status | string | "open", "closed", "settled" |
| title | string | — |
kalshi.markets23 fields· 2 refs· 3 referenced-byendpoints →
An individual binary contract on Kalshi — a YES/NO question with a defined resolution date and rule, priced between 0 and 100 cents. Stores latest known state (overwritten on sync).
- event_id → kalshi.events
- series_id → kalshi.series
- kalshi.candles.market_id
- kalshi.market_snapshots.market_id
- kalshi.public_trades.market_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| competition_id | bigintnullable | Polymorphic cross-schema ref (denormalized from event) — {league}.games or golf.tournaments, by league_code. Dereference via main.competitions. NULL until linked. |
| event_id | bigint | — |
| series_id | bigint | Denormalized from event for direct queries |
| close_time | timestamptznullable | — |
| contract_type | string | "gw", "spread", "ou" |
| expiration_time | timestamptznullable | — |
| fetched_at | timestamptz | — |
| last_price | integernullable | Cents (1-99) |
| line | decimalnullable | Spread line for spread markets (e.g., -3.5). UNRELIABLE for ou (totals) markets — mostly null, and populated values hold the playoff series game number, not the total; parse the numeric ticker suffix (e.g. …-238 ⇒ 238) for the O/U line. |
| liquidity | integer | — |
| open_interest | integer | — |
| open_time | timestamptznullable | — |
| result | stringnullable | "yes", "no", "scalar", null if undetermined |
| settled_at | timestamptznullable | Settlement timestamp from Kalshi settlement_ts |
| settlement_value | integernullable | Settlement payout for YES side in cents (0-100 for binary, 1-99 possible for scalar) |
| status | string | "initialized", "inactive", "active", "closed", "determined", "disputed", "amended", "finalized" |
| subtitle | stringnullable | — |
| ticker | string | e.g. "KXNBAGAME-26FEB06MEMPOR-POR" |
| title | string | — |
| volume | integer | Lifetime volume |
| yes_ask | integernullable | Cents. 1-99 while an order book exists; 100 when there is no resting ask (the common state on settled markets). |
| yes_bid | integernullable | Cents. 1-99 while an order book exists; 0 when there is no resting bid (the common state on settled markets). |
kalshi.candles15 fields· 1 refsendpoints →
OHLC candlestick price summaries for Kalshi markets — the open, high, low, and close prices over standard time bins (1 minute, 5 minute, 1 hour, 1 day), with traded volume per bin. Flattened columns (not JSON) for SQL queryability.
- market_id → kalshi.markets
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| market_id | bigint | — |
| end_period_ts | integer | Unix timestamp of period end |
| open_interest | integer | OI at period end |
| period_interval | integer | Seconds (1, 60, 3600, 86400) |
| ticker | string | Denormalized |
| volume | integer | Period volume |
| yes_ask_close | integernullable | — |
| yes_ask_high | integernullable | — |
| yes_ask_low | integernullable | — |
| yes_ask_open | integernullable | — |
| yes_bid_close | integernullable | — |
| yes_bid_high | integernullable | — |
| yes_bid_low | integernullable | — |
| yes_bid_open | integernullable | Cents |
kalshi.market_snapshots11 fields· 1 refsendpoints →
Time-series price captures for Kalshi markets — the YES bid/ask and NO bid/ask, last trade price, and order-book depth recorded as prices move throughout the trading session. Same pattern as nba.game_line.
- market_id → kalshi.markets
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| market_id | bigint | — |
| captured_at | timestamptz | — |
| is_opening | boolean | First snapshot for this market |
| last_price | integernullable | — |
| liquidity | integer | — |
| open_interest | integer | — |
| ticker | string | Denormalized for efficient queries |
| volume | integer | Cumulative at capture time |
| yes_ask | integernullable | — |
| yes_bid | integernullable | — |
kalshi.public_trades14 fields· 1 refsendpoints →
Every executed trade on Kalshi — price, size, side (YES or NO), and timestamp, comprising the public market tape. Represents completed market trades across all users.
- market_id → kalshi.markets
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| market_id | bigint | — |
| trade_id | string | — |
| count | integer | — |
| count_fp | stringnullable | — |
| created_time | timestamptznullable | — |
| no_price | integernullable | — |
| no_price_dollars | stringnullable | — |
| price | floatnullable | — |
| raw_payload | jsonb | — |
| taker_side | stringnullable | "yes" | "no" |
| ticker | string | — |
| yes_price | integernullable | — |
| yes_price_dollars | stringnullable | — |
Polymarket10 tables
polymarket.events18 fields· 2 referenced-byendpoints →
A real-world event that anchors a set of Polymarket markets — a single sports game, an election, a futures question, or any other resolvable scenario. E.g., "Mavericks vs Suns" game event or "2026 NBA Champion" futures event.
- polymarket.tokens.event_id
- polymarket.markets.event_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| competition_id | bigintnullable | Polymorphic cross-schema ref — {league}.games (team sports) or golf.tournaments (golf), resolved at app level by slug parsing via league_code. Dereference via main.competitions. NULL until linked. |
| condition_id | string | Polymarket event condition ID (stable identifier) |
| away_team | stringnullable | Tricode: "DAL" |
| description | stringnullable | — |
| end_date | timestamptznullable | — |
| fetched_at | timestamptz | — |
| game_date | datenullable | Game date parsed from slug |
| home_team | stringnullable | Tricode: "PHX" |
| league_code | stringnullable | e.g. "nba", denormalized for filtering |
| liquidity | bigintnullable | Current liquidity in USDC minor units |
| market_count | integernullable | — |
| neg_risk | boolean | True for multi-outcome groups (e.g., 30-team NBA Champion) |
| slug | string | URL slug, e.g. "nba-dal-phx-2026-04-08" |
| start_date | timestamptznullable | — |
| status | string | "active", "closed", "resolved" |
| title | string | — |
| volume | bigintnullable | Lifetime volume in USDC minor units |
polymarket.sports5 fields· 1 refs· 1 referenced-byendpoints →
Sport categories used on Polymarket — basketball, football, baseball, hockey, soccer, MMA, and other tags that organize sports markets. Small reference table (~20 rows).
- sport_id → polymarket.sports
- polymarket.sports.sport_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| sport_id | integernullable | Polymarket sport ID from API |
| fetched_at | timestamptz | — |
| name | string | Display name, e.g. "NBA" |
| tag_slug | string | e.g. "nba", "nfl", "soccer" |
polymarket.tokens10 fields· 3 refs· 7 referenced-byendpoints →
The tradable outcome tokens within a Polymarket market — YES and NO for binary markets, or one token per outcome for multi-outcome markets (e.g., each team in a championship futures market). The clobTokenId is used to query CLOB API for pricing and trades.
- event_id → polymarket.events
- market_id → polymarket.markets
- token_id → polymarket.tokens
- polymarket.tokens.token_id
- polymarket.markets.payout_token_id
- polymarket.candles.token_id
- polymarket.order_book_snapshots.token_id
- polymarket.price_histories.token_id
- polymarket.public_trades.token_id
- polymarket.token_snapshots.token_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| event_id | bigintnullable | Denormalized for direct event queries |
| market_id | bigint | — |
| token_id | string | Polymarket clobTokenId (used for CLOB API queries) |
| fetched_at | timestamptz | — |
| final_price_bps | integernullable | Settlement price (10000 for winner, 0 for loser) |
| outcome | string | Outcome label: team name, "Yes", "No" |
| outcome_index | integer | 0-based index of this outcome within the market |
| price_bps | integernullable | Latest price in basis points (0-10000) |
| winner | booleannullable | True if this outcome won, null if unresolved |
polymarket.markets21 fields· 2 refs· 7 referenced-byendpoints →
An individual prediction market on Polymarket — a specific question tied to an event, resolved on-chain, with one or more tradable outcome tokens. Each market has 2+ tokens representing outcome positions.
- event_id → polymarket.events
- payout_token_id → polymarket.tokens
- polymarket.tokens.market_id
- polymarket.candles.market_id
- polymarket.market_snapshots.market_id
- polymarket.order_book_snapshots.market_id
- polymarket.price_histories.market_id
- polymarket.public_trades.market_id
- polymarket.token_snapshots.market_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| competition_id | bigintnullable | Polymorphic cross-schema ref (denormalized from event) resolved at app level by league_code. Dereference via main.competitions. NULL until linked. |
| condition_id | string | Polymarket market condition ID (stable identifier) |
| event_id | bigint | — |
| payout_token_id | stringnullable | Token ID that paid out at 1.00 (winner) |
| active | boolean | — |
| best_ask_bps | integernullable | Basis points (0-10000) |
| best_bid_bps | integernullable | Basis points (0-10000) |
| closed | boolean | — |
| fetched_at | timestamptz | — |
| last_trade_price_bps | integernullable | Basis points (0-10000) |
| liquidity | bigintnullable | — |
| neg_risk | boolean | — |
| outcome_count | integer | Number of tokens/outcomes (2 for binary, N for multi-outcome) |
| question | stringnullable | Full question text |
| resolution_source | stringnullable | "uma", "manual", etc. |
| resolved_at | timestamptznullable | When the market was resolved |
| result | stringnullable | Winning outcome string, null if unresolved |
| slug | stringnullable | — |
| status | string | "active", "closed", "resolved" |
| volume | bigintnullable | — |
polymarket.candles11 fields· 2 refsendpoints →
OHLC candlestick price summaries for Polymarket outcome tokens — the open, high, low, close, and volume over standard time bins (1 minute, 5 minute, 1 hour, 1 day). Bucketed by (token_id, period_interval, end_period_ts).
- market_id → polymarket.markets
- token_id → polymarket.tokens
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| market_id | bigint | — |
| token_id | string | — |
| close_bps | integernullable | — |
| end_period_ts | integer | Unix epoch second of period end |
| high_bps | integernullable | — |
| low_bps | integernullable | — |
| open_bps | integernullable | — |
| period_interval | integer | Period length in seconds (1, 60, 300, 3600) |
| size | bigint | Total share size in micro-units |
| volume | integer | Trade count in period |
polymarket.market_snapshots9 fields· 1 refsendpoints →
Market-level snapshots on Polymarket — aggregate volume, open interest, last trade price, and resolution status captured over time as the market trades. Tracks bid/ask/last and volume/liquidity over time. Coverage begins 2026-04; cadence is roughly hourly.
- market_id → polymarket.markets
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| condition_id | string | Denormalized for efficient queries |
| market_id | bigint | — |
| best_ask_bps | integernullable | — |
| best_bid_bps | integernullable | — |
| captured_at | timestamptz | — |
| last_trade_price_bps | integernullable | — |
| liquidity | bigintnullable | — |
| volume | bigintnullable | Cumulative at capture time |
polymarket.order_book_snapshots10 fields· 2 refsendpoints →
Order-book depth snapshots for Polymarket outcome tokens — the bid and ask ladders captured at a point in time, showing the resting liquidity at each price level. Top 10 levels per side per token at capture time. Coverage begins 2026-04; pregame cadence (captures generally stop shortly after tip-off).
- market_id → polymarket.markets
- token_id → polymarket.tokens
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| market_id | bigint | — |
| token_id | string | — |
| captured_at | timestamptz | — |
| depth_rank | integer | 0=best (top of book), 1=second best, etc. |
| midpoint_bps | integernullable | Midpoint price at capture time |
| price_bps | integer | Price level in basis points |
| side | string | "BID" or "ASK" |
| size | bigint | Size at this level in micro-units |
| spread_bps | integernullable | Bid-ask spread at capture time (top of book only) |
polymarket.price_histories10 fields· 2 refsendpoints →
Historical price tracks for each Polymarket outcome token — the full time-series of trading prices since the market opened. Analogous to kalshi.candle.
- market_id → polymarket.markets
- token_id → polymarket.tokens
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| market_id | bigint | Denormalized for market-level queries |
| token_id | string | Polymarket clobTokenId |
| close_bps | integer | — |
| high_bps | integer | — |
| interval_seconds | integer | Period length in seconds (60, 3600, 86400) |
| low_bps | integer | — |
| open_bps | integer | Opening price in basis points |
| period_start | timestamptz | Start of this OHLC period |
| volume | bigintnullable | Period volume |
polymarket.public_trades10 fields· 2 refsendpoints →
Every executed trade on Polymarket — price, size, side (buy or sell of each token), and timestamp, comprising the public market tape. Represents completed market trades.
- market_id → polymarket.markets
- token_id → polymarket.tokens
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| market_id | bigint | Denormalized for market-level queries |
| token_id | string | Polymarket clobTokenId |
| trade_id | string | Trade ID from Polymarket API |
| maker_address | stringnullable | Maker address (limit order provider) from on-chain event |
| price_bps | integer | Trade price in basis points (0-10000) |
| side | string | "BUY" or "SELL" |
| size | bigint | Trade size (number of shares) |
| taker_address | stringnullable | Taker address (market order) from on-chain event |
| traded_at | timestamptz | — |
polymarket.token_snapshots5 fields· 2 refsendpoints →
Token-level snapshots on Polymarket — the bid, ask, and last trade price for each outcome token captured over time as the market trades. Critical for multi-outcome markets where each token moves independently. Coverage begins 2026-04; cadence is roughly 1-2 hours.
- market_id → polymarket.markets
- token_id → polymarket.tokens
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| market_id | bigint | Denormalized for market-level queries |
| token_id | string | Polymarket clobTokenId |
| captured_at | timestamptz | — |
| price_bps | integer | Price in basis points (0-10000) |
DFS13 tables
dfs.slates9 fields· 1 refs· 3 referenced-byendpoints →
DFS contest slate. A slate is one operator + one league + a fixed game pool + scoring rules; users build lineups against it.
- operator_id → main.operators
- dfs.contests.slate_id
- dfs.slate_games.slate_id
- dfs.slate_players.slate_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| external_id | bigint | Operator-side slate identifier (e.g., DraftKings contest group ID). |
| league_id | bigint | FK to the league this slate belongs to. |
| operator_id | bigint | FK to the DFS operator (DraftKings, FanDuel, Yahoo, etc.). |
| slate_setting_id | bigint | FK to slate_settings — the scoring format and roster constraints for this slate. |
| date | date | Calendar day of the slate in US Eastern time (DB-generated from start_time — read-only). |
| main | boolean | Whether this is the main slate for this operator/league. Currently never populated (always false) — identify main slates by name/start_time until the loader fills it. |
| name | stringnullable | Human-readable slate label (e.g., "Sunday Main", "Showdown: TB vs KC"). |
| start_time | timestamptz | Lock time — first scheduled tip/kickoff of any game in the pool. |
dfs.contest_user_lineup_player_entries6 fieldsendpoints →
A single roster slot within a submitted contest lineup — one slate player in one position, with the fantasy points they scored.
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| contest_user_lineup_id | bigint | FK to the submitted lineup this roster slot belongs to. |
| slate_player_id | bigint | References slate_player (player_id, salary, position) |
| display_order | integer | — |
| points | decimalnullable | Fantasy points scored by this player |
| roster_position | string | Position slot: PG, SG, SF, PF, C, UTIL, etc. |
dfs.contest_users4 fields· 1 refsendpoints →
A contest entrant — one operator-side user who submitted at least one lineup. Identified by the operator's user id, not a statview account.
- operator_id → main.operators
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| external_id | string | Operator user ID |
| operator_id | bigint | — |
| name | stringnullable | — |
dfs.game_stats4 fieldsendpoints →
Per-game results for the games in a slate's pool (coming soon).
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| league_id | bigint | — |
| data | jsonb | — |
dfs.player_stats6 fieldsendpoints →
Per-player fantasy scoring results for a slate's games (coming soon — populated after the DFS stat loader ships).
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| league_id | bigint | — |
| player_id | bigint | — |
| team_id | bigint | — |
| data | jsonb | — |
dfs.slate_player_projections8 fieldsendpoints →
Fantasy-points projection for one player in one slate from one source. Multiple sources produce multiple rows per (slate_player).
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| slate_player_id | bigint | FK to dfs.slate_players — which slate-player this projection covers. |
| slate_projection_source_id | bigint | FK to dfs.slate_projection_sources — which provider produced this projection. |
| ceiling | decimalnullable | 85th percentile projection (upside) |
| floor | decimalnullable | 15th percentile projection (conservative) |
| projection | decimal | Median (P50) projected fantasy points. |
| stats | jsonbnullable | Component stat projections by sport. NFL example: {"pass_yds": 275.5, "pass_tds": 1.5, "pass_ints": 0.5, "rush_yds": 22.5, "rush_tds": 0.3, "rec": 4.5, "rec_yds": 45.0, "rec_tds": 0.4} |
| std_dev | decimalnullable | Standard deviation for simulation/distribution |
dfs.slate_projection_sources7 fieldsendpoints →
A registered projection provider for a slate (e.g., RotoGrinders consensus, an in-house model, a user upload).
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| slate_setting_id | bigint | FK to dfs.slate_settings — which slate format this source provides projections for. |
| description | stringnullable | Free-text description of the source methodology. |
| display_order | integer | Sort order for UI display. |
| enabled | boolean | False hides this source from lineup-builder dropdowns. |
| name | string | Display name of the projection source. |
| source_type | integer | Source-type enum (0=manual upload, 1=consensus, 2=model, etc.). |
dfs.slate_settings8 fields· 1 refsendpoints →
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.
- operator_id → main.operators
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| league_id | bigint | — |
| operator_id | bigint | — |
| contest_type | integer | — |
| game_style | stringnullable | — |
| game_type | integer | — |
| name | string | — |
| settings | jsonb | 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. |
dfs.team_stats5 fieldsendpoints →
Per-team fantasy-relevant results for a slate's games (coming soon).
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| game_id | bigint | — |
| league_id | bigint | — |
| team_id | bigint | — |
| data | jsonb | — |
dfs.contests11 fields· 1 refs· 1 referenced-byendpoints →
A DFS contest run on a slate — its entry fee, prize pool, entry caps, and type (GPP vs cash). One slate hosts many contests.
- slate_id → dfs.slates
- dfs.contest_user_lineups.contest_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| external_id | bigint | Operator contest ID |
| slate_id | bigint | FK to the slate this contest runs on. |
| contest_type | integer | 0=GPP, 1=Cash |
| entry_count | integer | Entries submitted at load time. |
| entry_fee | integer | Entry fee in cents |
| guaranteed | boolean | Whether the prize pool is guaranteed regardless of entries filled. |
| max_entries | integer | Maximum total entries the contest accepts. |
| max_entries_per_user | integer | Maximum lineups a single entrant may submit. |
| name | string | Operator-facing contest name (e.g. "$5 NBA Mini-MAX"). |
| prize_pool | integer | Total prize pool in cents |
dfs.slate_games6 fields· 1 refsendpoints →
Many-to-many bridge between a DFS slate and the sport games included in its pool.
- slate_id → dfs.slates
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| external_id | stringnullable | Operator-side game identifier. |
| game_id | bigint | Polymorphic reference to {nfl,nba,mlb}.games based on league_id |
| league_id | bigint | League key disambiguating the polymorphic game_id (nfl/nba/mlb/nhl). |
| slate_id | bigint | FK to dfs.slates. |
| data | jsonbnullable | Operator-provided game-level metadata (e.g., totals/spreads at slate snapshot). |
dfs.slate_players17 fields· 1 refsendpoints →
Player pool for a DFS slate — one row per (slate, player, roster slot). Carries operator salary, positions, and any operator-side metadata.
- slate_id → dfs.slates
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| export_id | stringnullable | Operator player ID used for CSV export/import |
| external_id | stringnullable | Operator player identifier in this slate. |
| league_id | bigint | League key disambiguating player_id. |
| player_id | bigint | Polymorphic FK to {nfl,nba,mlb,nhl}.players based on league_id. |
| slate_game_id | bigint | FK to dfs.slate_games — the specific slate-game this player is rostered to. |
| slate_id | bigint | FK to dfs.slates. |
| team_id | bigintnullable | Polymorphic FK to {league}.teams. Null for golfers and other player-only sports. |
| avg_points | floatnullable | Average fantasy points from operator |
| display_name | stringnullable | Full display name from operator |
| first_name | stringnullable | Player first name from operator |
| injury_details | stringnullable | Injury body part/details |
| injury_status | stringnullable | Injury status (Q, D, O, IR) |
| last_name | stringnullable | Player last name from operator |
| position | string | Primary position label per operator (e.g., RB, WR, PG, SP). |
| roster_position | string | Roster slot the player can fill (RB, FLEX, UTIL, CPT, etc.) — distinguishes multi-slot eligibility. Legacy showdown rows may carry an empty string for the non-captain slot. |
| salary | integer | Operator-assigned DFS salary (whole dollars; e.g., 8400 = $8,400). |
dfs.contest_user_lineups7 fields· 1 refsendpoints →
A single lineup submitted to a contest by an entrant, with its finishing rank, total fantasy points, and winnings where the contest has settled.
- contest_id → dfs.contests
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| contest_id | bigint | — |
| contest_user_id | bigint | — |
| external_id | bigint | Operator entry ID |
| points | decimalnullable | Total fantasy points scored |
| rank | integernullable | — |
| winnings | integernullable | Prize won in cents |
Reference1 tables
main.operators7 fields· 21 referenced-byendpoints →
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.
- nfl.operator_team_lookups.operator_id
- nfl.game_lines.operator_id
- nfl.operator_player_lookups.operator_id
- nba.operator_team_lookups.operator_id
- nba.game_lines.operator_id
- nba.game_period_lines.operator_id
- nba.game_player_props.operator_id
- nba.operator_player_lookups.operator_id
- mlb.operator_team_lookups.operator_id
- mlb.series_odds.operator_id
- mlb.game_alt_lines.operator_id
- mlb.game_lines.operator_id
- mlb.game_period_lines.operator_id
- mlb.game_player_props.operator_id
- mlb.operator_player_lookups.operator_id
- nhl.operator_team_lookups.operator_id
- nhl.operator_player_lookups.operator_id
- golf.operator_player_lookups.operator_id
- dfs.slates.operator_id
- dfs.contest_users.operator_id
- dfs.slate_settings.operator_id
| Field | Type | Description |
|---|---|---|
| idkey | bigint | Primary Key |
| code | string | Stable machine code (e.g. draftkings, fanduel, consensus, pinnacle). |
| description | stringnullable | — |
| is_active | boolean | False for operators no longer ingested. |
| name | string | Display name (e.g. DraftKings, FanDuel, Pinnacle). |
| operator_type | string | Operator class — DFS, betting, media, or data provider (mixed-case legacy values exist). |
| website_url | stringnullable | — |