STAT-API

NBA Data Dictionary

Main

nba.seasons6 fieldsendpoints →

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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
end_datetimestamptznullable—2017-06-12T04:00:00.000Z—
post_season_start_datetimestamptznullable—2017-04-15T04:00:00.000Z—
regular_season_start_datetimestamptznullable—2016-10-25T04:00:00.000Z—
start_datetimestamptz—2016-10-25T04:00:00.000Z—
start_yearinteger—2016—
nba.teams10 fields· 1 refsendpoints →

The 30 NBA franchises, organized into the Eastern and Western Conferences with three divisions in each.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
league_team_idintegernullable—1610612738Official NBA team ID from stats.nba.com
stadium_idbigintnullable→ nba.stadiums——
abbreviationstring—BOS—
activeboolean—true—
citystring—Los Angeles—
conferencestring—Eastern—
ValuesEasternWestern
divisionstring—Atlantic—
ValuesAtlanticCentralSoutheastNorthwestPacificSouthwest
full_namestring—Boston Celtics—
namestring—Celtics—
nba.games27 fields· 4 refsendpoints →

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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
away_team_idbigint→ nba.teams1—
home_team_idbigint→ nba.teams1—
league_game_idstringnullable—0022500650Official NBA game ID from stats.nba.com
season_idbigint→ nba.seasons2023—
stadium_idintegernullable→ nba.stadiums19—
attendanceintegernullable—19156—
away_rotation_numberintegernullable———
away_teamstring—BOS—
away_team_scoreinteger—113—
channelstringnullable—NBA TV—
dayinteger—20250413—
end_timetimestamptznullable—2025-03-20T04:11:00.000Z—
game_labelstringnullable———
game_sub_labelstringnullable———
game_timetimestamptznullable—2025-04-13T19:30:00.000ZScheduled tip-off (timezone-aware); null when the league published no time.
home_rotation_numberintegernullable———
home_teamstring—BOS—
home_team_scoreinteger—112—
if_necessarybooleannullable———
neutral_venueboolean—false—
Valuesfalsetrue
postponed_statusstringnullable———
season_typestring—regular_season—
Valuesregular_seasonpostseasonpreseasonplay_inin_season_tournament
series_game_numberstringnullable———
series_namestringnullable———
series_textstringnullable———
statusstring—Final—
nba.players40 fields· 1 refsendpoints →

Every individual who has played in the NBA — current rosters, two-way and 10-day contracts, G-League call-ups, free agents, and retired veterans. The roster signal lives in `roster_status` (the canonical cross-league vocabulary) and `team_id` (null for free agents and retired players). Pass `?team_id=` to scope to one franchise's current roster, or omit it to scan the full historical roster pool.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
league_player_idinteger—203999Official NBA player ID from stats.nba.com. Stable across seasons; use for cross-API joins to nba_stats sources.
team_idbigintnullable→ nba.teams12FK to nba.teams. Null for free agents and retired players.
birth_citystringnullable—SomborCity of birth.
birth_countrystringnullable—SerbiaCountry of birth (ISO English name).
birth_datedatenullable—1995-02-19Birth date in YYYY-MM-DD form.
birth_statestringnullable——State / province of birth (US/Canadian players).
display_fi_laststringnullable—N. JokićDisplay name in "F. Last" form.
display_last_comma_firststringnullable—Jokić, NikolaDisplay name in "Last, First" form. Useful for sorted lists.
dleague_flagstringnullable—00Two-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_numberstringnullable—41Overall pick number within the draft (string). Empty for undrafted.
draft_roundstringnullable—2Draft round (string). Empty for undrafted players.
draft_yearstringnullable—2014Year the player was drafted (string form). Empty for undrafted players.
experienceintegernullable—10Years of NBA experience as of the most recent season. Rookies = 0.
first_namestring—NikolaPlayer's legal first name as registered with the league.
from_yearstringnullable—2015Player's NBA debut year as a string (per stats.nba.com).
full_namestring—Nikola JokićConvenience concatenation of first_name + last_name. Use this for display.
full_position_liststringnullable—Guard-ForwardHyphenated full-word position list (e.g., "Guard-Forward", "Center-Forward").
ValuesGuardForwardCenterGuard-ForwardForward-CenterCenter-ForwardForward-Guard
games_played_flagstringnullable—YString "Y"/"N" indicating whether the player has played at least one regular-season game.
ValuesYN
heightintegernullable—83Height in inches.
injury_body_partstringnullable——Affected body part for the most recent injury (e.g., "Knee", "Ankle"). Null when injury_status is null.
Valuesanklekneeillnesshiptoebackwristfootcalfhamstringpelvisabdomenheelrestachillesthumbhand
injury_detailstringnullable——Free-text injury description from the source feed.
injury_sincetimestamptznullable—2026-04-12T18:30:00ZTimestamp of the injury status snapshot. Updated when player_news produces a new injury entry.
injury_statusstringnullable—OUTCurrent injury status snapshot derived from player_news. Values: "OUT", "QUESTIONABLE"; null = no active injury designation (healthy).
ValuesOUTQUESTIONABLE
jerseystringnullable—15Current jersey number as a string (some leagues allow leading zeros, e.g., "00").
last_affiliationstringnullable—Mega Basket / SerbiaMost recent pre-NBA affiliation (school, league, or team).
last_namestring—JokićPlayer's legal last name.
league_slugstringnullable—nikola-jokicNBA-issued URL slug (e.g., for stats.nba.com player page).
nba_flagstringnullable—YString "Y"/"N" indicating NBA experience. Almost always "Y" in this table.
playercodestringnullable—jokic_nikolaNBA-issued player code (lastname_firstname format).
position_categorystringnullable—CenterCoarse positional grouping. One of Guard, Forward, Center, Utility.
ValuesGuardForwardCenterUtility
primary_positionstring—CPrimary position. One of G, F, C, G-F, F-C. (True PG/SG/SF/PF splits live in team_depth_charts.position.)
ValuesGFCG-FF-CUnknown
roster_statusstringnullable—activeCanonical 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}.
Valuesinactiveactivefree_agent
schoolstringnullable—Mega BasketLast school attended before the NBA (college, prep, or international club).
team_abbreviationstringnullable—DENCurrent team's tri-letter code.
team_citystringnullable—DenverCurrent team's city name.
team_codestringnullable—nuggetsCurrent team's lowercase URL slug.
team_namestringnullable—NuggetsCurrent team's mascot name (denormalized from teams.name for read convenience).
to_yearstringnullable—2025Player's most recent NBA season year. Equal to from_year for rookies.
weightintegernullable—284Listed weight in pounds.

