NBA GraphQL Reference
Every NBA game across the 82-game regular season, the In-Season Tournament, the play-in round, and the four-round playoffs through the Finals — with the players, coaching staffs, depth charts, injuries, betting markets, and possession-level play-by-play behind them.
Every GraphQL type, relation, argument, and field — generated from the served schema, so it can never disagree with the API. Each column is documented inline; relations and foreign keys link straight to the type they resolve to. Root fields take the same filters as REST; requests are metered by rows resolved, nested lists included.
Main
NBASeasonsFields (8)
idBigIntkeyPrimary Key
start_dateString2016-10-25T04:00:00.000Zend_dateStringnullable2017-06-12T04:00:00.000Zstart_yearInt2016regular_season_start_dateStringnullable2016-10-25T04:00:00.000Zpost_season_start_dateStringnullable2017-04-15T04:00:00.000Zcreated_atStringupdated_atStringRelations (11)
nba.game_lines rows whose season_id references this row.
nba.game_period_lines rows whose season_id references this row.
nba.game_player_props rows whose season_id references this row.
nba.games rows whose season_id references this row.
nba.playoffs rows whose season_id references this row.
nba.season_player_stats rows whose season_id references this row.
nba.season_team_stats rows whose season_id references this row.
nba.team_coaching_staffs rows whose season_id references this row.
nba.team_depth_charts rows whose season_id references this row.
nba.team_game_contexts rows whose season_id references this row.
nba.team_standings rows whose season_id references this row.
Arguments (2)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
NBATeamsFields (12)
idBigIntkeyPrimary Key
abbreviationStringBOScityStringLos Angelesleague_team_idIntnullableOfficial NBA team ID from stats.nba.com
1610612738conferenceStringEasternValues:EasternWesterndivisionStringAtlanticValues:AtlanticCentralSoutheastNorthwestPacificSouthwestfull_nameStringBoston CelticsnameStringCelticsactiveBooleantruecreated_atStringupdated_atStringRelations (23)
The nba.stadiums row referenced by stadium_id; null when unlinked.
nba.game_player_stats rows whose team_id references this row.
nba.game_possessions rows whose team_id references this row.
nba.game_team_lineup_stints rows whose team_id references this row.
nba.game_team_rosters rows whose team_id references this row.
nba.game_team_stats rows whose team_id references this row.
nba.games rows whose away_team_id references this row.
nba.games rows whose home_team_id references this row.
nba.operator_team_lookups rows whose team_id references this row.
nba.play_by_plays rows whose player2_team_id references this row.
nba.play_by_plays rows whose player3_team_id references this row.
nba.play_by_plays rows whose team_id references this row.
nba.player_news rows whose opponent_team_id references this row.
nba.player_news rows whose team_id references this row.
nba.players rows whose team_id references this row.
nba.playoffs rows whose away_team_id references this row.
nba.playoffs rows whose home_team_id references this row.
nba.season_team_stats rows whose team_id references this row.
nba.team_coaching_staffs rows whose team_id references this row.
nba.team_depth_charts rows whose team_id references this row.
nba.team_game_contexts rows whose opponent_team_id references this row.
nba.team_game_contexts rows whose team_id references this row.
nba.team_standings rows whose team_id references this row.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.activeBooleanFilter by active status (defaults to true to show only currently-active rows; pass active=false to include inactive).
NBAGamesseason_id.Fields (29)
idBigIntkeyPrimary Key
2023game_timeStringnullableScheduled tip-off (timezone-aware); null when the league published no time.
2025-04-13T19:30:00.000Zleague_game_idStringnullableOfficial NBA game ID from stats.nba.com
002250065011statusStringFinalend_timeStringnullable2025-03-20T04:11:00.000Zseason_typeStringregular_seasonValues:regular_seasonpostseasonpreseasonplay_inin_season_tournamentdayInt20250413away_teamStringBOShome_teamStringBOS19channelStringnullableNBA TVattendanceIntnullable19156away_team_scoreInt113home_team_scoreInt112home_rotation_numberIntnullableaway_rotation_numberIntnullableneutral_venueBooleanfalseValues:falsetrueseries_nameStringnullableif_necessaryBooleannullableseries_game_numberStringnullablegame_labelStringnullablegame_sub_labelStringnullableseries_textStringnullablepostponed_statusStringnullablecreated_atStringupdated_atStringRelations (15)
The nba.seasons row referenced by season_id; null when unlinked.
The nba.stadiums row referenced by stadium_id; null when unlinked.
nba.game_broadcasters rows whose game_id references this row.
nba.game_lines rows whose game_id references this row.
nba.game_period_lines rows whose game_id references this row.
nba.game_player_props rows whose game_id references this row.
nba.game_player_stats rows whose game_id references this row.
nba.game_possessions rows whose game_id references this row.
nba.game_referees rows whose game_id references this row.
nba.game_team_lineup_stints rows whose game_id references this row.
nba.game_team_rosters rows whose game_id references this row.
nba.game_team_stats rows whose game_id references this row.
nba.play_by_plays rows whose game_id references this row.
nba.player_news rows whose game_id references this row.
nba.team_game_contexts rows whose game_id references this row.
Arguments (11)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.season_idIntFilter to a season. Defaults to the current season.home_team_idIntFilter by home team.away_team_idIntFilter by away team.statusStringFilter by game status.dayIntFilter by calendar day (YYYYMMDD integer, US Eastern) — e.g. day=20260609 for tonight's slate. Note season_id defaults to the current season; pass season_id explicitly when querying a past season's day.day__gteIntgtecomparison onday.day__lteIntltecomparison onday.day__betweenStringRange filter onday— pass "lo,hi".season_typeStringFilter by season phase (regular_season, preseason, postseason, play_in, in_season_tournament, all_star).
NBAPlayersroster_status (the canonical cross-league vocabulary) and team_id (null for free agents and retired players). Pass ?team_id= to scope to one franchise's current roster, or omit it to scan the full historical roster pool.roster_status.Fields (42)
idBigIntkeyPrimary Key
first_nameStringPlayer's legal first name as registered with the league.
Nikolalast_nameStringPlayer's legal last name.
Jokićfull_nameStringConvenience concatenation of first_name + last_name. Use this for display.
Nikola JokićjerseyStringnullableCurrent jersey number as a string (some leagues allow leading zeros, e.g., "00").
15league_player_idIntOfficial NBA player ID from stats.nba.com. Stable across seasons; use for cross-API joins to nba_stats sources.
203999primary_positionStringPrimary position. One of G, F, C, G-F, F-C. (True PG/SG/SF/PF splits live in team_depth_charts.position.)
CValues:GFCG-FF-CUnknownfull_position_listStringnullableHyphenated full-word position list (e.g., "Guard-Forward", "Center-Forward").
Guard-ForwardValues:GuardForwardCenterGuard-ForwardForward-CenterCenter-ForwardForward-Guardleague_slugStringnullableNBA-issued URL slug (e.g., for stats.nba.com player page).
nikola-jokicposition_categoryStringnullableCoarse positional grouping. One of Guard, Forward, Center, Utility.
CenterValues:GuardForwardCenterUtilityheightIntnullableHeight in inches.
83weightIntnullableListed weight in pounds.
284birth_dateStringnullableBirth date in YYYY-MM-DD form.
1995-02-19birth_cityStringnullableCity of birth.
Somborbirth_stateStringnullableState / province of birth (US/Canadian players).
birth_countryStringnullableCountry of birth (ISO English name).
SerbiaschoolStringnullableLast school attended before the NBA (college, prep, or international club).
Mega BasketexperienceIntnullableYears of NBA experience as of the most recent season. Rookies = 0.
10display_last_comma_firstStringnullableDisplay name in "Last, First" form. Useful for sorted lists.
Jokić, Nikoladisplay_fi_lastStringnullableDisplay name in "F. Last" form.
N. Jokićlast_affiliationStringnullableMost recent pre-NBA affiliation (school, league, or team).
Mega Basket / Serbiateam_nameStringnullableCurrent team's mascot name (denormalized from teams.name for read convenience).
Nuggetsteam_abbreviationStringnullableCurrent team's tri-letter code.
DENteam_codeStringnullableCurrent team's lowercase URL slug.
nuggetsteam_cityStringnullableCurrent team's city name.
DenverplayercodeStringnullableNBA-issued player code (lastname_firstname format).
jokic_nikolafrom_yearStringnullablePlayer's NBA debut year as a string (per stats.nba.com).
2015to_yearStringnullablePlayer's most recent NBA season year. Equal to from_year for rookies.
2025dleague_flagStringnullableTwo-character bit-string from stats.nba.com: "00" no G-League history, "01" G-League experience, "11" currently G-League-affiliated (two-way / assignment).
00nba_flagStringnullableString "Y"/"N" indicating NBA experience. Almost always "Y" in this table.
Ygames_played_flagStringnullableString "Y"/"N" indicating whether the player has played at least one regular-season game.
YValues:YNdraft_yearStringnullableYear the player was drafted (string form). Empty for undrafted players.
2014draft_roundStringnullableDraft round (string). Empty for undrafted players.
2draft_numberStringnullableOverall pick number within the draft (string). Empty for undrafted.
41roster_statusStringnullableCanonical roster status, shared across leagues. NBA source granularity is coarse: "active" (on an NBA roster), "free_agent" (no team), "inactive" (not currently rostered); injured_reserve/retired appear where derivable. The "on a team now" set is {active, injured_reserve}.
activeValues:inactiveactivefree_agentcreated_atStringupdated_atStringinjury_statusStringnullableCurrent injury status snapshot derived from player_news. Values: "OUT", "QUESTIONABLE"; null = no active injury designation (healthy).
OUTValues:OUTQUESTIONABLEinjury_body_partStringnullableAffected body part for the most recent injury (e.g., "Knee", "Ankle"). Null when injury_status is null.
anklekneeillnesshiptoebackwristfootcalfhamstringpelvisabdomenheelrestachillesthumbhandinjury_detailStringnullableFree-text injury description from the source feed.
injury_sinceStringnullableTimestamp of the injury status snapshot. Updated when player_news produces a new injury entry.
2026-04-12T18:30:00ZRelations (16)
The nba.teams row referenced by team_id; null when unlinked.
nba.game_player_props rows whose player_id references this row.
nba.game_player_stats rows whose player_id references this row.
nba.game_team_lineup_stints rows whose player1_id references this row.
nba.game_team_lineup_stints rows whose player2_id references this row.
nba.game_team_lineup_stints rows whose player3_id references this row.
nba.game_team_lineup_stints rows whose player4_id references this row.
nba.game_team_lineup_stints rows whose player5_id references this row.
nba.game_team_rosters rows whose player_id references this row.
nba.operator_player_lookups rows whose player_id references this row.
nba.play_by_plays rows whose player2_id references this row.
nba.play_by_plays rows whose player3_id references this row.
nba.play_by_plays rows whose player_id references this row.
nba.player_news rows whose player_id references this row.
nba.season_player_stats rows whose player_id references this row.
nba.team_depth_charts rows whose player_id references this row.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.team_idIntFilter to players whose current team_id matches. Null team_id rows (free agents, retired) are excluded when this filter is applied.roster_statusStringFilter by canonical roster status. Defaults to active (current roster); pass roster_status= explicitly for other tiers (injured_reserve, free_agent, retired, inactive). The "on a team now" set is {active, injured_reserve}.
Plays
NBAGamePossessionsgame_id.Fields (31)
idBigIntkeyPrimary Key
235719start_nba_event_numInt4end_nba_event_numInt7periodInt1home_scoreInt82away_scoreInt38start_clockInt720end_clockIntnullable0created_atStringupdated_atStringfgaInt1fgmInt0fg3aInt0fg3mInt0ftaInt0ftmInt0orebInt0drebInt0astInt0stlInt0blkInt0tovInt0pfInt0ptsInt0cum_home_possInt75cum_away_possInt13game_seconds_elapsedInt720time_actual_startStringnullable2024-10-28T23:53:48.400Ztime_actual_endStringnullable2024-10-30T02:08:06.000ZRelations (3)
The nba.games row referenced by game_id; null when unlinked.
The nba.teams row referenced by team_id; null when unlinked.
nba.play_by_plays rows whose game_possession_id references this row.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.team_idIntFilter by team in possession.
NBAPlayByPlaysgame_id.Fields (23)
idBigIntkeyPrimary Key
play_idString0052400111_2nba_event_numInt21645745823774921event_typeInt8event_sub_typeInt0home_descriptionStringvisitor_descriptionStringneutral_descriptionStringstart_clockInt720end_clockIntnullable492122721created_atStringupdated_atStringtime_actualStringnullable2025-04-17T01:56:41.900Zevent_seqInt100possession_seqInt142Relations (8)
The nba.games row referenced by game_id; null when unlinked.
The nba.game_possessions row referenced by game_possession_id; null when unlinked.
The nba.players row referenced by player2_id; null when unlinked.
The nba.teams row referenced by player2_team_id; null when unlinked.
The nba.players row referenced by player3_id; null when unlinked.
The nba.teams row referenced by player3_team_id; null when unlinked.
The nba.players row referenced by player_id; null when unlinked.
The nba.teams row referenced by team_id; null when unlinked.
Arguments (6)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.player_idIntFilter to plays involving a specific player.team_idIntFilter to plays by a specific team.event_typeIntFilter by event type code: 1 made shot, 2 missed shot, 3 free throw, 4 rebound, 5 turnover, 6 foul, 7 violation, 8 substitution, 9 timeout, 10 jump ball, 11 ejection, 12 period start, 13 period end, 18 instant replay (stats.nba.com codes).
Stats
NBASeasonTeamStatsseason_id.Fields (11)
idBigIntkeyPrimary Key
112024games_playedInt82winsInt44lossesInt38tiesInt0pts_scoredInt9372pts_allowedInt0created_atStringupdated_atStringRelations (2)
The nba.seasons row referenced by season_id; null when unlinked.
The nba.teams row referenced by team_id; null when unlinked.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.season_idIntFilter to a single season. Defaults to the current season.team_idIntFilter by team.
NBATeamStandingsseason_id.Fields (23)
idBigIntkeyPrimary Key
20241dayIntYYYYMMDD — standings as of this date (before games on this day)
20241103winsInt2lossesInt1win_pctFloat0.5000conference_rankInt1-15 within conference
8division_rankInt1-5 within division
1conference_gbFloatGames back from conference leader
0.0000playoff_gbFloatGames back from 6th seed (auto-qualify cutoff)
0.0000playin_gbFloatGames back from 10th seed (play-in cutoff)
0.0000games_playedInt1games_remainingInt81l10_winsInt6l10_lossesInt4streakIntPositive = win streak, negative = loss streak
-1home_winsInt1home_lossesInt4away_winsInt1away_lossesInt6created_atStringupdated_atStringRelations (2)
The nba.seasons row referenced by season_id; null when unlinked.
The nba.teams row referenced by team_id; null when unlinked.
Arguments (8)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.season_idIntFilter to a single season. Defaults to the current season.team_idIntFilter by team.dayIntStandings as of this day (YYYYMMDD integer). Omit for all daily snapshots, newest first; pass a day for a point-in-time table.day__gteIntgtecomparison onday.day__lteIntltecomparison onday.day__betweenStringRange filter onday— pass "lo,hi".
NBAGamePlayerStatsgame_id | player_id.Fields (115)
idBigIntkeyPrimary Key
1221775commentStringnullablestart_positionStringnullableGValues:GFCminutesFloat31.7000ptsInt0assistsInt0reboundsInt2stealsInt0blocksInt0turnoversInt0foulsIntTotal fouls: personal_fouls + technical_fouls. Use personal_fouls, not this, to judge foul trouble — a player fouls out on 6 PERSONAL fouls and technicals do not count toward that.
1field_goals_madeInt1field_goals_attemptedInt5three_pointers_madeInt0three_pointers_attemptedInt0free_throws_madeInt0free_throws_attemptedInt0offensive_reboundsInt0defensive_reboundsInt1potential_assistsIntnullable0shots_blockedIntnullable0deflectionsIntnullable1contestsIntnullable1charges_takenIntnullable0passes_deflectedIntnullable0balls_stolenIntnullable0loose_balls_recoveredIntnullable0personal_foulsIntPersonal fouls only — the count a player fouls out on at 6. Includes offensive and flagrant fouls, which the NBA scores as personal fouls.
1offensive_foulsIntOffensive fouls. A SUBSET of personal_fouls, not an addition to it.
0technical_foulsIntTechnical fouls. The one foul type the NBA keeps OUT of the personal count; 2 means ejection.
0fouls_drawnInt0and_onesInt0traveling_violationsInt0double_dribble_violationsInt0carrying_palming_violationsInt0backcourt_violationsInt0shot_clock_violationsInt0lane_violationsInt0goaltending_violationsInt0basket_interference_violationsInt0substitutions_inInt0substitutions_outInt0jump_balls_wonInt0jump_balls_lostInt0timeouts_calledInt0challenges_requestedInt0shot_contested_countIntnullable1dunksInt0layupsInt0alley_oopsInt0put_backsInt0fast_break_ptsInt0second_chance_ptsInt0hockey_assistsIntnullable0screen_assistsIntnullable0box_outsIntnullable0ejectionsInt0plus_minusInt0field_goal_percentageFloatnullable0.0000three_point_percentageFloatnullable0.0000free_throw_percentageFloatnullable0.0000triple_doublesInt0double_doublesInt0estimated_offensive_ratingFloatnullable100.0000offensive_ratingFloatnullable100.0000estimated_defensive_ratingFloatnullable100.0000defensive_ratingFloatnullable100.0000estimated_net_ratingFloatnullable0.0000net_ratingFloatnullable0.0000assist_percentageFloatnullable0.0000assist_to_turnoverFloatnullable0.0000assist_ratioFloatnullable0.0000offensive_rebound_percentageFloatnullable0.0000defensive_rebound_percentageFloatnullable0.0000rebound_percentageFloatnullable0.0000turnover_ratioFloatnullable0.0000effective_field_goal_percentageFloatnullable0.0000true_shooting_percentageFloatnullable0.0000usage_percentageFloatnullable0.0000estimated_usage_percentageFloatnullable0.1670estimated_paceFloatnullable84.7100possessionsInt53touchesIntnullable28front_court_touchesIntnullable14avg_seconds_per_touchFloatnullable0.0000avg_dribbles_per_touchFloatnullable0.0000elbow_touchesIntnullable0paint_touchesIntnullable0time_of_possessionFloatnullable0.2000post_touchesIntnullable0pts_per_touchFloatnullable0.0000pts_per_elbow_touchFloatnullablepts_per_post_touchFloatnullablepts_per_paint_touchFloatnullableplayer_impact_estimateFloat0.0000drivesIntnullable0passesIntnullable18pass_percentageFloatnullable0.0000created_atStringupdated_atStringgame_dateInt20251112rotation_contextStringnullablenormalValues:normalgarbage_time_boostambiguous_anomalyblowout_restfoul_troublefoul_outinjury_exitdnp_coachfoul_trouble_severityInt0abnormal_exit_periodInt0abnormal_exit_clockInt0garbage_time_minutesFloat0competitive_minutesFloat0.0rotation_context_confidenceFloat0.5minutes_deviation_pctFloat0role_archetypeStringnullabledeep_benchValues:deep_benchco_starcore_starterrotationend_of_benchalphasixth_mantwo_wayrole_archetype_confidenceFloat0.6role_anomalous_gameBooleanfalseValues:falsetrueRelations (3)
The nba.games row referenced by game_id; null when unlinked.
The nba.players row referenced by player_id; null when unlinked.
The nba.teams row referenced by team_id; null when unlinked.
Arguments (9)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.player_idIntFilter to a single player — their full game log, newest first. Combine with game_date ranges to window it.team_idIntFilter by team.game_dateIntFilter by game day (YYYYMMDD integer, US Eastern).game_date__gteIntgtecomparison ongame_date.game_date__lteIntltecomparison ongame_date.game_date__betweenStringRange filter ongame_date— pass "lo,hi".
NBAGameTeamStatsgame_id.Fields (72)
idBigIntkeyPrimary Key
612winInt0lossInt0minutesInt48ptsInt113assistsInt24reboundsInt42stealsInt7blocksInt4turnoversInt13foulsInt19field_goals_madeInt42field_goals_attemptedInt88field_goal_percentageFloat0.5000three_pointers_madeInt12three_pointers_attemptedInt34three_point_percentageFloat0.3330free_throws_madeInt17free_throws_attemptedInt21free_throw_percentageFloat0.7500offensive_reboundsInt10defensive_reboundsInt32fast_break_ptsInt11pts_in_paintInt50second_chance_ptsInt14pts_off_turnoversInt17bench_ptsInt34timeouts_remainingInt0assists_to_turnoversFloat2.0000steals_to_turnoversFloat0.5000defensive_ratingFloat100.0000offensive_ratingFloat100.0000net_ratingFloat2.0000assist_percentageFloat0.6670assist_ratioFloat0.0000offensive_rebound_percentageFloat0.3330defensive_rebound_percentageFloat0.6670rebound_percentageFloat0.5000turnover_percentageFloat0.0000possessionsInt101paceFloat101.0000pace_per40Float0.0000true_shooting_percentageFloat0.5760effective_field_goal_percentageFloat0.5000player_impact_estimateFloat0.0000estimated_offensive_ratingFloat0.0000estimated_defensive_ratingFloat0.0000estimated_net_ratingFloat0.0000estimated_paceFloat0.0000free_throw_attempt_rateFloat0.2500pct_fga_2ptFloat0.0000pct_fga_3ptFloat0.0000pct_pts_2ptFloat0.5000pct_pts_2pt_mrFloat0.0000pct_pts_3ptFloat0.0000pct_pts_fbFloat0.0000pct_pts_ftFloat0.0000pct_pts_off_tovFloat0.0000pct_pts_paintFloat0.0000pct_ast_2pmFloat0.5000pct_uast_2pmFloat0.5000pct_ast_3pmFloat1.0000pct_uast_3pmFloat0.0000pct_ast_fgmFloat0.6670pct_uast_fgmFloat0.3330created_atStringupdated_atStringwinsIntCumulative wins
0lossesIntCumulative losses
0conference_rankIntConference rank entering game
0Relations (2)
The nba.games row referenced by game_id; null when unlinked.
The nba.teams row referenced by team_id; null when unlinked.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.team_idIntFilter by team.
NBASeasonPlayerStatsseason_id | player_id.Fields (51)
idBigIntkeyPrimary Key
12021games_playedInt68created_atStringupdated_atStringwinsInt1lossesInt1minutesFloat1297.0367ptsInt0assistsInt0reboundsInt0stealsInt0blocksInt0turnoversInt0foulsInt0field_goals_madeInt0field_goals_attemptedInt6three_pointers_madeInt0three_pointers_attemptedInt0free_throws_madeInt0free_throws_attemptedInt0offensive_reboundsInt0defensive_reboundsInt0plus_minusInt-7double_doublesInt0triple_doublesInt0field_goal_percentageFloat0.5000three_point_percentageFloat0.0000free_throw_percentageFloat0.0000offensive_ratingFloat113.9000defensive_ratingFloat111.1000net_ratingFloat0.3000assist_percentageFloat0.0000assist_to_turnoverFloat0.0000assist_ratioFloat0.0000offensive_rebound_percentageFloat0.0000defensive_rebound_percentageFloat0.0000rebound_percentageFloat0.0620turnover_percentageFloat0.0000effective_field_goal_percentageFloat0.5000true_shooting_percentageFloat0.0000usage_percentageFloat0.1360paceFloat100.6900player_impact_estimateFloat0.0730possessionsInt41touchesInt160front_court_touchesInt24time_of_possessionFloat0.8000avg_seconds_per_touchFloat1.6400avg_dribbles_per_touchFloat1.0000Relations (2)
The nba.players row referenced by player_id; null when unlinked.
The nba.seasons row referenced by season_id; null when unlinked.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.season_idIntFilter to a single season. Defaults to the current season.player_idIntFilter to a single player.
Odds
NBAGameLinesgame_id.Fields (32)
idBigIntkeyPrimary Key
16082Sportsbook 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.
6spreadFloatnullableHome team spread (e.g., -3.5 means home favored by 3.5)
-2.5000spread_home_oddsIntnullableAmerican odds for home spread (e.g., -110)
-110spread_away_oddsIntnullableAmerican odds for away spread
-110moneyline_homeIntnullableAmerican odds for home team win
-170moneyline_awayIntnullableAmerican odds for away team win
145totalFloatnullableCombined score total line (e.g., 224.5)
225.5000over_oddsIntnullableAmerican odds for over
0under_oddsIntnullableAmerican odds for under
0implied_home_scoreFloatnullableCalculated from spread + total
109.7500implied_away_scoreFloatnullable109.0000implied_home_win_pctFloatnullableFrom moneyline, 0-1
0.6296implied_away_win_pctFloatnullable0.4082captured_atStringWhen this snapshot was captured
2022-04-10T00:00:00.000Zis_openingBooleanTrue if this is the opening line
falseValues:falsetruecreated_atStringupdated_atStringspread_bet_pct_homeIntnullablespread_bet_pct_awayIntnullablespread_money_pct_homeIntnullablespread_money_pct_awayIntnullablemoneyline_bet_pct_homeIntnullablemoneyline_bet_pct_awayIntnullablemoneyline_money_pct_homeIntnullablemoneyline_money_pct_awayIntnullabletotal_bet_pct_overIntnullabletotal_bet_pct_underIntnullabletotal_money_pct_overIntnullabletotal_money_pct_underIntnullableRelations (3)
The nba.games row referenced by game_id; null when unlinked.
The main.operators row referenced by operator_id; null when unlinked.
The nba.seasons row referenced by season_id; null when unlinked.
Arguments (6)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.season_idIntFilter by season.operator_idIntFilter by sportsbook id: 6 Consensus (full history), 1 DraftKings, 2 FanDuel, 1683 Pinnacle, 1684 BetMGM, 1685 Caesars, 1686 BetRivers, 1687 ESPN BET (per-book rows begin 2026-05).is_openingBooleanFilter to opening lines only. Reliable from the 2025-26 season; earlier seasons largely lack opener flags.
NBAGamePeriodLinesgame_id.Fields (19)
idBigIntkeyPrimary Key
769period_codeStringMarket period code (1H, 2H, Q1, Q2, Q3, Q4)
1HValues:1HQ1Q3Q4Q22HspreadFloatnullableHome team spread for this period
-0.5spread_home_oddsIntnullableAmerican odds for home spread (e.g., -110)
-110spread_away_oddsIntnullableAmerican odds for away spread
-110moneyline_homeIntnullableAmerican odds for home team win in this period
-105moneyline_awayIntnullableAmerican odds for away team win in this period
-105totalFloatnullableCombined score total line for this period
57.5over_oddsIntnullableAmerican odds for over
-110under_oddsIntnullableAmerican odds for under
-110implied_home_win_pctFloatnullableFrom moneyline, 0-1
0.5121951219512195implied_away_win_pctFloatnullable0.5121951219512195captured_atStringWhen this snapshot was captured
2024-01-05T05:00:00.000Zis_openingBooleanTrue if this is the first captured line for this period
falsecreated_atStringupdated_atStringRelations (3)
The nba.games row referenced by game_id; null when unlinked.
The main.operators row referenced by operator_id; null when unlinked.
The nba.seasons row referenced by season_id; null when unlinked.
Arguments (6)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.season_idIntFilter by season.operator_idIntFilter by sportsbook.period_codeStringFilter by period (1H, 2H, Q1, Q2, Q3, Q4).
NBAGamePlayerPropsgame_id | player_id + season_id.Fields (20)
idBigIntkeyPrimary Key
126157categoryStringCanonical category (points, rebounds, assists, pra, etc.)
pointsValues:pointsreboundsthree_pointers_madepts_reboundsdouble_doubleassistspts_rebounds_assistsrebounds_assistspts_assiststriple_doubleblocksstealsmarket_keyStringRaw market key from source API (e.g., player_points)
player_pointsValues:player_pointsplayer_reboundsplayer_threesplayer_points_reboundsplayer_double_doubleplayer_assistsplayer_points_rebounds_assistsplayer_rebounds_assistsplayer_points_assistsplayer_triple_doubleplayer_blocksplayer_stealssubcategoryStringnullableOptional subtype (alternate, boosted, etc.)
period_codeStringnullableOptional period code (Q1, 1H)
outcome_typeStringou | yes_no
ouValues:ouyes_nolineFloatnullableProp line for over/under markets (e.g., 24.5)
1.5over_oddsIntnullableAmerican odds for over
-120under_oddsIntnullableAmerican odds for under
-110yes_oddsIntnullableAmerican odds for yes
1100no_oddsIntnullableAmerican odds for no
-10000book_countIntNumber of curated books contributing to this consensus value
3captured_atStringWhen this snapshot was captured
2025-10-22T04:00:00.000Zis_openingBooleanTrue if this is the first captured line for this player/market
falsecreated_atStringupdated_atStringRelations (4)
The nba.games row referenced by game_id; null when unlinked.
The main.operators row referenced by operator_id; null when unlinked.
The nba.players row referenced by player_id; null when unlinked.
The nba.seasons row referenced by season_id; null when unlinked.
Arguments (8)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.player_idIntFilter to a single player. With season_id: the player's prop history across a season.season_idIntFilter by season.operator_idIntFilter by sportsbook. Historical rows are operator 6 (Consensus); per-book rows (1 DraftKings, 2 FanDuel, 1683 Pinnacle, 1684 BetMGM, 1685 Caesars, 1686 BetRivers, 1687 ESPN BET) begin 2026-05.categoryStringFilter by prop category (points, rebounds, assists, pra, etc.).market_keyStringFilter by raw market key (e.g., player_points).
Lineups & Roster
NBACoachingStaffsFields (7)
idBigIntkeyPrimary Key
first_nameStringMikelast_nameStringJonesnameStringStacey Augmoncoach_idIntOfficial NBA coach/staff ID from stats.nba.com
57created_atStringupdated_atStringRelations (1)
nba.team_coaching_staffs rows whose coaching_staff_id references this row.
Arguments (2)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
NBATeamCoachingStaffsteam_id.Fields (11)
idBigIntkeyPrimary Key
25coach_typeStringHead Coach, Assistant Coach, Trainer
Assistant CoachValues:Assistant CoachTrainerHead CoachAssistant Coach for Player DevelopmentAssociate Head CoachAssistant TrainerStrength and Conditioning CoachLead Assistant CoachDirector of Athletic DevelopmentInterim Head Coachis_assistantBooleantrueValues:truefalsesort_sequenceIntnullable4created_atStringupdated_atStringstart_dateStringTenure start date (derived from season start)
2025-10-21end_dateStringnullableTenure end date. NULL = still active.
2021-10-18395Relations (3)
The nba.coaching_staffs row referenced by coaching_staff_id; null when unlinked.
The nba.seasons row referenced by season_id; null when unlinked.
The nba.teams row referenced by team_id; null when unlinked.
Arguments (5)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.team_idIntFilter by team.season_idIntFilter to a season.coach_typeStringFilter by coach role (Head Coach, Assistant Coach, Trainer).
NBAGameTeamLineupStintsgame_id.Fields (27)
idBigIntkeyPrimary Key
12712periodInt253197187178258start_clockInt720end_clockInt0start_event_seqInt100end_event_seqInt7200possessionsInt2pts_scoredInt0pts_allowedInt0created_atStringupdated_atStringpaceFloat0.0000offensive_ratingFloat0.0000defensive_ratingFloat0.0000net_ratingFloat0.0000offensive_rebound_pctFloat0.0000defensive_rebound_pctFloat1.0000assist_pctFloat0.0000turnover_pctFloat0.0000player_statsJSONArray of individual player box scores and metrics recorded during this lineup stint.
[object Object],[object Object],[object Object],[object Object],[object Object]Relations (7)
The nba.games row referenced by game_id; null when unlinked.
The nba.players row referenced by player1_id; null when unlinked.
The nba.players row referenced by player2_id; null when unlinked.
The nba.players row referenced by player3_id; null when unlinked.
The nba.players row referenced by player4_id; null when unlinked.
The nba.players row referenced by player5_id; null when unlinked.
The nba.teams row referenced by team_id; null when unlinked.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.team_idIntFilter by team.
NBAGameTeamRostersgame_id.Fields (16)
idBigIntkeyPrimary Key
72412197positionStringnullableGValues:GFCG-FF-CcommentStringnullableINACTIVE_GLEAGUE_TWOWAYcreated_atStringupdated_atStringpre_game_statusIntnullablePre-tip roster availability: 1=Active, 2=Inactive, 3=Out
1pre_game_starterBooleannullablePre-tip expected starter flag from lineup sources
falseValues:falsetruepre_game_injury_statusStringnullablePre-tip injury designation: OUT, DOUBTFUL, QUESTIONABLE, PROBABLE
OUTValues:OUTQUESTIONABLEPROBABLEDOUBTFULpre_game_confirmedBooleannullablePre-tip lineup confidence from source (e.g. RotoWire confirmed vs expected)
truestatusIntnullableReconciled final roster availability: 1=Active, 2=Inactive, 3=Out
1starterBooleannullableWhether the player was in the starting five (reconciled post-game)
falseValues:falsetrueinjury_statusStringnullableReconciled final injury designation for the roster row
OUTValues:OUTQUESTIONABLEPROBABLEDOUBTFULconfirmedBooleannullableWhether the starter truth was established from post-game evidence
trueRelations (3)
The nba.games row referenced by game_id; null when unlinked.
The nba.players row referenced by player_id; null when unlinked.
The nba.teams row referenced by team_id; null when unlinked.
Arguments (5)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.team_idIntFilter by team.player_idIntFilter to a single player.
NBATeamDepthChartsteam_id + season_id.Fields (10)
idBigIntkeyPrimary Key
43372025dayIntYYYYMMDD snapshot day
20260214positionStringPG, SG, SF, PF, C
SFValues:SFSGPFPGCdepth_rankInt1-based rank within position (1 = starter)
1injury_statusStringnullableDay-To-Day, Out, etc. from ESPN
OutValues:OutDay-To-DaySuspensioncreated_atStringupdated_atStringRelations (3)
The nba.players row referenced by player_id; null when unlinked.
The nba.seasons row referenced by season_id; null when unlinked.
The nba.teams row referenced by team_id; null when unlinked.
Arguments (9)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.team_idIntFilter by team.season_idIntFilter to a season. Defaults to the current season.positionStringFilter by position (PG, SG, SF, PF, C).dayIntSnapshot day (YYYYMMDD integer). The table holds one snapshot per day; pass the latest day for the current depth chart.day__gteIntgtecomparison onday.day__lteIntltecomparison onday.day__betweenStringRange filter onday— pass "lo,hi".
Misc
NBAStadiumsFields (21)
idBigIntkeyPrimary Key
nameStringScotiabank Arenaleague_stadium_idIntnullableOfficial NBA arena ID from stats.nba.com
643longitudeFloatnullable-80.187latitudeFloatnullable25.7814elevationFloatnullableElevation in feet above sea level
198descriptionStringnullableHome of the Toronto Raptors. Multi-purpose arena in downtown Toronto, opened 1999.cityStringOrlandostateStringnullableFLcountryStringnullableUSValues:USCAMXGBFRDEAECNJPcapacityIntnullablesurfaceStringnullableroof_typeStringnullableArena roof type (all indoor)
opened_dateStringnullableclosed_dateStringnullableteam_nameStringnullabletimezoneStringnullableIANA timezone (e.g., America/New_York)
America/New_YorkValues:America/New_YorkAmerica/ChicagoAmerica/Los_AngelesAmerica/DenverAmerica/PhoenixAmerica/Mexico_CityAmerica/TorontoAmerica/Indiana/IndianapolisEurope/LondonEurope/ParisEurope/BerlinAsia/DubaiAmerica/Puerto_RicoAmerica/VancouverAsia/ShanghaiPacific/HonoluluAsia/TokyoAmerica/EdmontonaddressStringnullableimage_urlStringnullableURL to aerial/overview image of arena
created_atStringupdated_atStringRelations (2)
nba.games rows whose stadium_id references this row.
nba.teams rows whose stadium_id references this row.
Arguments (2)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
NBABroadcastersFields (13)
idBigIntkeyPrimary Key
broadcaster_scopeStringlocalValues:localnationalbroadcaster_mediaStringtvbroadcaster_displayStringBSINbroadcaster_abbreviationStringBSINbroadcaster_descriptionStringnullabletape_delay_commentsStringnullablebroadcaster_video_linkStringnullableregion_idInt0broadcaster_team_idInt0broadcaster_rankingInt0created_atStringupdated_atStringRelations (1)
nba.game_broadcasters rows whose broadcaster_id references this row.
Arguments (2)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
NBARefereesFields (15)
idBigIntkeyPrimary Key
first_nameStringBiniamlast_nameStringMarufull_nameStringBiniam Marujersey_numberStringnullable94nba_referee_idInt202027experienceIntnullableactiveBooleantruebirth_dateStringnullablebirth_cityStringnullablebirth_stateStringnullablebirth_countryStringnullablecollegeStringnullablecreated_atStringupdated_atStringRelations (1)
nba.game_referees rows whose referee_id references this row.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.activeBooleanFilter by active status (defaults to true to show only currently-active rows; pass active=false to include inactive).
NBAOperatorTeamLookupsoperator_id.Fields (8)
idBigIntkeyPrimary Key
operator_team_idStringExternal team ID from operator
2003team_nameStringnullableTeam name for reconciliation
Atlanta HawksabbreviationStringnullableTeam abbreviation for reconciliation
ATLcreated_atStringupdated_atStringRelations (2)
The main.operators row referenced by operator_id; null when unlinked.
The nba.teams row referenced by team_id; null when unlinked.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.operator_idIntFilter by operator.team_idIntFilter by team.
NBAPlayoffsFields (14)
idBigIntkeyPrimary Key
2020series_idBigInt202001series_nameStringEast First RoundValues:East First RoundWest First RoundEast Play-InWest Play-InEast Conference SemifinalsWest Conference SemifinalsWest Conference FinalsEast Conference FinalsNBA Finals113home_team_winsInt4away_team_winsInt0games_playedInt1max_gamesInt7statusStringCompletedseries_textStringMIA won 1-0created_atStringupdated_atStringRelations (3)
The nba.teams row referenced by away_team_id; null when unlinked.
The nba.teams row referenced by home_team_id; null when unlinked.
The nba.seasons row referenced by season_id; null when unlinked.
Arguments (2)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
NBAGameBroadcastersgame_id.Fields (6)
idBigIntkeyPrimary Key
1597510broadcaster_typeStringawayTvValues:awayTvhomeTvnationalTvcreated_atStringupdated_atStringRelations (2)
The nba.broadcasters row referenced by broadcaster_id; null when unlinked.
The nba.games row referenced by game_id; null when unlinked.
Arguments (5)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.broadcaster_idIntFilter by broadcaster.broadcaster_typeStringFilter by broadcaster role.
NBAGameRefereesgame_id.Fields (6)
idBigIntkeyPrimary Key
472758positionStringnullableRefereeValues:RefereeCrew ChiefUmpireALTERNATEcreated_atStringupdated_atStringRelations (2)
The nba.games row referenced by game_id; null when unlinked.
The nba.referees row referenced by referee_id; null when unlinked.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.referee_idIntFilter by referee.
NBAOperatorPlayerLookupsoperator_id.Fields (11)
idBigIntkeyPrimary Key
Operator id: 1 DraftKings, 2 FanDuel, 3 Yahoo, 13 sportsdata.io, 83 stats.nba.com.
83operator_player_idStringExternal player ID from operator
76001player_nameStringnullablePlayer name for reconciliation
George JohnsonpositionStringnullablePosition for reconciliation
GValues:GFCG-FF-CUnknowncreated_atStringupdated_atStringdecisionStringnullableHow this mapping was decided: 'derived' (finder answer, overwritable), 'pinned' (decided on evidence, trigger-protected), 'blocked' (no player we hold is this id; player_id NULL, never retried). DB default 'derived'; a BEFORE UPDATE trigger preserves non-derived rows.
deriveddecided_reasonStringnullableEvidence behind a pinned or blocked decision.
decided_atStringnullableWhen the pin or block was decided.
Relations (2)
The main.operators row referenced by operator_id; null when unlinked.
The nba.players row referenced by player_id; null when unlinked.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.operator_idIntFilter by operator id: 1 DraftKings, 2 FanDuel, 3 Yahoo, 13 sportsdata.io, 83 stats.nba.com.player_idIntFilter to a single player.
NBAPlayerNewsplayer_id | team_id.Fields (24)
idBigIntkeyPrimary Key
titleStringHeadline of the news report.
Assigned to D-LeaguedescriptionStringnullableBrief synopsis or summary of the news event.
Murray was assigned Sunday to the D-League's Austin Spurs.analysisStringnullableFantasy and tactical analysis of the news.
Barton had to be helped back to the locker room during the third quarter of Monday's loss to the Ra…sourceStringnullablePrimary news source or publication.
rotowirelinkStringnullableURL link to the original article or source video.
news_timeStringPublication timestamp of the news story.
2016-11-27T19:29:13.000ZpriorityIntDisplay priority score (1-10).
3created_atStringupdated_atStringcontentStringnullableFull text content of the news report.
categoryStringnullableinjury, transaction, lineup, general
external_idStringnullableUnique identifier from the news provider.
rotoql-14973ai_processedBooleanWhether this story was generated or enriched via LLM summarization.
falsesituational_impactJSONnullableStructured situational impact assessment and fantasy implications for the player.
status_enumStringnullableStandardized player status designation (RULED_OUT, DOUBTFUL, QUESTIONABLE, PROBABLE, CLEARED, MINUTES_LIMIT, MINUTES_LIFTED, STARTING, BENCHED, INACTIVE, ACTIVE, IR_PLACED, IR_ACTIVATED, TRADED, RELEASED, SIGNED, ROUTINE).
urgencyStringnullableUrgency level of the news event (BREAKING_GAME_TIME, HIGH, MEDIUM, ROUTINE).
sourcesJSONnullableSource citations with source name, URL, author, and published timestamp.
first_reported_atStringnullableTimestamp when this story was first reported before multi-source compaction.
Opponent team ID when this news item relates to an upcoming or active game matchup.
Associated game ID when this news item relates to a specific game.
Relations (4)
The nba.games row referenced by game_id; null when unlinked.
The nba.teams row referenced by opponent_team_id; null when unlinked.
The nba.players row referenced by player_id; null when unlinked.
The nba.teams row referenced by team_id; null when unlinked.
Arguments (11)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.player_idIntFilter to news about a single player.team_idIntFilter by team — a team-level news feed, newest first.categoryStringFilter by news category (injury, transaction, lineup, general).status_enumStringFilter by player status designation.urgencyStringFilter by news urgency.news_timeStringFilter by publication time (ISO 8601). Use news_time__gte to poll for items since your last check.news_time__gteStringgtecomparison onnews_time.news_time__lteStringltecomparison onnews_time.news_time__betweenStringRange filter onnews_time— pass "lo,hi".
NBATeamGameContextsgame_id.Fields (22)
idBigIntkeyPrimary Key
2374920249motivationStringcontender, 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
play_inValues:play_infringeearly_seasonseeding_battlecontendertankingplayoff_lockplayoff_competitiveplayoff_comfortableplayoff_desperateplayoff_clinchplayoff_eliminationist_contendingintensityInt1-10 motivation intensity scale
5season_phaseStringearly, mid, late, final_push, postseason
midValues:midlateearlyfinal_pushpostseasonseason_pctFloat0.0-1.0 how far through regular season
1.0000game_typeStringregular, playoff, play_in, ist_group, ist_knockout, preseason, allstar
regularValues:regularplayoffist_groupconference_rankInt8win_pctFloat0.5000games_remainingInt0team_series_winsInt0is_eliminationBooleanfalseValues:falsetrueis_clinchBooleanfalseValues:falsetrueist_group_rankIntnullableist_group_recordStringnullablee.g. 2-1
rest_daysInt1is_back_to_backBooleanfalseValues:falsetruecreated_atStringupdated_atStringRelations (4)
The nba.games row referenced by game_id; null when unlinked.
The nba.teams row referenced by opponent_team_id; null when unlinked.
The nba.seasons row referenced by season_id; null when unlinked.
The nba.teams row referenced by team_id; null when unlinked.
Arguments (5)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.team_idIntFilter by team.season_idIntFilter by season.