NBA advanced and tracking measures, per game
Changed onThe PER-GAME grain of /advanced-stats: 116 advanced and tracking measures for one player in one game, and per quarter or overtime when ?period asks for it.
Separate from /advanced-stats because the grain differs, exactly as /advanced-stats is separate from /season-averages.
?period DEFAULTS TO 0, the whole game, so the bare path returns one row per game. ?period=all returns every period as well, and ?period=3 pins one. meta.period always echoes which was applied.
Coverage: season 2025, 132,621 rows over 1,301 games and 594 players, 2025-10-21 to 2026-06-13; 34,810 of those rows are the full game (period=0) and 8,565 are postseason.
A well-formed id that is not an NBA player returns 404. A known NBA player with no rows returns 200 with an empty data and a meta.note explaining the coverage boundary.
Request
- Base URL: https://api.bigballsdata.com
- URL: https://api.bigballsdata.com/v1/nba/players/{id}/advanced-game-stats
- Auth: one of:
- API key in header x-api-key
- HTTP bearer
Path parameters
BigBalls player id (UUID from /v1/players)
Query parameters
Season LABEL, not a calendar year: the year the season STARTS in. 2025 means the 2025-26 campaign.
0 (default) is the whole game, 1-4 are quarters, 5+ are overtimes, and the literal all returns every period.
Alias for offset: page=2 means offset=limit. An explicit offset wins.
Response
ok
Example response
{
"data": [
{
"season": 2025
}
]
}Changes
- info
endpoint added
- info