Plays

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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
game_idbigint→ nba.games2357—
team_idbigintnullable→ nba.teams19—
astinteger—0—
away_scoreinteger—38—
blkinteger—0—
cum_away_possinteger—13—
cum_home_possinteger—75—
drebinteger—0—
end_clockintegernullable—0—
end_nba_event_numinteger—7—
fg3ainteger—0—
fg3minteger—0—
fgainteger—1—
fgminteger—0—
ftainteger—0—
ftminteger—0—
game_seconds_elapsedinteger—720—
home_scoreinteger—82—
orebinteger—0—
periodinteger—1—
pfinteger—0—
ptsinteger—0—
start_clockinteger—720—
start_nba_event_numinteger—4—
stlinteger—0—
time_actual_endtimestamptznullable—2024-10-30T02:08:06.000Z—
time_actual_starttimestamptznullable—2024-10-28T23:53:48.400Z—
tovinteger—0—
nba.play_by_plays21 fields· 8 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).

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
game_idbigint→ nba.games2377—
game_possession_idbigint→ nba.game_possessions16457458—
play_idstring—0052400111_2—
player_idbigintnullable→ nba.players49—
player2_idbigintnullable→ nba.players49—
player2_team_idbigintnullable→ nba.teams21—
player3_idbigintnullable→ nba.players227—
player3_team_idbigintnullable→ nba.teams21—
team_idbigintnullable→ nba.teams21—
end_clockintegernullable———
event_seqinteger—100—
event_sub_typeinteger—0—
event_typeinteger—8—
home_descriptionstring———
nba_event_numinteger—2—
neutral_descriptionstring———
possession_seqinteger—142—
start_clockinteger—720—
time_actualtimestamptznullable—2025-04-17T01:56:41.900Z—
visitor_descriptionstring———

