Skip to main content

NBA — NBA Stats API (stats.nba.com) — Other

nba_stats_alltimeleadersgrids​

GET /stats/alltimeleadersgrids

Endpoint URL: GET https://stats.nba.com/stats/alltimeleadersgrids

Valid URL: https://stats.nba.com/stats/alltimeleadersgrids?LeagueID=00&PerMode=PerGame&SeasonType=Regular+Season&TopX=10

API ParameterPythonPatternRequiredNullableDescription
LeagueIDleague_idY
PerModeper_mode_simpleY
SeasonTypeseason_typeYSeason type, a label: Regular Season, Pre Season, Playoffs, PlayIn or All Star (each endpoint takes a subset). Not ESPN's numeric code: 3 is HTTP 400. A default season follows it: Playoffs / PlayIn roll over in May (NBA, G League), All Star in March (NBA).
TopXtopxY

Returns​

return_parsed=True (default) — A dict of DataFrames keyed by result-set name (GPLeaders, PTSLeaders, ASTLeaders, STLLeaders, OREBLeaders, DREBLeaders, REBLeaders, BLKLeaders, FGMLeaders, FGALeaders, FG_PCTLeaders, TOVLeaders, FG3MLeaders, FG3ALeaders, FG3_PCTLeaders, PFLeaders, FTMLeaders, FTALeaders, FT_PCTLeaders) (one table per documented key below); pass return_as_pandas=True for a dict of pandas.DataFrames (same keys).

GPLeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
gpintegerGames played.
gp_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

PTSLeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
ptsnumericPoints scored.
pts_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

ASTLeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
astnumericAssists.
ast_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

STLLeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
stlnumericSteals.
stl_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

OREBLeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
orebnumericOffensive rebounds.
oreb_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

DREBLeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
drebnumericDefensive rebounds.
dreb_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

REBLeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
rebnumericRebounds per game.
reb_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

BLKLeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
blknumericBlocks.
blk_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

FGMLeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
fgmnumericField goals made.
fgm_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

FGALeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
fganumericField goal attempts.
fga_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

FG_PCTLeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
fg_pctnumericField goal percentage (0-1).
fg_pct_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

TOVLeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
tovnumericTurnovers.
tov_rankintegerAll-time league rank of the player's career turnover total on the leaders grid.
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

FG3MLeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
fg3_mnumericThree-point field goals made.
fg3_m_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

FG3ALeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
fg3_anumericThree-point field goal attempts.
fg3_a_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

FG3_PCTLeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
fg3_pctnumericThree-point field goal percentage (0-1).
fg3_pct_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

PFLeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
pfnumericPersonal fouls.
pf_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

FTMLeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
ftmnumericFree throws made.
ftm_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

FTALeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
ftanumericFree throw attempts.
fta_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

FT_PCTLeaders

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
ft_pctnumericFree throw percentage (0-1).
ft_pct_rankinteger
is_active_flagcharacterFlag indicating whether the player is currently active in the league.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nba_stats_alltimeleadersgrids(league_id='00')

Last validated n/a.

nba_stats_assistleaders​

GET /stats/assistleaders

Endpoint URL: GET https://stats.nba.com/stats/assistleaders

Valid URL: https://stats.nba.com/stats/assistleaders?LeagueID=00&PerMode=PerGame&PlayerOrTeam=Team&Season=2024-25&SeasonType=Regular+Season

API ParameterPythonPatternRequiredNullableDescription
LeagueIDleague_idY
PerModeper_mode_simpleY
PlayerOrTeamplayer_or_teamY
SeasonseasonYSeason label, e.g. 2024-25. Defaults at call time by a calendar cutoff, the month after a season's first games, so it can lag the newest rows by a few weeks. An NBA season tips off in late October and becomes the default in November (2025-26 through October 2026, 2026-27 from November 2026); a G League season (regular season from late December) in January; a Summer League (played in July, which stats.nba.com labels 2026-27 in 2026) in August; a draft combine (May) in June; a draft (drafthistory, a year; late June) in July. With season type Playoffs / PlayIn (or commonplayoffseries) the NBA and the G League roll over in May, after their playoffs start; with All Star the NBA rolls over in March, after the February game (the G League has no All-Star rows and keeps its own rule). A month table cannot follow a lockout or pandemic calendar (1998-99, 2011-12, 2020-21): pass a season then. Without one stats.nba.com answers an empty HTTP 500 or every season summed.
SeasonTypeseason_type_playoffsYSeason type, a label: Regular Season, Pre Season, Playoffs, PlayIn or All Star (each endpoint takes a subset). Not ESPN's numeric code: 3 is HTTP 400. A default season follows it: Playoffs / PlayIn roll over in May (NBA, G League), All Star in March (NBA).

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
rankintegerRank of the row within the returned leaderboard (1 = best) for the stat the endpoint sorts by.
player_idintegerUnique player identifier.
playercharacterPlayer name.
team_idintegerUnique team identifier.
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
jersey_numcharacterJersey number worn by the player.
player_positioncharacterPlayer's position abbreviation as stats.nba.com lists it (e.g. 'G', 'F-G', 'C').
astnumericAssists.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nba_stats_assistleaders(league_id='00', season='2024-25')

Last validated n/a.

nba_stats_assisttracker​

GET /stats/assisttracker

Endpoint URL: GET https://stats.nba.com/stats/assisttracker

Valid URL: https://stats.nba.com/stats/assisttracker?LeagueID=00&OpponentTeamID=0&PerMode=PerGame&Season=2024-25&SeasonType=Regular+Season&TeamID=0

