Date: 2026-10-24
Added
- NBA Cup Round Filter - 34 dashboard, league, shot chart and video endpoints take a new
ist_round_nullableargument that sends theISTRoundfilter (Group,East/West Group A-C,Knockout,Championship), withISTRound/ISTRoundNullableadded toparameters.py. It defaults toNone, so existing requests are unchanged (PR #719) - V3 Box Scores - Every dataset of the ten nested box score endpoints (
BoxScoreAdvancedV3,BoxScoreDefensiveV2,BoxScoreFourFactorsV3,BoxScoreHustleV2,BoxScoreMatchupsV3,BoxScoreMiscV3,BoxScorePlayerTrackV3,BoxScoreScoringV3,BoxScoreTraditionalV3,BoxScoreUsageV3) now hashomeTeamIdandawayTeamIdcolumns, so home and away rows no longer have to be told apart by row order. The columns are appended at the end, so existing column positions stay the same (PR #717) - Proxy Settings - The proxy is now resolved on every request (explicit
proxy=, thenNBA_API_PROXY, then the legacydebug.PROXY), so settingNBA_API_PROXYafter import takes effect. SettingNBA_API_REQUIRE_PROXY=1makes a request raiseProxyRequiredErrorbefore any connection opens when no proxy is configured, and proxy credentials are masked in request errors (PR #720) - Python 3.14 and 3.15 - Added support for Python 3.14 and 3.15, with numpy and pandas floors on those versions set to the first releases that ship wheels for them (PR #729)
- Documentation - Added an endpoint guide that maps the data you want to the endpoint, parameters and datasets to use, a guide for AI coding agents writing code with
nba_api, and a list of endpoints stats.nba.com currently fails or no longer serves (PR #737, PR #736, PR #715)
Changed
- Dependencies - numpy is no longer a direct dependency; it is still installed through pandas, so environments are unchanged, and the per-Python numpy pins that conflicted with numpy 2 (for example on Colab, see #509 and #523) are gone. Column labels in multi-level
get_data_frame()frames are nowstrinstead ofnumpy.str_(equal values) (PR #741) - Dependencies - The pandas floor is now 2.2.2 on Python 3.10 to 3.12 and 2.2.3 on Python 3.13. Older pandas releases either fail to import next to numpy 2 (
numpy.dtype size changed) or, on 3.13, have no wheels and must be built from source (PR #741, PR #744, PR #740) - Import Time - pandas is imported only when
get_data_frame()is first called, soimport nba_api.stats.endpointsdrops from about 185 ms to about 62 ms and code that only usesget_dict()/get_json()never loads pandas.nba_api.__version__is looked up on first access. If pandas is missing,get_data_frame()raisesModuleNotFoundError(PR #743, PR #746, PR #742) - Static Players -
find_player_by_iduses an id index instead of scanning every player, and name searches cache the accent-stripped names (about 5.9 ms to 0.4 ms per search). The caches rebuild ifdata.playerschanges length (PR #743)
Deprecated
- Endpoints No Longer Served -
LeagueLeaders,AssistLeaders,AssistTrackerandPlayoffPicture(stats.nba.com returns its homepage) andBoxScoreAdvancedV2,BoxScoreFourFactorsV2,BoxScoreMiscV2,BoxScoreScoringV2,BoxScoreUsageV2andPlayByPlay(empty JSON) now emit aDeprecationWarningnaming the r