Stats

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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
season_idbigint→ nba.seasons2024—
team_idbigint→ nba.teams11—
games_playedinteger—82—
lossesinteger—38—
pts_allowedinteger—0—
pts_scoredinteger—9372—
tiesinteger—0—
winsinteger—44—
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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
season_idbigint→ nba.seasons2024—
team_idbigint→ nba.teams1—
away_lossesinteger—6—
away_winsinteger—1—
conference_gbdecimal—0.0000Games back from conference leader
conference_rankinteger—81-15 within conference
dayinteger—20241103YYYYMMDD — standings as of this date (before games on this day)
division_rankinteger—11-5 within division
games_playedinteger—1—
games_remaininginteger—81—
home_lossesinteger—4—
home_winsinteger—1—
l10_lossesinteger—4—
l10_winsinteger—6—
lossesinteger—1—
playin_gbdecimal—0.0000Games back from 10th seed (play-in cutoff)
playoff_gbdecimal—0.0000Games back from 6th seed (auto-qualify cutoff)
streakinteger—-1Positive = win streak, negative = loss streak
win_pctdecimal—0.5000—
winsinteger—2—
nba.game_player_stats113 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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
game_idbigint→ nba.games122—
player_idbigint→ nba.players75—
team_idbigint→ nba.teams17—
abnormal_exit_clockinteger—0—
abnormal_exit_periodinteger—0—
alley_oopsinteger—0—
and_onesinteger—0—
assist_percentagedecimalnullable—0.0000—
assist_ratiodecimalnullable—0.0000—
assist_to_turnoverdecimalnullable—0.0000—
assistsinteger—0—
avg_dribbles_per_touchdecimalnullable—0.0000—
avg_seconds_per_touchdecimalnullable—0.0000—
backcourt_violationsinteger—0—
balls_stolenintegernullable—0—
basket_interference_violationsinteger—0—
blocksinteger—0—
box_outsintegernullable—0—
carrying_palming_violationsinteger—0—
challenges_requestedinteger—0—
charges_takenintegernullable—0—
commentstringnullable———
competitive_minutesdecimal—0.0—
contestsintegernullable—1—
defensive_ratingdecimalnullable—100.0000—
defensive_rebound_percentagedecimalnullable—0.0000—
defensive_reboundsinteger—1—
deflectionsintegernullable—1—
double_doublesinteger—0—
double_dribble_violationsinteger—0—
drivesintegernullable—0—
dunksinteger—0—
effective_field_goal_percentagedecimalnullable—0.0000—
ejectionsinteger—0—
elbow_touchesintegernullable—0—
estimated_defensive_ratingdecimalnullable—100.0000—
estimated_net_ratingdecimalnullable—0.0000—
estimated_offensive_ratingdecimalnullable—100.0000—
estimated_pacedecimalnullable—84.7100—
estimated_usage_percentagedecimalnullable—0.1670—
fast_break_ptsinteger—0—
field_goal_percentagedecimalnullable—0.0000—
field_goals_attemptedinteger—5—
field_goals_madeinteger—1—
foul_trouble_severityinteger—0—
foulsinteger—1Total fouls: personal_fouls + technical_fouls. Use personal_fouls, not this, to judge foul trouble — a player fouls out on 6 PERSONAL fouls and technicals do not count toward that.
fouls_drawninteger—0—
free_throw_percentagedecimalnullable—0.0000—
free_throws_attemptedinteger—0—
free_throws_madeinteger—0—
front_court_touchesintegernullable—14—
game_dateinteger—20251112—
garbage_time_minutesdecimal—0—
goaltending_violationsinteger—0—
hockey_assistsintegernullable—0—
jump_balls_lostinteger—0—
jump_balls_woninteger—0—
lane_violationsinteger—0—
layupsinteger—0—
loose_balls_recoveredintegernullable—0—
minutesdecimal—31.7000—
minutes_deviation_pctdecimal—0—
net_ratingdecimalnullable—0.0000—
offensive_foulsinteger—0Offensive fouls. A SUBSET of personal_fouls, not an addition to it.
offensive_ratingdecimalnullable—100.0000—
offensive_rebound_percentagedecimalnullable—0.0000—
offensive_reboundsinteger—0—
paint_touchesintegernullable—0—
pass_percentagedecimalnullable—0.0000—
passesintegernullable—18—
passes_deflectedintegernullable—0—
personal_foulsinteger—1Personal fouls only — the count a player fouls out on at 6. Includes offensive and flagrant fouls, which the NBA scores as personal fouls.
player_impact_estimatedecimal—0.0000—
plus_minusinteger—0—
possessionsinteger—53—
post_touchesintegernullable—0—
potential_assistsintegernullable—0—
ptsinteger—0—
pts_per_elbow_touchdecimalnullable———
pts_per_paint_touchdecimalnullable———
pts_per_post_touchdecimalnullable———
pts_per_touchdecimalnullable—0.0000—
put_backsinteger—0—
rebound_percentagedecimalnullable—0.0000—
reboundsinteger—2—
role_anomalous_gameboolean—false—
Valuesfalsetrue
role_archetypestringnullable—deep_bench—
Valuesdeep_benchco_starcore_starterrotationend_of_benchalphasixth_mantwo_way
role_archetype_confidencedecimal—0.6—
rotation_contextstringnullable—normal—
Valuesnormalgarbage_time_boostambiguous_anomalyblowout_restfoul_troublefoul_outinjury_exitdnp_coach
rotation_context_confidencedecimal—0.5—
screen_assistsintegernullable—0—
second_chance_ptsinteger—0—
shot_clock_violationsinteger—0—
shot_contested_countintegernullable—1—
shots_blockedintegernullable—0—
start_positionstringnullable—G—
ValuesGFC
stealsinteger—0—
substitutions_ininteger—0—
substitutions_outinteger—0—
technical_foulsinteger—0Technical fouls. The one foul type the NBA keeps OUT of the personal count; 2 means ejection.
three_point_percentagedecimalnullable—0.0000—
three_pointers_attemptedinteger—0—
three_pointers_madeinteger—0—
time_of_possessiondecimalnullable—0.2000—
timeouts_calledinteger—0—
touchesintegernullable—28—
traveling_violationsinteger—0—
triple_doublesinteger—0—
true_shooting_percentagedecimalnullable—0.0000—
turnover_ratiodecimalnullable—0.0000—
turnoversinteger—0—
usage_percentagedecimalnullable—0.0000—
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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
game_idbigint→ nba.games6—
team_idbigint→ nba.teams12—
assist_percentagedecimal—0.6670—
assist_ratiodecimal—0.0000—
assistsinteger—24—
assists_to_turnoversdecimal—2.0000—
bench_ptsinteger—34—
blocksinteger—4—
conference_rankinteger—0Conference rank entering game
defensive_ratingdecimal—100.0000—
defensive_rebound_percentagedecimal—0.6670—
defensive_reboundsinteger—32—
effective_field_goal_percentagedecimal—0.5000—
estimated_defensive_ratingdecimal—0.0000—
estimated_net_ratingdecimal—0.0000—
estimated_offensive_ratingdecimal—0.0000—
estimated_pacedecimal—0.0000—
fast_break_ptsinteger—11—
field_goal_percentagedecimal—0.5000—
field_goals_attemptedinteger—88—
field_goals_madeinteger—42—
foulsinteger—19—
free_throw_attempt_ratedecimal—0.2500—
free_throw_percentagedecimal—0.7500—
free_throws_attemptedinteger—21—
free_throws_madeinteger—17—
lossinteger—0—
lossesinteger—0Cumulative losses
minutesinteger—48—
net_ratingdecimal—2.0000—
offensive_ratingdecimal—100.0000—
offensive_rebound_percentagedecimal—0.3330—
offensive_reboundsinteger—10—
pacedecimal—101.0000—
pace_per40decimal—0.0000—
pct_ast_2pmdecimal—0.5000—
pct_ast_3pmdecimal—1.0000—
pct_ast_fgmdecimal—0.6670—
pct_fga_2ptdecimal—0.0000—
pct_fga_3ptdecimal—0.0000—
pct_pts_2ptdecimal—0.5000—
pct_pts_2pt_mrdecimal—0.0000—
pct_pts_3ptdecimal—0.0000—
pct_pts_fbdecimal—0.0000—
pct_pts_ftdecimal—0.0000—
pct_pts_off_tovdecimal—0.0000—
pct_pts_paintdecimal—0.0000—
pct_uast_2pmdecimal—0.5000—
pct_uast_3pmdecimal—0.0000—
pct_uast_fgmdecimal—0.3330—
player_impact_estimatedecimal—0.0000—
possessionsinteger—101—
ptsinteger—113—
pts_in_paintinteger—50—
pts_off_turnoversinteger—17—
rebound_percentagedecimal—0.5000—
reboundsinteger—42—
second_chance_ptsinteger—14—
stealsinteger—7—
steals_to_turnoversdecimal—0.5000—
three_point_percentagedecimal—0.3330—
three_pointers_attemptedinteger—34—
three_pointers_madeinteger—12—
timeouts_remaininginteger—0—
true_shooting_percentagedecimal—0.5760—
turnover_percentagedecimal—0.0000—
turnoversinteger—13—
wininteger—0—
winsinteger—0Cumulative wins
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).

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
player_idbigint→ nba.players1—
season_idbigint→ nba.seasons2021—
assist_percentagedecimal—0.0000—
assist_ratiodecimal—0.0000—
assist_to_turnoverdecimal—0.0000—
assistsinteger—0—
avg_dribbles_per_touchdecimal—1.0000—
avg_seconds_per_touchdecimal—1.6400—
blocksinteger—0—
defensive_ratingdecimal—111.1000—
defensive_rebound_percentagedecimal—0.0000—
defensive_reboundsinteger—0—
double_doublesinteger—0—
effective_field_goal_percentagedecimal—0.5000—
field_goal_percentagedecimal—0.5000—
field_goals_attemptedinteger—6—
field_goals_madeinteger—0—
foulsinteger—0—
free_throw_percentagedecimal—0.0000—
free_throws_attemptedinteger—0—
free_throws_madeinteger—0—
front_court_touchesinteger—24—
games_playedinteger—68—
lossesinteger—1—
minutesdecimal—1297.0367—
net_ratingdecimal—0.3000—
offensive_ratingdecimal—113.9000—
offensive_rebound_percentagedecimal—0.0000—
offensive_reboundsinteger—0—
pacedecimal—100.6900—
player_impact_estimatedecimal—0.0730—
plus_minusinteger—-7—
possessionsinteger—41—
ptsinteger—0—
rebound_percentagedecimal—0.0620—
reboundsinteger—0—
stealsinteger—0—
three_point_percentagedecimal—0.0000—
three_pointers_attemptedinteger—0—
three_pointers_madeinteger—0—
time_of_possessiondecimal—0.8000—
touchesinteger—160—
triple_doublesinteger—0—
true_shooting_percentagedecimal—0.0000—
turnover_percentagedecimal—0.0000—
turnoversinteger—0—
usage_percentagedecimal—0.1360—
winsinteger—1—

