Docs / Stats & data

NBA Player Stats API

Partial/nba-api

Every NBA player who logged a minute, every game they played. Look up a player ID, then pull their game log, their per-game box-score line, or their regular-season averages, all in the same unified envelope you get for every other sport on the API.

Coverage

Seven NBA seasons of player game logs and per-game box scores, 2019-20 through 2025-26, each complete through its Finals, plus regular-season averages for 2023-24, 2024-25 and 2025-26.

Endpoints

/v1/players

Find a player and their ID. Use the returned UUID for the calls below.

curl "https://api.bigballsdata.com/v1/players?sport=basketball&league=nba&name=jokic" \
  -H "Authorization: Bearer $BBS_API_KEY"
/v1/nba/players/{id}/season-averages

Regular-season per-game averages for one player, one row per stored season.

curl "https://api.bigballsdata.com/v1/nba/players/{player_id}/season-averages" \
  -H "Authorization: Bearer $BBS_API_KEY"
/v1/players/{id}/gamelog

Game-by-game log for one player across a season.

curl "https://api.bigballsdata.com/v1/players/{player_id}/gamelog" \
  -H "Authorization: Bearer $BBS_API_KEY"
/v1/nba/players/{id}/stats

Historical approximate career aggregates from play events, not season averages or game logs.

curl "https://api.bigballsdata.com/v1/nba/players/{player_id}/stats" \
  -H "Authorization: Bearer $BBS_API_KEY"

Response fields

Selected field paths and types from the endpoint registry. No player values are invented here.

data[].date: string (YYYY-MM-DD)
data[].pts: number | null
data[].plus_minus: number | null
data[].postseason: boolean

What you can build

Fantasy projections

Feed season averages + game logs into a projection model for daily fantasy lineups.

Player comparison tool

Look up two ids and diff their per-game lines in a side-by-side widget.

Box-score bot

Post nightly stat lines to Discord/Slack the moment a game finishes.

FAQ

How do I get a player id?
Call /v1/players with a name filter to find a UUID, then pass that ID to /v1/nba/players/{id}/season-averages or /v1/players/{id}/gamelog.
Which seasons are available?
Game logs and per-game box scores cover 2019-20 through 2025-26; regular-season averages cover 2023-24, 2024-25 and 2025-26. Pass the four-digit season start year, such as season=2025 for the 2025-26 campaign. How far back a key may read depends on its plan.
What does plus/minus mean in an NBA game log?
The data[].plus_minus field is the change in score while the player is on the court, from the player's team perspective. It is a number or null in the game-log field registry; do not treat null as zero or as a season average.

Start pulling NBA Player Stats

Free tier: 250 requests/day (500 with GitHub), no credit card.

Get an API key