API ParameterPythonPatternRequiredNullableDescription
Collegecollege_nullableY
Conferenceconference_nullableY
Countrycountry_nullableY
DateFromdate_from_nullableY
DateTodate_to_nullableY
Divisiondivision_simple_nullableY
DraftPickdraft_pick_nullableY
DraftYeardraft_year_nullableY
GameScopegame_scope_simple_nullableY
Heightheight_nullableY
LastNGameslast_n_games_nullableY
LeagueIDleague_idY
Locationlocation_nullableY
Monthmonth_nullableY
OpponentTeamIDopponent_team_id_nullableY
Outcomeoutcome_nullableY
PORoundpo_round_nullableY
PerModeper_mode_simple_nullableY
PlayerExperienceplayer_experience_nullableY
PlayerPositionplayer_position_abbreviation_nullableY
Seasonseason_nullableYSeason label, e.g. 2024-25. Defaults at call time by a calendar cutoff, the month after a season's first games, so it can lag the newest rows by a few weeks. An NBA season tips off in late October and becomes the default in November (2025-26 through October 2026, 2026-27 from November 2026); a G League season (regular season from late December) in January; a Summer League (played in July, which stats.nba.com labels 2026-27 in 2026) in August; a draft combine (May) in June; a draft (drafthistory, a year; late June) in July. With season type Playoffs / PlayIn (or commonplayoffseries) the NBA and the G League roll over in May, after their playoffs start; with All Star the NBA rolls over in March, after the February game (the G League has no All-Star rows and keeps its own rule). A month table cannot follow a lockout or pandemic calendar (1998-99, 2011-12, 2020-21): pass a season then. Without one stats.nba.com answers an empty HTTP 500 or every season summed.
SeasonSegmentseason_segment_nullableY
SeasonTypeseason_type_all_star_nullableYSeason type, a label: Regular Season, Pre Season, Playoffs, PlayIn or All Star (each endpoint takes a subset). Not ESPN's numeric code: 3 is HTTP 400. A default season follows it: Playoffs / PlayIn roll over in May (NBA, G League), All Star in March (NBA).
StarterBenchstarter_bench_nullableY
TeamIDteam_id_nullableY
VsConferencevs_conference_nullableY
VsDivisionvs_division_nullableY
Weightweight_nullableY

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
assistsnumericTotal assists.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nba_stats_assisttracker(league_id='00', season_nullable='2024-25')

Last validated n/a.

nba_stats_drafthistory​

GET /stats/drafthistory

Endpoint URL: GET https://stats.nba.com/stats/drafthistory

Valid URL: https://stats.nba.com/stats/drafthistory?College=&LeagueID=00&OverallPick=&RoundNum=&RoundPick=&Season=2024&TeamID=0&TopX=

API ParameterPythonPatternRequiredNullableDescription
Collegecollege_nullableY
LeagueIDleague_idY
OverallPickoverall_pick_nullableY
RoundNumround_num_nullableY
RoundPickround_pick_nullableY
Seasonseason_year_nullableYSeason label, e.g. 2024-25. Defaults at call time by a calendar cutoff, the month after a season's first games, so it can lag the newest rows by a few weeks. An NBA season tips off in late October and becomes the default in November (2025-26 through October 2026, 2026-27 from November 2026); a G League season (regular season from late December) in January; a Summer League (played in July, which stats.nba.com labels 2026-27 in 2026) in August; a draft combine (May) in June; a draft (drafthistory, a year; late June) in July. With season type Playoffs / PlayIn (or commonplayoffseries) the NBA and the G League roll over in May, after their playoffs start; with All Star the NBA rolls over in March, after the February game (the G League has no All-Star rows and keeps its own rule). A month table cannot follow a lockout or pandemic calendar (1998-99, 2011-12, 2020-21): pass a season then. Without one stats.nba.com answers an empty HTTP 500 or every season summed.
TeamIDteam_id_nullableY
TopXtopx_nullableY

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
person_idintegerUnique player identifier (V3 endpoints).
player_namecharacterPlayer name.
seasoncharacterSeason year.
round_numberintegerNumeric round.
round_pickintegerRound pick.
overall_pickintegerOverall pick.
draft_typecharacterNBA or WNBA Stats value for draft type in the drafthistory result set.
team_idintegerUnique team identifier.
team_citycharacterTeam city or region (e.g. 'Las Vegas').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
organizationcharacterOrganization.
organization_typecharacterOrganization type.
player_profile_flagintegerPlayer profile flag.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nba_stats_drafthistory(league_id='00', season_year_nullable='2024')

Last validated n/a.

nba_stats_fantasywidget​

GET /stats/fantasywidget

Endpoint URL: GET https://stats.nba.com/stats/fantasywidget

Valid URL: https://stats.nba.com/stats/fantasywidget?ActivePlayers=N&DateFrom=&DateTo=&LastNGames=0&LeagueID=00&Location=&Month=&OpponentTeamID=0&PORound=&PlayerID=&Position=&Season=2024-25&SeasonSegment=&SeasonType=Regular+Season&TeamID=0&TodaysOpponent=0&TodaysPlayers=N&VsConference=&VsDivision=