Odds

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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
game_idbigint→ nba.games16082—
operator_idbigint→ main.operators6Sportsbook 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_idbigint→ nba.seasons2021Denormalized for efficient season-level queries
captured_attimestamptz—2022-04-10T00:00:00.000ZWhen this snapshot was captured
implied_away_scoredecimalnullable—109.0000—
implied_away_win_pctdecimalnullable—0.4082—
implied_home_scoredecimalnullable—109.7500Calculated from spread + total
implied_home_win_pctdecimalnullable—0.6296From moneyline, 0-1
is_openingboolean—falseTrue if this is the opening line
Valuesfalsetrue
moneyline_awayintegernullable—145American odds for away team win
moneyline_bet_pct_awayintegernullable———
moneyline_bet_pct_homeintegernullable———
moneyline_homeintegernullable—-170American odds for home team win
moneyline_money_pct_awayintegernullable———
moneyline_money_pct_homeintegernullable———
over_oddsintegernullable—0American odds for over
spreaddecimalnullable—-2.5000Home team spread (e.g., -3.5 means home favored by 3.5)
spread_away_oddsintegernullable—-110American odds for away spread
spread_bet_pct_awayintegernullable———
spread_bet_pct_homeintegernullable———
spread_home_oddsintegernullable—-110American odds for home spread (e.g., -110)
spread_money_pct_awayintegernullable———
spread_money_pct_homeintegernullable———
totaldecimalnullable—225.5000Combined score total line (e.g., 224.5)
total_bet_pct_overintegernullable———
total_bet_pct_underintegernullable———
total_money_pct_overintegernullable———
total_money_pct_underintegernullable———
under_oddsintegernullable—0American 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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
game_idbigint→ nba.games769—
operator_idbigint→ main.operators6Data source (consensus, DraftKings, FanDuel, etc.)
season_idbigint→ nba.seasons2025Denormalized for efficient season-level queries
captured_attimestamptz—2024-01-05T05:00:00.000ZWhen this snapshot was captured
implied_away_win_pctdecimalnullable—0.5121951219512195—
implied_home_win_pctdecimalnullable—0.5121951219512195From moneyline, 0-1
is_openingboolean—falseTrue if this is the first captured line for this period
moneyline_awayintegernullable—-105American odds for away team win in this period
moneyline_homeintegernullable—-105American odds for home team win in this period
over_oddsintegernullable—-110American odds for over
period_codestring—1HMarket period code (1H, 2H, Q1, Q2, Q3, Q4)
Values1HQ1Q3Q4Q22H
spreaddecimalnullable—-0.5Home team spread for this period
spread_away_oddsintegernullable—-110American odds for away spread
spread_home_oddsintegernullable—-110American odds for home spread (e.g., -110)
totaldecimalnullable—57.5Combined score total line for this period
under_oddsintegernullable—-110American 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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
game_idbigint→ nba.games126—
operator_idbigint→ main.operators6Usually consensus
player_idbigint→ nba.players157—
season_idbigint→ nba.seasons2025Denormalized for efficient season-level queries
book_countinteger—3Number of curated books contributing to this consensus value
captured_attimestamptz—2025-10-22T04:00:00.000ZWhen this snapshot was captured
categorystring—pointsCanonical category (points, rebounds, assists, pra, etc.)
Valuespointsreboundsthree_pointers_madepts_reboundsdouble_doubleassistspts_rebounds_assistsrebounds_assistspts_assiststriple_doubleblockssteals
is_openingboolean—falseTrue if this is the first captured line for this player/market
linedecimalnullable—1.5Prop line for over/under markets (e.g., 24.5)
market_keystring—player_pointsRaw market key from source API (e.g., player_points)
Valuesplayer_pointsplayer_reboundsplayer_threesplayer_points_reboundsplayer_double_doubleplayer_assistsplayer_points_rebounds_assistsplayer_rebounds_assistsplayer_points_assistsplayer_triple_doubleplayer_blocksplayer_steals
no_oddsintegernullable—-10000American odds for no
outcome_typestring—ouou | yes_no
Valuesouyes_no
over_oddsintegernullable—-120American odds for over
period_codestringnullable——Optional period code (Q1, 1H)
subcategorystringnullable——Optional subtype (alternate, boosted, etc.)
under_oddsintegernullable—-110American odds for under
yes_oddsintegernullable—1100American odds for yes

