Skip to main content

NBA — NBA Stats API (stats.nba.com) — Other: playoffpicture–synergyplaytypes

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.

Raises​

ExceptionDescription
NoDataErrorThe host answered 404 -- the requested resource does not exist.
ValueErrorThe host answered 400 / 422 -- the request is wrong; retrying cannot help.
AssetFetchErrorThe fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty.
ImportErrorcurl_cffi is not installed -- stats.nba.com / stats.wnba.com block plain requests, so the transport needs it (pip install curl_cffi or sportsdataverse[all]).

Example​

nba_stats_playoffpicture(league_id='00')

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.

Raises​

ExceptionDescription
NoDataErrorThe host answered 404 -- the requested resource does not exist.
ValueErrorThe host answered 400 / 422 -- the request is wrong; retrying cannot help.
AssetFetchErrorThe fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty.
ImportErrorcurl_cffi is not installed -- stats.nba.com / stats.wnba.com block plain requests, so the transport needs it (pip install curl_cffi or sportsdataverse[all]).

Example​

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