API ParameterPythonPatternRequiredNullableDescription
ActivePlayersactive_playersY
DateFromdate_from_nullableY
DateTodate_to_nullableY
LastNGameslast_n_gamesY
LeagueIDleague_idY
Locationlocation_nullableY
Monthmonth_nullableY
OpponentTeamIDopponent_team_id_nullableY
PORoundpo_round_nullableY
PlayerIDplayer_id_nullableY
Positionposition_nullableY
SeasonseasonYSeason label, e.g. 2024-25. Defaults at call time by a calendar cutoff, the month after a season's first games, so it can lag the newest rows by a few weeks. An NBA season tips off in late October and becomes the default in November (2025-26 through October 2026, 2026-27 from November 2026); a G League season (regular season from late December) in January; a Summer League (played in July, which stats.nba.com labels 2026-27 in 2026) in August; a draft combine (May) in June; a draft (drafthistory, a year; late June) in July. With season type Playoffs / PlayIn (or commonplayoffseries) the NBA and the G League roll over in May, after their playoffs start; with All Star the NBA rolls over in March, after the February game (the G League has no All-Star rows and keeps its own rule). A month table cannot follow a lockout or pandemic calendar (1998-99, 2011-12, 2020-21): pass a season then. Without one stats.nba.com answers an empty HTTP 500 or every season summed.
SeasonSegmentseason_segment_nullableY
SeasonTypeseason_type_all_starYSeason type, a label: Regular Season, Pre Season, Playoffs, PlayIn or All Star (each endpoint takes a subset). Not ESPN's numeric code: 3 is HTTP 400. A default season follows it: Playoffs / PlayIn roll over in May (NBA, G League), All Star in March (NBA).
TeamIDteam_id_nullableY
TodaysOpponenttodays_opponentY
TodaysPlayerstodays_playersY
VsConferencevs_conference_nullableY
VsDivisionvs_division_nullableY

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
player_positioncharacterPlayer's position abbreviation as stats.nba.com lists it (e.g. 'G', 'F-G', 'C').
team_idintegerUnique team identifier.
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
gpintegerGames played.
minnumericMinutes played.
fan_duel_ptsnumericFantasy points under FanDuel's scoring formula.
nba_fantasy_ptsnumericFantasy points under the NBA's fantasy scoring formula.
ptsnumericPoints scored.
rebnumericRebounds per game.
astnumericAssists.
blknumericBlocks.
stlnumericSteals.
tovnumericTurnovers.
fg3_mnumericThree-point field goals made.
fganumericField goal attempts.
fg_pctnumericField goal percentage (0-1).
ftanumericFree throw attempts.
ft_pctnumericFree throw percentage (0-1).

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nba_stats_fantasywidget(league_id='00', season='2024-25')

Last validated n/a.

nba_stats_gamerotation​

GET /stats/gamerotation

Endpoint URL: GET https://stats.nba.com/stats/gamerotation

Valid URL: https://stats.nba.com/stats/gamerotation?GameID=0022200021&LeagueID=00

API ParameterPythonPatternRequiredNullableDescription
GameIDgame_idY
LeagueIDleague_idY

Returns​

return_parsed=True (default) — A dict of DataFrames keyed by result-set name (AwayTeam, HomeTeam) (one table per documented key below); pass return_as_pandas=True for a dict of pandas.DataFrames (same keys).

AwayTeam

col_nametypedescription
game_idcharacterUnique game identifier.
team_idintegerUnique team identifier.
team_citycharacterTeam city or region (e.g. 'Las Vegas').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
person_idintegerUnique player identifier (V3 endpoints).
player_firstcharacterNBA or WNBA Stats value for player first in the gamerotation result set.
player_lastcharacterNBA or WNBA Stats value for player last in the gamerotation result set.
in_time_realnumericReal-time clock value when the player entered the game rotation stint.
out_time_realnumericReal-time clock value when the player exited the game rotation stint.
player_ptsintegerScoring or score-margin metric for player points in the requested NBA or WNBA Stats split.
pt_diffnumericNBA or WNBA Stats value for pt diff in the gamerotation result set.
usg_pctnumericPercentage or rate for usage percentage in the requested NBA or WNBA Stats split.

HomeTeam

col_nametypedescription
game_idcharacterUnique game identifier.
team_idintegerUnique team identifier.
team_citycharacterTeam city or region (e.g. 'Las Vegas').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
person_idintegerUnique player identifier (V3 endpoints).
player_firstcharacterNBA or WNBA Stats value for player first in the gamerotation result set.
player_lastcharacterNBA or WNBA Stats value for player last in the gamerotation result set.
in_time_realnumericReal-time clock value when the player entered the game rotation stint.
out_time_realnumericReal-time clock value when the player exited the game rotation stint.
player_ptsintegerScoring or score-margin metric for player points in the requested NBA or WNBA Stats split.
pt_diffnumericNBA or WNBA Stats value for pt diff in the gamerotation result set.
usg_pctnumericPercentage or rate for usage percentage in the requested NBA or WNBA Stats split.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nba_stats_gamerotation(league_id='00')

Last validated n/a.

nba_stats_homepageleaders​

GET /stats/homepageleaders

Endpoint URL: GET https://stats.nba.com/stats/homepageleaders

Valid URL: https://stats.nba.com/stats/homepageleaders?GameScope=Season&LeagueID=00&PlayerOrTeam=Team&PlayerScope=All+Players&Season=2024-25&SeasonType=Regular+Season&StatCategory=Points

API ParameterPythonPatternRequiredNullableDescription
GameScopegame_scope_detailedY
LeagueIDleague_idY
PlayerOrTeamplayer_or_teamY
PlayerScopeplayer_scopeY
SeasonseasonYSeason label, e.g. 2024-25. Defaults at call time by a calendar cutoff, the month after a season's first games, so it can lag the newest rows by a few weeks. An NBA season tips off in late October and becomes the default in November (2025-26 through October 2026, 2026-27 from November 2026); a G League season (regular season from late December) in January; a Summer League (played in July, which stats.nba.com labels 2026-27 in 2026) in August; a draft combine (May) in June; a draft (drafthistory, a year; late June) in July. With season type Playoffs / PlayIn (or commonplayoffseries) the NBA and the G League roll over in May, after their playoffs start; with All Star the NBA rolls over in March, after the February game (the G League has no All-Star rows and keeps its own rule). A month table cannot follow a lockout or pandemic calendar (1998-99, 2011-12, 2020-21): pass a season then. Without one stats.nba.com answers an empty HTTP 500 or every season summed.
SeasonTypeseason_type_playoffsYSeason type, a label: Regular Season, Pre Season, Playoffs, PlayIn or All Star (each endpoint takes a subset). Not ESPN's numeric code: 3 is HTTP 400. A default season follows it: Playoffs / PlayIn roll over in May (NBA, G League), All Star in March (NBA).
StatCategorystat_categoryY

Returns​

return_parsed=True (default) — A dict of DataFrames keyed by result-set name (HomePageLeaders, LeagueAverage, LeagueMax) (one table per documented key below); pass return_as_pandas=True for a dict of pandas.DataFrames (same keys).