Lineups & Roster

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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
coach_idinteger—57Official NBA coach/staff ID from stats.nba.com
first_namestring—Mike—
last_namestring—Jones—
namestring—Stacey Augmon—
nba.team_coaching_staffs9 fields· 3 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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
coaching_staff_idbigint→ nba.coaching_staffs395—
season_idbigint→ nba.seasons2025First season of this tenure
team_idbigint→ nba.teams25—
coach_typestring—Assistant CoachHead Coach, Assistant Coach, Trainer
ValuesAssistant CoachTrainerHead CoachAssistant Coach for Player DevelopmentAssociate Head CoachAssistant TrainerStrength and Conditioning CoachLead Assistant CoachDirector of Athletic DevelopmentInterim Head Coach
end_datedatenullable—2021-10-18Tenure end date. NULL = still active.
is_assistantboolean—true—
Valuestruefalse
sort_sequenceintegernullable—4—
start_datedate—2025-10-21Tenure start date (derived from season start)
nba.game_team_lineup_stints25 fields· 7 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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
game_idbigint→ nba.games127—
player1_idbigint→ nba.players53—
player2_idbigint→ nba.players197—
player3_idbigint→ nba.players187—
player4_idbigint→ nba.players178—
player5_idbigint→ nba.players258—
team_idbigint→ nba.teams12—
assist_pctdecimal—0.0000—
defensive_ratingdecimal—0.0000—
defensive_rebound_pctdecimal—1.0000—
end_clockinteger—0—
end_event_seqinteger—7200—
net_ratingdecimal—0.0000—
offensive_ratingdecimal—0.0000—
offensive_rebound_pctdecimal—0.0000—
pacedecimal—0.0000—
periodinteger—2—
player_statsjsonb—[object Object],[object Object],[object Object],[object Object],[object Object]Array of individual player box scores and metrics recorded during this lineup stint.
possessionsinteger—2—
pts_allowedinteger—0—
pts_scoredinteger—0—
start_clockinteger—720—
start_event_seqinteger—100—
turnover_pctdecimal—0.0000—
nba.game_team_rosters14 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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
game_idbigint→ nba.games724—
player_idbigint→ nba.players197—
team_idbigint→ nba.teams12—
commentstringnullable—INACTIVE_GLEAGUE_TWOWAY—
confirmedbooleannullable—trueWhether the starter truth was established from post-game evidence
injury_statusstringnullable—OUTReconciled final injury designation for the roster row
ValuesOUTQUESTIONABLEPROBABLEDOUBTFUL
positionstringnullable—G—
ValuesGFCG-FF-C
pre_game_confirmedbooleannullable—truePre-tip lineup confidence from source (e.g. RotoWire confirmed vs expected)
pre_game_injury_statusstringnullable—OUTPre-tip injury designation: OUT, DOUBTFUL, QUESTIONABLE, PROBABLE
ValuesOUTQUESTIONABLEPROBABLEDOUBTFUL
pre_game_starterbooleannullable—falsePre-tip expected starter flag from lineup sources
Valuesfalsetrue
pre_game_statusintegernullable—1Pre-tip roster availability: 1=Active, 2=Inactive, 3=Out
starterbooleannullable—falseWhether the player was in the starting five (reconciled post-game)
Valuesfalsetrue
statusintegernullable—1Reconciled final roster availability: 1=Active, 2=Inactive, 3=Out
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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
player_idbigint→ nba.players337—
season_idbigint→ nba.seasons2025—
team_idbigint→ nba.teams4—
dayinteger—20260214YYYYMMDD snapshot day
depth_rankinteger—11-based rank within position (1 = starter)
injury_statusstringnullable—OutDay-To-Day, Out, etc. from ESPN
ValuesOutDay-To-DaySuspension
positionstring—SFPG, SG, SF, PF, C
ValuesSFSGPFPGC

