Basketball Head
Basketball Head is a modern NBA analytics API delivering fast, reliable access to player statistics, historical game data, advanced metrics, team information, and AI-ready basketball analytics. Built for developers, sports analysts, fantasy basketball platforms, media applications, betting research, and basketball enthusiasts, Basketball Head provides a scalable low-latency API powered by…
Basketball Head endpoints
| Method | Endpoint | Description |
|---|---|---|
| Player Discovery | ||
| GET |
getPlayerByPlayerId /players/{player_id} |
Get one player metadata record by Basketball Reference player ID, for example jamesle01. |
| POST |
listPlayers /players |
List player metadata records with pagination support. Use this endpoint for broad player discovery. |
| POST |
listPlayersByFirstName /players/search |
List player metadata records matching a lowercase request body field named firstname and optional lastname prefix. |
| POST |
listPlayersByLastName /players/lastname |
List player metadata records matching a last name prefix with pagination support. |
| Player Career Stats | ||
| GET |
getPlayerAdvancedStats /players/{player_id}/stats/Advanced |
Get advanced season stat rows for a player. Optional filters: seasonType can be Regular or Playoffs; seasonId must use YYYY-YYYY format, for example 2025-2026. |
| GET |
getPlayerPer100Stats /players/{player_id}/stats/Per100 |
Get per-100-possession season stat rows for a player. Optional filters: seasonType can be Regular or Playoffs; seasonId must use YYYY-YYYY format, for example 2025-2026. |
| GET |
getPlayerPerGameStats /players/{player_id}/stats/PerGame |
Get per-game season stat rows for a player. Optional filters: seasonType can be Regular or Playoffs; seasonId must use YYYY-YYYY format, for example 2025-2026. |
| GET |
getPlayerPer36Stats /players/{player_id}/stats/Per36 |
Get per-36-minute season stat rows for a player. Optional filters: seasonType can be Regular or Playoffs; seasonId must use YYYY-YYYY format, for example 2025-2026. |
| GET |
getPlayerCareerSalaries /players/{player_id}/stats/Salary |
Get career salary rows for a player by Basketball Reference player ID, for example jamesle01. |
| GET |
getPlayerTotalStats /players/{player_id}/stats/Totals |
Get total season stat rows for a player. Optional filters: seasonType can be Regular or Playoffs; seasonId must use YYYY-YYYY format, for example 2025-2026. |
| Team Information | ||
| GET |
getTeamSchedule /teams/{team_id}/schedule/{season_id} |
Get team schedule by team ID and season. The season_id path value must use YYYY-YYYY format, for example 2025-2026. |
| GET |
getTeamRoster /teams/{team_id}/roster/{season_id} |
Get team roster by team ID and season. The season_id path value must use YYYY-YYYY format, for example 2025-2026. |
| GET |
getTeamMetadata /teams/{team_id}/metadata/{season_id} |
Get team metadata by team ID and season. The season_id path value must use YYYY-YYYY format, for example 2025-2026. |
| Player Game Stats | ||
| POST |
listPlayerGamesBySeason /players/{player_id}/games/{season_id} |
List player game log rows for one NBA season with pagination support. The season_id path value is the ending season year, for example 2026 for the 2025-2026 season. |
| POST |
listPlayerGames /players/{player_id}/games |
List player game log rows for all available seasons with pagination support. |
| Other endpoints | ||
| POST |
listPlayers /players |
List players by first name index with pagination support. |
| POST |
listPlayersByLastName /players/lastname |
List players matching a last name prefix. |
| POST |
listPlayersByFirstName /players/search |
List players matching a first name and optional last name prefix. |
| GET |
getPlayerByPlayerId /players/{player_id} |
Get player metadata by player ID. |
| POST |
listPlayerGames /players/{player_id}/games |
List game log records for a player with pagination support. |
| POST |
listPlayerGamesBySeason /players/{player_id}/games/{season_id} |
List game log records for a player and season with pagination support. |
| GET |
getPlayerTotalStats /players/{player_id}/stats/Totals |
Get total stats for a player. |
| GET |
getTeamMetadata /teams/{team_id}/metadata/{season_id} |
Get team metadata by team ID and season. |
| GET |
getTeamSchedule /teams/{team_id}/schedule/{season_id} |
Get team schedule by team ID and season. |
| GET |
getTeamRoster /teams/{team_id}/roster/{season_id} |
Get team roster by team ID and season. |
| GET |
getPlayerPer100Stats /players/{player_id}/stats/Per100 |
Get per-100-possession stats for a player. |
| GET |
getPlayerPer36Stats /players/{player_id}/stats/Per36 |
Get per-36-minute stats for a player. |
| GET |
getPlayerCareerSalaries /players/{player_id}/stats/Salary |
Get career salary records for a player. |
| GET |
getPlayerPerGameStats /players/{player_id}/stats/PerGame |
Get per-game stats for a player. |
| GET |
getPlayerAdvancedStats /players/{player_id}/stats/Advanced |
Get advanced stats for a player. |
Basketball Head pricing
| Plan | Price | Rate limit | Quotas |
|---|---|---|---|
| BASIC | Free | — |
|
| PRO Recommended | $5 / month | — |
|