HomePageLeaders

col_nametypedescription
rankintegerRank of the row within the returned leaderboard (1 = best) for the stat the endpoint sorts by.
team_idintegerUnique team identifier.
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
ptsnumericPoints scored.
fg_pctnumericField goal percentage (0-1).
fg3_pctnumericThree-point field goal percentage (0-1).
ft_pctnumericFree throw percentage (0-1).
efg_pctnumericEffective field goal percentage, as a decimal.
ts_pctnumericTrue shooting percentage (0-1).
pts_per48numericPoints scored per 48 minutes played.

LeagueAverage

col_nametypedescription
ptsnumericPoints scored.
fg_pctnumericField goal percentage (0-1).
fg3_pctnumericThree-point field goal percentage (0-1).
ft_pctnumericFree throw percentage (0-1).
efg_pctnumericEffective field goal percentage, as a decimal.
ts_pctnumericTrue shooting percentage (0-1).
pts_per48numericPoints scored per 48 minutes played.

LeagueMax

col_nametypedescription
ptsnumericPoints scored.
fg_pctnumericField goal percentage (0-1).
fg3_pctnumericThree-point field goal percentage (0-1).
ft_pctnumericFree throw percentage (0-1).
efg_pctnumericEffective field goal percentage, as a decimal.
ts_pctnumericTrue shooting percentage (0-1).
pts_per48numericPoints scored per 48 minutes played.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nba_stats_homepageleaders(league_id='00', season='2024-25')

Last validated n/a.

nba_stats_homepagev2​

GET /stats/homepagev2

Endpoint URL: GET https://stats.nba.com/stats/homepagev2

Valid URL: https://stats.nba.com/stats/homepagev2?GameScope=Season&LeagueID=00&PlayerOrTeam=Team&PlayerScope=All+Players&Season=2024-25&SeasonType=Regular+Season&StatType=Traditional

API ParameterPythonPatternRequiredNullableDescription
GameScopegame_scope_detailedY
LeagueIDleague_idY
PlayerOrTeamplayer_or_teamY
PlayerScopeplayer_scopeY
SeasonseasonYSeason label, e.g. 2024-25. Defaults at call time by a calendar cutoff, the month after a season's first games, so it can lag the newest rows by a few weeks. An NBA season tips off in late October and becomes the default in November (2025-26 through October 2026, 2026-27 from November 2026); a G League season (regular season from late December) in January; a Summer League (played in July, which stats.nba.com labels 2026-27 in 2026) in August; a draft combine (May) in June; a draft (drafthistory, a year; late June) in July. With season type Playoffs / PlayIn (or commonplayoffseries) the NBA and the G League roll over in May, after their playoffs start; with All Star the NBA rolls over in March, after the February game (the G League has no All-Star rows and keeps its own rule). A month table cannot follow a lockout or pandemic calendar (1998-99, 2011-12, 2020-21): pass a season then. Without one stats.nba.com answers an empty HTTP 500 or every season summed.
SeasonTypeseason_type_playoffsYSeason type, a label: Regular Season, Pre Season, Playoffs, PlayIn or All Star (each endpoint takes a subset). Not ESPN's numeric code: 3 is HTTP 400. A default season follows it: Playoffs / PlayIn roll over in May (NBA, G League), All Star in March (NBA).
StatTypestat_typeY

Returns​

return_parsed=True (default) — A dict of DataFrames keyed by result-set name (HomePageStat1, HomePageStat2, HomePageStat3, HomePageStat4, HomePageStat5, HomePageStat6, HomePageStat7, HomePageStat8) (one table per documented key below); pass return_as_pandas=True for a dict of pandas.DataFrames (same keys).

HomePageStat1

col_nametypedescription
rankintegerRank of the row within the returned leaderboard (1 = best) for the stat the endpoint sorts by.
player_idintegerUnique player identifier.
playercharacterPlayer name.
team_idintegerUnique team identifier.
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
jersey_numcharacterJersey number worn by the player.
player_positioncharacterPlayer's position abbreviation as stats.nba.com lists it (e.g. 'G', 'F-G', 'C').
ptsnumericPoints scored.

HomePageStat2

col_nametypedescription
rankintegerRank of the row within the returned leaderboard (1 = best) for the stat the endpoint sorts by.
player_idintegerUnique player identifier.
playercharacterPlayer name.
team_idintegerUnique team identifier.
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
jersey_numcharacterJersey number worn by the player.
player_positioncharacterPlayer's position abbreviation as stats.nba.com lists it (e.g. 'G', 'F-G', 'C').
rebnumericRebounds per game.

HomePageStat3

col_nametypedescription
rankintegerRank of the row within the returned leaderboard (1 = best) for the stat the endpoint sorts by.
player_idintegerUnique player identifier.
playercharacterPlayer name.
team_idintegerUnique team identifier.
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
jersey_numcharacterJersey number worn by the player.
player_positioncharacterPlayer's position abbreviation as stats.nba.com lists it (e.g. 'G', 'F-G', 'C').
astnumericAssists.

HomePageStat4

col_nametypedescription
rankintegerRank of the row within the returned leaderboard (1 = best) for the stat the endpoint sorts by.
player_idintegerUnique player identifier.
playercharacterPlayer name.
team_idintegerUnique team identifier.
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
jersey_numcharacterJersey number worn by the player.
player_positioncharacterPlayer's position abbreviation as stats.nba.com lists it (e.g. 'G', 'F-G', 'C').
stlnumericSteals.

HomePageStat5

col_nametypedescription
rankintegerRank of the row within the returned leaderboard (1 = best) for the stat the endpoint sorts by.
player_idintegerUnique player identifier.
playercharacterPlayer name.
team_idintegerUnique team identifier.
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
jersey_numcharacterJersey number worn by the player.
player_positioncharacterPlayer's position abbreviation as stats.nba.com lists it (e.g. 'G', 'F-G', 'C').
fg_pctnumericField goal percentage (0-1).