Misc

nba.stadiums19 fieldsendpoints →

NBA arenas — current home venues and historical buildings the league's teams have played in.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
league_stadium_idintegernullable—643Official NBA arena ID from stats.nba.com
addressstringnullable———
capacityintegernullable———
citystring—Orlando—
closed_datetimestamptznullable———
countrystringnullable—US—
ValuesUSCAMXGBFRDEAECNJP
descriptionstringnullable—Home of the Toronto Raptors. Multi-purpose arena in downtown Toronto, opened 1999.—
elevationfloatnullable—198Elevation in feet above sea level
image_urlstringnullable——URL to aerial/overview image of arena
latitudefloatnullable—25.7814—
longitudefloatnullable—-80.187—
namestring—Scotiabank Arena—
opened_datetimestamptznullable———
roof_typestringnullable——Arena roof type (all indoor)
statestringnullable—FL—
surfacestringnullable———
team_namestringnullable———
timezonestringnullable—America/New_YorkIANA timezone (e.g., America/New_York)
ValuesAmerica/New_YorkAmerica/ChicagoAmerica/Los_AngelesAmerica/DenverAmerica/PhoenixAmerica/Mexico_CityAmerica/TorontoAmerica/Indiana/IndianapolisEurope/LondonEurope/ParisEurope/BerlinAsia/DubaiAmerica/Puerto_RicoAmerica/VancouverAsia/ShanghaiPacific/HonoluluAsia/TokyoAmerica/Edmonton
nba.broadcasters11 fieldsendpoints →

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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
broadcaster_team_idinteger—0—
region_idinteger—0—
broadcaster_abbreviationstring—BSIN—
broadcaster_descriptionstringnullable———
broadcaster_displaystring—BSIN—
broadcaster_mediastring—tv—
broadcaster_rankinginteger—0—
broadcaster_scopestring—local—
Valueslocalnational
broadcaster_video_linkstringnullable———
tape_delay_commentsstringnullable———
nba.referees13 fieldsendpoints →

