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_dateString2020-12-22T00:00:00.000Zend_dateStringnullable2021-07-20T00:00:00.000Zstart_yearInt2020regular_season_start_dateStringnullable2020-12-22T00:00:00.000Zpost_season_start_dateStringnullable2021-05-22T00: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 AngelesconferenceStringEasternValues:EasternWesternTest ConferencedivisionStringAtlanticValues:AtlanticCentralSoutheastNorthwestPacificSouthwestTest Divisionfull_nameStringBoston CelticsnameStringCelticsactiveBooleantruecreated_atStringupdated_atStringRelations (22)
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.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 team_id references this row.
nba.players rows whose 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 team_id references this row.
nba.team_standings rows whose team_id references this row.
nba.games rows whose home_team_id references this row.
nba.games rows whose away_team_id references this row.
nba.playoffs rows whose home_team_id references this row.
nba.playoffs rows whose away_team_id references this row.
nba.team_game_contexts rows whose opponent_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 (30)
idBigIntkeyPrimary Key
2023game_timeString2025-04-13T19:30:00.000Z11statusStringFinalstart_timeString2025-04-13T19:30:00.000Zend_timeStringnullable2022-11-07T07:12:00.000Zseason_typeStringregular_seasonValues:regular_seasonpostseasonpreseasonplay_inin_season_tournamentdayInt20250413away_teamStringBOShome_teamStringBOS19channelStringnullableNBA TVattendanceIntnullable19156away_team_scoreInt113home_team_scoreInt112home_rotation_numberIntnullableaway_rotation_numberIntnullableneutral_venueBooleanfalseseries_nameStringnullableif_necessaryBooleannullableseries_game_numberStringnullablegame_labelStringnullablegame_sub_labelStringnullableseries_textStringnullablepostponed_statusStringnullablecreated_atStringupdated_atStringRelations (16)
The nba.seasons row referenced by season_id; null when unlinked.
The nba.teams row referenced by home_team_id; null when unlinked.
The nba.teams row referenced by away_team_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.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").
15Official 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_numInt2game_possession_idBigInt1645745823774921event_typeInt8event_sub_typeInt0home_descriptionStringvisitor_descriptionStringneutral_descriptionStringstart_clockInt720end_clockIntnullableplayer2_idBigIntnullable4921player3_idBigIntnullable22721created_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_playedInt82winsInt48lossesInt32tiesInt0pts_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 (118)
idBigIntkeyPrimary Key
1221775commentStringnullablestart_positionStringnullableGValues:GFCminutesFloat31.7000ptsInt0assistsInt0reboundsInt2stealsInt0blocksInt0turnoversInt0foulsInt1field_goals_madeInt1field_goals_attemptedInt5three_pointers_madeInt0three_pointers_attemptedInt0free_throws_madeInt0free_throws_attemptedInt0offensive_reboundsInt0defensive_reboundsInt1potential_assistsIntnullable0shots_blockedIntnullable0deflectionsIntnullable1contestsIntnullable1charges_takenIntnullable0passes_deflectedIntnullable0balls_stolenIntnullable0loose_balls_recoveredIntnullable0personal_foulsInt1offensive_foulsInt0technical_foulsInt0flagrant_fouls_type_1Int0flagrant_fouls_type_2Int0clear_path_foulsInt0fouls_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_playedInt1created_atStringupdated_atStringwinsInt1lossesInt0minutesFloat5.3000ptsInt0assistsInt0reboundsInt2stealsInt0blocksInt0turnoversInt0foulsInt0field_goals_madeInt1field_goals_attemptedInt6three_pointers_madeInt0three_pointers_attemptedInt0free_throws_madeInt0free_throws_attemptedInt0offensive_reboundsInt0defensive_reboundsInt2plus_minusInt5double_doublesInt0triple_doublesInt0field_goal_percentageFloat0.5000three_point_percentageFloat0.0000free_throw_percentageFloat0.0000offensive_ratingFloat112.5000defensive_ratingFloat100.0000net_ratingFloat2.7000assist_percentageFloat0.0000assist_to_turnoverFloat0.0000assist_ratioFloat0.0000offensive_rebound_percentageFloat0.0000defensive_rebound_percentageFloat0.0000rebound_percentageFloat0.0000turnover_percentageFloat0.0000effective_field_goal_percentageFloat0.5000true_shooting_percentageFloat0.0000usage_percentageFloat0.1670paceFloat100.0000player_impact_estimateFloat0.0670possessionsInt43touchesInt0front_court_touchesInt0time_of_possessionFloat0.0000avg_seconds_per_touchFloat0.0000avg_dribbles_per_touchFloat0.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
8coach_typeStringHead Coach, Assistant Coach, Trainer
Assistant CoachValues:Assistant CoachHead CoachTrainerAssistant 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-21T04:00:00.000Zend_dateStringnullableTenure end date. NULL = still active.
2021-10-18T04:00:00.000Zcoaching_staff_idBigInt346Relations (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
12712periodInt2player1_idBigInt53player2_idBigInt197player3_idBigInt187player4_idBigInt178player5_idBigInt258start_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_statsJSON[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 (17)
idBigIntkeyPrimary Key
72412197positionStringnullableGValues:GFCG-FF-CcommentStringnullableINACTIVE_GLEAGUE_TWOWAYdayInt20260207created_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 ArenalongitudeFloatnullable-80.187latitudeFloatnullable25.7814elevationFloatnullableElevation in feet above sea level
198descriptionStringnullableHome of the Toronto Raptors. Multi-purpose arena in downtown Toronto, opened 1999.cityStringMiamistateStringnullableCAcountryStringnullableUSValues:USCAGBFRMXDEcapacityIntnullablesurfaceStringnullableroof_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/BerlinaddressStringnullableimage_urlStringnullableURL to aerial/overview image of arena
created_atStringupdated_atStringRelations (2)
nba.teams rows whose stadium_id references this row.
nba.games 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.
NBARefereesFields (15)
idBigIntkeyPrimary Key
first_nameStringBiniamlast_nameStringMarufull_nameStringBiniam Marujersey_numberStringnullable94202027experienceIntnullableactiveBooleantruebirth_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).
NBABroadcastersFields (14)
idBigIntkeyPrimary Key
broadcaster_scopeStringlocalValues:localnationalbroadcaster_mediaStringtv0broadcaster_displayStringBSINbroadcaster_abbreviationStringBSINbroadcaster_descriptionStringnullabletape_delay_commentsStringnullablebroadcaster_video_linkStringnullableregion_idInt00broadcaster_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.
NBAOperatorTeamLookupsoperator_id.Fields (8)
idBigIntkeyPrimary Key
team_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_gamesInt7statusStringCompletedValues:CompletedActiveseries_textStringMIA won 1-0created_atStringupdated_atStringRelations (3)
The nba.seasons row referenced by season_id; null when unlinked.
The nba.teams row referenced by home_team_id; null when unlinked.
The nba.teams row referenced by away_team_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 (8)
idBigIntkeyPrimary Key
Operator id: 1 DraftKings, 2 FanDuel, 3 Yahoo, 13 sportsdata.io, 83 stats.nba.com.
83player_nameStringnullablePlayer name for reconciliation
George JohnsonpositionStringnullablePosition for reconciliation
GValues:GFCG-FF-CUnknowncreated_atStringupdated_atStringRelations (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 (18)
idBigIntkeyPrimary Key
16516titleStringAssigned to D-LeaguedescriptionStringnullableMurray was assigned Sunday to the D-League's Austin Spurs.analysisStringnullableBarton had to be helped back to the locker room during the third quarter of Monday's loss to the Ra…sourceStringnullablerotowirelinkStringnullablenews_timeString2016-11-27T19:29:13.000ZpriorityInt3created_atStringupdated_atStringcontentStringnullablecategoryStringnullableinjury, transaction, lineup, general
external_idStringnullablerotoql-14973ai_processedBooleanfalsesituational_impactJSONnullableRelations (2)
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.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).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.seasons row referenced by season_id; null when unlinked.
The nba.teams row referenced by team_id; null when unlinked.
The nba.teams row referenced by opponent_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.