HomePageStat6

col_nametypedescription
rankintegerRank of the row within the returned leaderboard (1 = best) for the stat the endpoint sorts by.
player_idintegerUnique player identifier.
playercharacterPlayer name.
team_idintegerUnique team identifier.
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
jersey_numcharacterJersey number worn by the player.
player_positioncharacterPlayer's position abbreviation as stats.nba.com lists it (e.g. 'G', 'F-G', 'C').
ft_pctnumericFree throw percentage (0-1).

HomePageStat7

col_nametypedescription
rankintegerRank of the row within the returned leaderboard (1 = best) for the stat the endpoint sorts by.
player_idintegerUnique player identifier.
playercharacterPlayer name.
team_idintegerUnique team identifier.
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
jersey_numcharacterJersey number worn by the player.
player_positioncharacterPlayer's position abbreviation as stats.nba.com lists it (e.g. 'G', 'F-G', 'C').
fg3_pctnumericThree-point field goal percentage (0-1).

HomePageStat8

col_nametypedescription
rankintegerRank of the row within the returned leaderboard (1 = best) for the stat the endpoint sorts by.
player_idintegerUnique player identifier.
playercharacterPlayer name.
team_idintegerUnique team identifier.
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
jersey_numcharacterJersey number worn by the player.
player_positioncharacterPlayer's position abbreviation as stats.nba.com lists it (e.g. 'G', 'F-G', 'C').
blknumericBlocks.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nba_stats_homepagev2(league_id='00', season='2024-25')

Last validated n/a.

nba_stats_hustlestatsboxscore​

GET /stats/hustlestatsboxscore

Endpoint URL: GET https://stats.nba.com/stats/hustlestatsboxscore

Valid URL: https://stats.nba.com/stats/hustlestatsboxscore?GameID=0022200021

API ParameterPythonPatternRequiredNullableDescription
GameIDgame_idY

Returns​

return_parsed=True (default) — A dict of DataFrames keyed by result-set name (HustleStatsAvailable, PlayerStats, TeamStats) (one table per documented key below); pass return_as_pandas=True for a dict of pandas.DataFrames (same keys).

HustleStatsAvailable

col_nametypedescription
game_idcharacterUnique game identifier.
hustle_statusintegerHustle status.

PlayerStats