NBA officials — the three-person crew of referees who work each game.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
nba_referee_idinteger—202027—
activeboolean—true—
birth_citystringnullable———
birth_countrystringnullable———
birth_datedatenullable———
birth_statestringnullable———
collegestringnullable———
experienceintegernullable———
first_namestring—Biniam—
full_namestring—Biniam Maru—
jersey_numberstringnullable—94—
last_namestring—Maru—
nba.operator_team_lookups6 fields· 2 refsendpoints →

How each sportsbook and fantasy operator names every NBA team — the mapping from each operator's team code to the unified franchise record.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
operator_idbigint→ main.operators1Reference to main.operator entity
operator_team_idstring—2003External team ID from operator
team_idbigint→ nba.teams11Internal nba.teams.id reference
abbreviationstringnullable—ATLTeam abbreviation for reconciliation
team_namestringnullable—Atlanta HawksTeam 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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
away_team_idbigint→ nba.teams13—
home_team_idbigint→ nba.teams1—
season_idbigint→ nba.seasons2020—
series_idbigint—202001—
away_team_winsinteger—0—
games_playedinteger—1—
home_team_winsinteger—4—
max_gamesinteger—7—
series_namestring—East First Round—
ValuesEast First RoundWest First RoundEast Play-InWest Play-InEast Conference SemifinalsWest Conference SemifinalsWest Conference FinalsEast Conference FinalsNBA Finals
series_textstring—MIA won 1-0—
statusstring—Completed—
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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
broadcaster_idbigint→ nba.broadcasters10—
game_idbigint→ nba.games15975—
broadcaster_typestring—awayTv—
ValuesawayTvhomeTvnationalTv
nba.game_referees4 fields· 2 refsendpoints →

The officiating crew assigned to each NBA game — the three referees who worked the matchup.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
game_idbigint→ nba.games4727—
referee_idbigint→ nba.referees58—
positionstringnullable—Referee—
ValuesRefereeCrew ChiefUmpireALTERNATE
nba.operator_player_lookups9 fields· 2 refsendpoints →

How each sportsbook and fantasy operator names every NBA player — the mapping from each operator's player identifier to a unified player record.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
operator_idbigint→ main.operators83Operator id: 1 DraftKings, 2 FanDuel, 3 Yahoo, 13 sportsdata.io, 83 stats.nba.com.
operator_player_idstring—76001External player ID from operator
player_idbigintnullable→ nba.players521Internal nba.players.id reference
decided_attimestamptznullable——When the pin or block was decided.
decided_reasonstringnullable——Evidence behind a pinned or blocked decision.
decisionstringnullable—derivedHow 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.
player_namestringnullable—George JohnsonPlayer name for reconciliation
positionstringnullable—GPosition for reconciliation
ValuesGFCG-FF-CUnknown
nba.player_news22 fields· 4 refsendpoints →

