Skip to content

Season Stats & Analytics

Player shot dashboard

NBA-only. playerdashptshots, per game, same six bucket tables as the team dashboard (general, shotClock, dribbles, closestDefender, closestDefender10ftPlus, touchTime). Players are dashboarded in order of minutes per game from the tracking collection (600 per run), so a deep-bench player may have no row. Written daily by statsapi:shot-dashboards.

Requires the stats entitlement (a paid plan). See Responses & Errors for the success envelope and availability rules.

GEThttps://api.sportquanta.com/v1/nba/players/{id}/shot-dashboard
GETGet an NBA player's shot dashboard
GET/v1/nba/players/{id}/shot-dashboard

Get an NBA player's shot dashboard

NBA-only. playerdashptshots, per game, same six bucket tables as the team dashboard (general, shotClock, dribbles, closestDefender, closestDefender10ftPlus, touchTime). Players are dashboarded in order of minutes per game from the tracking collection (600 per run), so a deep-bench player may have no row. Written daily by statsapi:shot-dashboards.

Requires the stats entitlement (a paid plan). See Responses & Errors for the success envelope and availability rules.

Authorization
Path
Query
Get an NBA player's shot dashboardcURL
200Example

Reference context: NBA.

Overview · Response conventions

Authorizations

Authorizationstringheaderrequired

Send a workspace API token in the Authorization: Bearer <token> header.

Path Parameters

idstringrequired

Query Parameters

seasonintegerrequired

Season start year (2025 for the 2025-26 season).

Required range: 1946 <= x, x <= 2100

provenancebooleandefault:false

Opt in to per-field provenance on supported single game, match, team, player, and venue reads. Lists and composites accept the flag but generally omit provenance. It is returned under _meta.provenance only when source metadata exists.

Response

application/json

The stored (subject, season) row.

dataobjectrequired
data.generalobject[] | null
data.general.bucketstring

Upstream bucket label, e.g. "0-2 Feet - Very Tight", "22-18", "0 Dribbles".

data.general.fgaFrequencynumber | null
data.general.fieldGoalsMadenumber | null
data.general.fieldGoalsAttemptednumber | null
data.general.fieldGoalPctnumber | null
data.general.effectiveFieldGoalPctnumber | null
data.general.fg2aFrequencynumber | null
data.general.twoPointersMadenumber | null
data.general.twoPointersAttemptednumber | null
data.general.twoPointPctnumber | null
data.general.fg3aFrequencynumber | null
data.general.threePointersMadenumber | null
data.general.threePointersAttemptednumber | null
data.general.threePointPctnumber | null
data.shotClockobject[] | null
data.shotClock.bucketstring

Upstream bucket label, e.g. "0-2 Feet - Very Tight", "22-18", "0 Dribbles".

data.shotClock.fgaFrequencynumber | null
data.shotClock.fieldGoalsMadenumber | null
data.shotClock.fieldGoalsAttemptednumber | null
data.shotClock.fieldGoalPctnumber | null
data.shotClock.effectiveFieldGoalPctnumber | null
data.shotClock.fg2aFrequencynumber | null
data.shotClock.twoPointersMadenumber | null
data.shotClock.twoPointersAttemptednumber | null
data.shotClock.twoPointPctnumber | null
data.shotClock.fg3aFrequencynumber | null
data.shotClock.threePointersMadenumber | null
data.shotClock.threePointersAttemptednumber | null
data.shotClock.threePointPctnumber | null
data.dribblesobject[] | null
data.dribbles.bucketstring

Upstream bucket label, e.g. "0-2 Feet - Very Tight", "22-18", "0 Dribbles".

data.dribbles.fgaFrequencynumber | null
data.dribbles.fieldGoalsMadenumber | null
data.dribbles.fieldGoalsAttemptednumber | null
data.dribbles.fieldGoalPctnumber | null
data.dribbles.effectiveFieldGoalPctnumber | null
data.dribbles.fg2aFrequencynumber | null
data.dribbles.twoPointersMadenumber | null
data.dribbles.twoPointersAttemptednumber | null
data.dribbles.twoPointPctnumber | null
data.dribbles.fg3aFrequencynumber | null
data.dribbles.threePointersMadenumber | null
data.dribbles.threePointersAttemptednumber | null
data.dribbles.threePointPctnumber | null
data.closestDefenderobject[] | null
data.closestDefender.bucketstring

Upstream bucket label, e.g. "0-2 Feet - Very Tight", "22-18", "0 Dribbles".

data.closestDefender.fgaFrequencynumber | null
data.closestDefender.fieldGoalsMadenumber | null
data.closestDefender.fieldGoalsAttemptednumber | null
data.closestDefender.fieldGoalPctnumber | null
data.closestDefender.effectiveFieldGoalPctnumber | null
data.closestDefender.fg2aFrequencynumber | null
data.closestDefender.twoPointersMadenumber | null
data.closestDefender.twoPointersAttemptednumber | null
data.closestDefender.twoPointPctnumber | null
data.closestDefender.fg3aFrequencynumber | null
data.closestDefender.threePointersMadenumber | null
data.closestDefender.threePointersAttemptednumber | null
data.closestDefender.threePointPctnumber | null
data.closestDefender10ftPlusobject[] | null
data.closestDefender10ftPlus.bucketstring

Upstream bucket label, e.g. "0-2 Feet - Very Tight", "22-18", "0 Dribbles".

data.closestDefender10ftPlus.fgaFrequencynumber | null
data.closestDefender10ftPlus.fieldGoalsMadenumber | null
data.closestDefender10ftPlus.fieldGoalsAttemptednumber | null
data.closestDefender10ftPlus.fieldGoalPctnumber | null
data.closestDefender10ftPlus.effectiveFieldGoalPctnumber | null
data.closestDefender10ftPlus.fg2aFrequencynumber | null
data.closestDefender10ftPlus.twoPointersMadenumber | null
data.closestDefender10ftPlus.twoPointersAttemptednumber | null
data.closestDefender10ftPlus.twoPointPctnumber | null
data.closestDefender10ftPlus.fg3aFrequencynumber | null
data.closestDefender10ftPlus.threePointersMadenumber | null
data.closestDefender10ftPlus.threePointersAttemptednumber | null
data.closestDefender10ftPlus.threePointPctnumber | null
data.touchTimeobject[] | null
data.touchTime.bucketstring

Upstream bucket label, e.g. "0-2 Feet - Very Tight", "22-18", "0 Dribbles".

data.touchTime.fgaFrequencynumber | null
data.touchTime.fieldGoalsMadenumber | null
data.touchTime.fieldGoalsAttemptednumber | null
data.touchTime.fieldGoalPctnumber | null
data.touchTime.effectiveFieldGoalPctnumber | null
data.touchTime.fg2aFrequencynumber | null
data.touchTime.twoPointersMadenumber | null
data.touchTime.twoPointersAttemptednumber | null
data.touchTime.twoPointPctnumber | null
data.touchTime.fg3aFrequencynumber | null
data.touchTime.threePointersMadenumber | null
data.touchTime.threePointersAttemptednumber | null
data.touchTime.threePointPctnumber | null
data.canonicalIdstring
data.playerIdstring | null
data.teamIdstring | null
data.seasonnumber
data.gamesPlayednumber | null
_metaobject

Response request/cache metadata. Optional evidence fields are specific to this handler; cache TTL does not measure source-data freshness.

_meta.request_idstring
_meta.served_fromenum<string>

Available options: live, cache

_meta.cache_ttl_secondsinteger

Response cache TTL; independent of source freshness. Omitted when zero.