col_nametypedescription
game_idcharacterUnique game identifier.
team_idintegerUnique team identifier.
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
team_citycharacterTeam city or region (e.g. 'Las Vegas').
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
start_positioncharacterPosition the player started the game at (F, C, or G); empty for reserves.
commentcharacterPlayer status / inactive reason (e.g. 'DNP - Coach's Decision', 'Inactive').
minutescharacterMinutes played, formatted MM:SS (V3 PT-duration parsed) or decimal minutes (V2).
ptsintegerPoints scored.
contested_shotsnumericDefensively contested shots.
contested_shots_2_ptnumericOpponent two-point attempts contested.
contested_shots_3_ptnumericOpponent three-point attempts contested.
deflectionsnumericDefensive deflections.
charges_drawnnumericCharges drawn.
screen_assistsnumericScreen assists (resulting in a basket).
screen_ast_ptsnumericPoints teammates scored directly off the row's screen assists.
off_loose_balls_recoverednumericLoose balls recovered while on offense.
def_loose_balls_recoverednumericLoose balls recovered while on defense.
loose_balls_recoverednumericTotal loose balls recovered.
off_boxoutsnumericBox-outs recorded on the offensive glass.
def_boxoutsnumericBox-outs recorded on the defensive glass.
box_out_player_team_rebsnumericTeam rebounds secured following the row's box-outs.
box_out_player_rebsnumericRebounds the player secured directly off their own box-outs.
box_outsnumericBox-outs executed.

TeamStats

col_nametypedescription
game_idcharacterUnique game identifier.
team_idintegerUnique team identifier.
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
team_citycharacterTeam city or region (e.g. 'Las Vegas').
minutescharacterMinutes played, formatted MM:SS (V3 PT-duration parsed) or decimal minutes (V2).
ptsintegerPoints scored.
contested_shotsnumericDefensively contested shots.
contested_shots_2_ptnumericOpponent two-point attempts contested.
contested_shots_3_ptnumericOpponent three-point attempts contested.
deflectionsnumericDefensive deflections.
charges_drawnnumericCharges drawn.
screen_assistsnumericScreen assists (resulting in a basket).
screen_ast_ptsnumericPoints teammates scored directly off the row's screen assists.
off_loose_balls_recoverednumericLoose balls recovered while on offense.
def_loose_balls_recoverednumericLoose balls recovered while on defense.
loose_balls_recoverednumericTotal loose balls recovered.
off_boxoutsnumericBox-outs recorded on the offensive glass.
def_boxoutsnumericBox-outs recorded on the defensive glass.
box_out_player_team_rebsnumericTeam rebounds secured following the row's box-outs.
box_out_player_rebsnumericRebounds the player secured directly off their own box-outs.
box_outsnumericBox-outs executed.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nba_stats_hustlestatsboxscore()

Last validated n/a.

nba_stats_infographicfanduelplayer​

GET /stats/infographicfanduelplayer

Endpoint URL: GET https://stats.nba.com/stats/infographicfanduelplayer

Valid URL: https://stats.nba.com/stats/infographicfanduelplayer?GameID=0022201086

API ParameterPythonPatternRequiredNullableDescription
GameIDgame_idY

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
team_idintegerUnique team identifier.
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
jersey_numcharacterJersey number worn by the player.
player_positioncharacterPlayer's position abbreviation as stats.nba.com lists it (e.g. 'G', 'F-G', 'C').
locationcharacterLocation.
fan_duel_ptsnumericScoring or score-margin metric for fan duel points in the requested NBA or WNBA Stats split.
nba_fantasy_ptsnumericNba fantasy points for the requested NBA or WNBA Stats split.
usg_pctnumericPercentage or rate for usage percentage in the requested NBA or WNBA Stats split.
minnumericMinutes played.
fgmintegerField goals made.
fgaintegerField goal attempts.
fg_pctnumericField goal percentage (0-1).
fg3_mintegerThree-point field goals made.
fg3_aintegerThree-point field goal attempts.
fg3_pctnumericThree-point field goal percentage (0-1).
ftmintegerFree throws made.
ftaintegerFree throw attempts.
ft_pctnumericFree throw percentage (0-1).
orebintegerOffensive rebounds.
drebintegerDefensive rebounds.
rebintegerRebounds per game.
astintegerAssists.
tovintegerTurnovers.
stlintegerSteals.
blkintegerBlocks.
blkaintegerBlocked field-goal attempts against for the requested NBA or WNBA Stats split.
pfintegerPersonal fouls.
pfdintegerPersonal fouls drawn for the requested NBA or WNBA Stats split.
ptsintegerPoints scored.
plus_minusintegerPlus/minus point differential while on court.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nba_stats_infographicfanduelplayer()

Last validated n/a.

nba_stats_leaderstiles​

GET /stats/leaderstiles

Endpoint URL: GET https://stats.nba.com/stats/leaderstiles

Valid URL: https://stats.nba.com/stats/leaderstiles?GameScope=Season&LeagueID=00&PlayerOrTeam=Team&PlayerScope=All+Players&Season=2024-25&SeasonType=Regular+Season&Stat=PTS

API ParameterPythonPatternRequiredNullableDescription
GameScopegame_scope_detailedY
LeagueIDleague_idY
PlayerOrTeamplayer_or_teamY
PlayerScopeplayer_scopeY
SeasonseasonYSeason label, e.g. 2024-25. Defaults at call time by a calendar cutoff, the month after a season's first games, so it can lag the newest rows by a few weeks. An NBA season tips off in late October and becomes the default in November (2025-26 through October 2026, 2026-27 from November 2026); a G League season (regular season from late December) in January; a Summer League (played in July, which stats.nba.com labels 2026-27 in 2026) in August; a draft combine (May) in June; a draft (drafthistory, a year; late June) in July. With season type Playoffs / PlayIn (or commonplayoffseries) the NBA and the G League roll over in May, after their playoffs start; with All Star the NBA rolls over in March, after the February game (the G League has no All-Star rows and keeps its own rule). A month table cannot follow a lockout or pandemic calendar (1998-99, 2011-12, 2020-21): pass a season then. Without one stats.nba.com answers an empty HTTP 500 or every season summed.
SeasonTypeseason_type_playoffsYSeason type, a label: Regular Season, Pre Season, Playoffs, PlayIn or All Star (each endpoint takes a subset). Not ESPN's numeric code: 3 is HTTP 400. A default season follows it: Playoffs / PlayIn roll over in May (NBA, G League), All Star in March (NBA).
StatstatY

Returns​

return_parsed=True (default) — A dict of DataFrames keyed by result-set name (LeadersTiles, AllTimeSeasonHigh, LastSeasonHigh, LowSeasonHigh) (one table per documented key below); pass return_as_pandas=True for a dict of pandas.DataFrames (same keys).

LeadersTiles

col_nametypedescription
rankintegerRank of the row within the returned leaderboard (1 = best) for the stat the endpoint sorts by.
player_idintegerUnique player identifier.
playercharacterPlayer name.
team_idintegerUnique team identifier.
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
ptsnumericPoints scored.

AllTimeSeasonHigh

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
ptsnumericPoints scored.
season_yearcharacterSeason year string ('YYYY-YY' format).
team_idintegerUnique team identifier.
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').

LastSeasonHigh

col_nametypedescription
rankintegerRank of the row within the returned leaderboard (1 = best) for the stat the endpoint sorts by.
player_idintegerUnique player identifier.
playercharacterPlayer name.
team_idintegerUnique team identifier.
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
ptsnumericPoints scored.

LowSeasonHigh

col_nametypedescription
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
ptsnumericPoints scored.
season_yearcharacterSeason year string ('YYYY-YY' format).
team_idintegerUnique team identifier.
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nba_stats_leaderstiles(league_id='00', season='2024-25')

Last validated n/a.

nba_stats_matchupsrollup​

GET /stats/matchupsrollup

Endpoint URL: GET https://stats.nba.com/stats/matchupsrollup

Valid URL: https://stats.nba.com/stats/matchupsrollup?DefPlayerID=&DefTeamID=0&LeagueID=00&OffPlayerID=&OffTeamID=0&PerMode=Totals&Season=2024-25&SeasonType=Regular+Season

API ParameterPythonPatternRequiredNullableDescription
DefPlayerIDdef_player_id_nullableY
DefTeamIDdef_team_id_nullableY
LeagueIDleague_idY
OffPlayerIDoff_player_id_nullableY
OffTeamIDoff_team_id_nullableY
PerModeper_mode_simpleY
SeasonseasonYSeason label, e.g. 2024-25. Defaults at call time by a calendar cutoff, the month after a season's first games, so it can lag the newest rows by a few weeks. An NBA season tips off in late October and becomes the default in November (2025-26 through October 2026, 2026-27 from November 2026); a G League season (regular season from late December) in January; a Summer League (played in July, which stats.nba.com labels 2026-27 in 2026) in August; a draft combine (May) in June; a draft (drafthistory, a year; late June) in July. With season type Playoffs / PlayIn (or commonplayoffseries) the NBA and the G League roll over in May, after their playoffs start; with All Star the NBA rolls over in March, after the February game (the G League has no All-Star rows and keeps its own rule). A month table cannot follow a lockout or pandemic calendar (1998-99, 2011-12, 2020-21): pass a season then. Without one stats.nba.com answers an empty HTTP 500 or every season summed.
SeasonTypeseason_type_playoffsYSeason type, a label: Regular Season, Pre Season, Playoffs, PlayIn or All Star (each endpoint takes a subset). Not ESPN's numeric code: 3 is HTTP 400. A default season follows it: Playoffs / PlayIn roll over in May (NBA, G League), All Star in March (NBA).

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
season_idcharacterUnique season identifier.
positioncharacterListed roster position (G, F, C, etc.).
percent_of_timenumericTime value for percent of time in the NBA or WNBA Stats result set.
def_player_idintegerStats API identifier for defensive player identifier associated with this NBA or WNBA Stats row.
def_player_namecharacterDisplay name for defensive player name associated with this NBA or WNBA Stats row.
gpintegerGames played.
matchup_minnumericNBA or WNBA Stats value for matchup minutes in the matchupsrollup result set.
partial_possnumericEstimated partial possessions credited to the stint or rotation interval.
player_ptsnumericScoring or score-margin metric for player points in the requested NBA or WNBA Stats split.
team_ptsnumericScoring or score-margin metric for team points in the requested NBA or WNBA Stats split.
matchup_astnumericNBA or WNBA Stats value for matchup assists in the matchupsrollup result set.
matchup_tovnumericTurnover or loose-ball metric for matchup turnovers in the requested NBA or WNBA Stats split.
matchup_blknumericNBA or WNBA Stats value for matchup blocks in the matchupsrollup result set.
matchup_fgmnumericShooting metric for matchup fgm in the requested NBA or WNBA Stats split.
matchup_fganumericShooting metric for matchup fga in the requested NBA or WNBA Stats split.
matchup_fg_pctnumericPercentage or rate for matchup field goals percentage in the requested NBA or WNBA Stats split.
matchup_fg3_mnumericShooting metric for matchup fg3m in the requested NBA or WNBA Stats split.
matchup_fg3_anumericShooting metric for matchup fg3a in the requested NBA or WNBA Stats split.
matchup_fg3_pctnumericPercentage or rate for matchup three-point field goals percentage in the requested NBA or WNBA Stats split.
matchup_ftmnumericNBA or WNBA Stats value for matchup ftm in the matchupsrollup result set.
matchup_ftanumericNBA or WNBA Stats value for matchup fta in the matchupsrollup result set.
sflnumericNBA or WNBA Stats value for sfl in the matchupsrollup result set.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nba_stats_matchupsrollup(league_id='00', season='2024-25')

Last validated n/a.

nba_stats_playbyplayv3​

GET /stats/playbyplayv3

Endpoint URL: GET https://stats.nba.com/stats/playbyplayv3

Valid URL: https://stats.nba.com/stats/playbyplayv3?EndPeriod=0&GameID=0022201086&StartPeriod=0

API ParameterPythonPatternRequiredNullableDescription
EndPeriodend_periodY
GameIDgame_idY
StartPeriodstart_periodY

Returns​

return_parsed=True (default) — the output of parse_nba_stats_result_sets; pass return_as_pandas=True for a pandas.DataFrame.

No returns table is published for this endpoint: the committed capture tests/fixtures/nba_stats/endpoints/playbyplayv3.json holds no rows, so parse_nba_stats_result_sets emits no columns; a capture with rows needs a residential IP (stats.nba.com / stats.wnba.com hang on datacenter IPs) and SDV_PY_NBA_STATS_LIVE=1.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nba_stats_playbyplayv3()

Last validated n/a.

nba_stats_playoffpicture​

GET /stats/playoffpicture

Endpoint URL: GET https://stats.nba.com/stats/playoffpicture

Valid URL: https://stats.nba.com/stats/playoffpicture?LeagueID=00&SeasonID=22022

API ParameterPythonPatternRequiredNullableDescription
LeagueIDleague_idY
SeasonIDseason_idY

Returns​

return_parsed=True (default) — A dict of DataFrames keyed by result-set name (EastConfPlayoffPicture, WestConfPlayoffPicture, EastConfStandings, WestConfStandings, EastConfRemainingGames, WestConfRemainingGames) (one table per documented key below); pass return_as_pandas=True for a dict of pandas.DataFrames (same keys).

EastConfPlayoffPicture

col_nametypedescription
conferencecharacterConference name.
high_seed_rankinteger
high_seed_teamcharacter
high_seed_team_idinteger
low_seed_rankinteger
low_seed_teamcharacter
low_seed_team_idinteger
high_seed_series_winteger
high_seed_series_linteger
high_seed_series_remaining_ginteger
high_seed_series_remaining_home_ginteger
high_seed_series_remaining_away_ginteger

WestConfPlayoffPicture

col_nametypedescription
conferencecharacterConference name.
high_seed_rankinteger
high_seed_teamcharacter
high_seed_team_idinteger
low_seed_rankinteger
low_seed_teamcharacter
low_seed_team_idinteger
high_seed_series_winteger
high_seed_series_linteger
high_seed_series_remaining_ginteger
high_seed_series_remaining_home_ginteger
high_seed_series_remaining_away_ginteger

EastConfStandings

col_nametypedescription
conferencecharacterConference name.
rankintegerConference standing position of the team (1 = top seed) in the playoff picture.
teamcharacterTeam-side label or team identifier.
team_slugcharacterURL-safe team identifier (e.g. 'lasvegas-aces' / 'aces').
team_idintegerUnique team identifier.
winsintegerTotal wins.
lossesintegerTotal losses.
pctnumericWin percentage.
divcharacterAbbreviation of the team's division.
confcharactercharacter.
homecharacterHome.
awaycharacterAway record.
gbnumericGames behind the conference leader.
gr_over_500integerRemaining games against teams with winning (over .500) records.
gr_over_500_homeintegerRemaining home games against teams with winning records.
gr_over_500_awayintegerRemaining road games against teams with winning records.
gr_under_500integerRemaining games against teams with losing (under .500) records.
gr_under_500_homeintegerRemaining home games against teams with losing records.
gr_under_500_awayintegerRemaining road games against teams with losing records.
ranking_criteriaintegerCode for the ranking or tiebreak criteria applied to the team in the playoff picture.
clinched_playoffsintegerFlag (1/0) for whether the team has clinched a playoff berth.
clinched_conferenceintegerFlag (1/0) for whether the team has clinched the conference title.
clinched_divisionintegerFlag (1/0) for whether the team has clinched its division.
eliminated_playoffsintegerFlag (1/0) for whether the team has been eliminated from playoff contention.
sosa_remainingcharacterStrength of schedule of the team's remaining opponents (combined opponent winning percentage).

WestConfStandings

col_nametypedescription
conferencecharacterConference name.
rankintegerConference standing position of the team (1 = top seed) in the playoff picture.
teamcharacterTeam-side label or team identifier.
team_slugcharacterURL-safe team identifier (e.g. 'lasvegas-aces' / 'aces').
team_idintegerUnique team identifier.
winsintegerTotal wins.
lossesintegerTotal losses.
pctnumericWin percentage.
divcharacterAbbreviation of the team's division.
confcharactercharacter.
homecharacterHome.
awaycharacterAway record.
gbnumericGames behind the conference leader.
gr_over_500integerRemaining games against teams with winning (over .500) records.
gr_over_500_homeintegerRemaining home games against teams with winning records.
gr_over_500_awayintegerRemaining road games against teams with winning records.
gr_under_500integerRemaining games against teams with losing (under .500) records.
gr_under_500_homeintegerRemaining home games against teams with losing records.
gr_under_500_awayintegerRemaining road games against teams with losing records.
ranking_criteriaintegerCode for the ranking or tiebreak criteria applied to the team in the playoff picture.
clinched_playoffsintegerFlag (1/0) for whether the team has clinched a playoff berth.
clinched_conferenceintegerFlag (1/0) for whether the team has clinched the conference title.
clinched_divisionintegerFlag (1/0) for whether the team has clinched its division.
eliminated_playoffsintegerFlag (1/0) for whether the team has been eliminated from playoff contention.
sosa_remainingcharacterStrength of schedule of the team's remaining opponents (combined opponent winning percentage).

EastConfRemainingGames

col_nametypedescription
teamcharacterTeam-side label or team identifier.
team_idintegerUnique team identifier.
remaining_ginteger
remaining_home_ginteger
remaining_away_ginteger

WestConfRemainingGames

col_nametypedescription
teamcharacterTeam-side label or team identifier.
team_idintegerUnique team identifier.
remaining_ginteger
remaining_home_ginteger
remaining_away_ginteger

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nba_stats_playoffpicture(league_id='00')

Last validated n/a.

nba_stats_synergyplaytypes​

GET /stats/synergyplaytypes

Endpoint URL: GET https://stats.nba.com/stats/synergyplaytypes

Valid URL: https://stats.nba.com/stats/synergyplaytypes?LeagueID=00&PerMode=PerGame&PlayType=Isolation&PlayerOrTeam=P&SeasonType=Regular+Season&SeasonYear=2024-25&TypeGrouping=Offensive

API ParameterPythonPatternRequiredNullableDescription
LeagueIDleague_idY
PerModeper_mode_simpleY
PlayTypeplay_type_nullableY
PlayerOrTeamplayer_or_team_abbreviationY
SeasonTypeseason_type_all_starYSeason type, a label: Regular Season, Pre Season, Playoffs, PlayIn or All Star (each endpoint takes a subset). Not ESPN's numeric code: 3 is HTTP 400. A default season follows it: Playoffs / PlayIn roll over in May (NBA, G League), All Star in March (NBA).
SeasonYearseasonYSeason label, e.g. 2024-25. Defaults at call time by a calendar cutoff, the month after a season's first games, so it can lag the newest rows by a few weeks. An NBA season tips off in late October and becomes the default in November (2025-26 through October 2026, 2026-27 from November 2026); a G League season (regular season from late December) in January; a Summer League (played in July, which stats.nba.com labels 2026-27 in 2026) in August; a draft combine (May) in June; a draft (drafthistory, a year; late June) in July. With season type Playoffs / PlayIn (or commonplayoffseries) the NBA and the G League roll over in May, after their playoffs start; with All Star the NBA rolls over in March, after the February game (the G League has no All-Star rows and keeps its own rule). A month table cannot follow a lockout or pandemic calendar (1998-99, 2011-12, 2020-21): pass a season then. Without one stats.nba.com answers an empty HTTP 500 or every season summed.
TypeGroupingtype_grouping_nullableY

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
season_idcharacterUnique season identifier.
player_idintegerUnique player identifier.
player_namecharacterPlayer name.
team_idintegerUnique team identifier.
team_abbreviationcharacterShort team abbreviation (e.g. 'LAS').
team_namecharacterFull team display name (e.g. 'Las Vegas Aces').
play_typecharacterPlay type description.
type_groupingcharacterWhether the play-type row measures the offensive or defensive side.
percentilenumericLeague percentile of the row's points per possession for the play type, as a decimal.
gpintegerGames played.
poss_pctnumericPoss percentage (0-1 decimal).
pppnumericPoints scored per possession on the play type (Synergy play-type tracking).
fg_pctnumericField goal percentage (0-1).
ft_poss_pctnumericShare of play-type possessions ending in free throws, as a decimal.
tov_poss_pctnumericShare of play-type possessions ending in a turnover, as a decimal.
sf_poss_pctnumericShare of play-type possessions on which a shooting foul was drawn, as a decimal.
plusone_poss_pctnumericShare of play-type possessions producing an and-one, as a decimal.
score_poss_pctnumericShare of play-type possessions on which points were scored, as a decimal.
efg_pctnumericEffective field goal percentage on the play type, as a decimal.
possnumericPoss.
ptsnumericPoints scored.
fgmnumericField goals made.
fganumericField goal attempts.
fgmxnumericField goals missed on the play type.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nba_stats_synergyplaytypes(league_id='00', season='2024-25')

Last validated n/a.