News about NBA players — trades, injuries, lineup decisions, suspensions, and general beat-reporter updates.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
external_idstringnullable—rotoql-14973Unique identifier from the news provider.
game_idbigintnullable→ nba.games—Associated game ID when this news item relates to a specific game.
opponent_team_idbigintnullable→ nba.teams—Opponent team ID when this news item relates to an upcoming or active game matchup.
player_idbigintnullable→ nba.players165Player ID associated with the news report.
team_idbigintnullable→ nba.teams16Team ID of the player at the time of publication.
ai_processedboolean—falseWhether this story was generated or enriched via LLM summarization.
analysisstringnullable—Barton had to be helped back to the locker room during the third quarter of Monday's loss to the Ra…Fantasy and tactical analysis of the news.
authorstringnullable——Reporter or author of the article.
categorystringnullable——injury, transaction, lineup, general
contentstringnullable——Full text content of the news report.
descriptionstringnullable—Murray was assigned Sunday to the D-League's Austin Spurs.Brief synopsis or summary of the news event.
first_reported_attimestamptznullable——Timestamp when this story was first reported before multi-source compaction.
linkstringnullable——URL link to the original article or source video.
news_timetimestamptz—2016-11-27T19:29:13.000ZPublication timestamp of the news story.
priorityinteger—3Display priority score (1-10).
situational_impactjsonbnullable——Structured situational impact assessment and fantasy implications for the player.
sourcestringnullable—rotowirePrimary news source or publication.
sourcesjsonbnullable——Source citations with source name, URL, author, and published timestamp.
status_enumstringnullable——Standardized player status designation (RULED_OUT, DOUBTFUL, QUESTIONABLE, PROBABLE, CLEARED, MINUTES_LIMIT, MINUTES_LIFTED, STARTING, BENCHED, INACTIVE, ACTIVE, IR_PLACED, IR_ACTIVATED, TRADED, RELEASED, SIGNED, ROUTINE).
titlestring—Assigned to D-LeagueHeadline of the news report.
urgencystringnullable——Urgency level of the news event (BREAKING_GAME_TIME, HIGH, MEDIUM, ROUTINE).
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.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
game_idbigint→ nba.games2374—
opponent_team_idbigint→ nba.teams9—
season_idbigint→ nba.seasons2024—
team_idbigint→ nba.teams9—
conference_rankinteger—8—
game_typestring—regularregular, playoff, play_in, ist_group, ist_knockout, preseason, allstar
Valuesregularplayoffist_group
games_remaininginteger—0—
intensityinteger—51-10 motivation intensity scale
is_back_to_backboolean—false—
Valuesfalsetrue
is_clinchboolean—false—
Valuesfalsetrue
is_eliminationboolean—false—
Valuesfalsetrue
ist_group_rankintegernullable———
ist_group_recordstringnullable——e.g. 2-1
motivationstring—play_incontender, 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
Valuesplay_infringeearly_seasonseeding_battlecontendertankingplayoff_lockplayoff_competitiveplayoff_comfortableplayoff_desperateplayoff_clinchplayoff_eliminationist_contending
rest_daysinteger—1—
season_pctdecimal—1.00000.0-1.0 how far through regular season
season_phasestring—midearly, mid, late, final_push, postseason
Valuesmidlateearlyfinal_pushpostseason
team_series_winsinteger—0—
win_pctdecimal—0.5000—
nba.team_news12 fields· 3 refsendpoints →

News and updates about NBA teams — game previews, coaching changes, front-office moves, and beat reports.

FieldTypeReferencesExampleDescription
idkeybigint——Primary Key
external_idstringnullable—rotoworld:nba-khalifa-diop-20260902T200417Canonical external identifier for deduplication.
game_idbigintnullable→ nba.games—Associated game ID when news relates to a specific game.
opponent_team_idbigintnullable→ nba.teams—Opponent team ID when news relates to an upcoming or completed game matchup.
team_idbigint→ nba.teams7Team ID that this news event pertains to.
ai_processedbooleannullable—trueWhether this story was generated or enriched via LLM summarization.
categorystringnullable—transactiongame_preview, coaching, transaction, general
news_timetimestamptz—2026-09-02T20:04:17.734ZPublication timestamp of the team story.
sourcesjsonbnullable—[object Object]Source citations with publisher name, URL, author, and published timestamp.
summarystring—The Cavaliers officially signed 2022 draft pick Khalifa Diop to a four-year, $9.26 million contract…Concise journalistic summary of the team news event.
titlestring—Cavaliers sign Khalifa Diop to four-year contract after two seasons overseasHeadline of the team news story.
urgencystringnullable—ROUTINEROUTINE, MEDIUM, HIGH, BREAKING_GAME_TIME