Skip to content

Season Stats & Analytics

Player play types (league)

NBA-only, league-wide. Every stored row of player_season_playtypes (synergyplaytypes with PlayerOrTeam=P, per game) for the season — each item is the document /v1/nba/players/{id}/playtypes returns: the eleven play types on offense and defense, each with possessions, points per possession, frequency, the field-goal line, the score / turnover / shooting-foul / and-one possession shares and Synergy's percentile. A play type Synergy publishes no row for stays all-null. Sorted by player id, then club; team narrows the list to one club's players. A season the adapter has not written yet is an empty list, not a 404. Written daily by statsapi:player-synergy.

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

GEThttps://api.sportquanta.com/v1/nba/player-playtypes
GETList every NBA player's Synergy play types for a season
GET/v1/nba/player-playtypes

List every NBA player's Synergy play types for a season

NBA-only, league-wide. Every stored row of player_season_playtypes (synergyplaytypes with PlayerOrTeam=P, per game) for the season — each item is the document /v1/nba/players/{id}/playtypes returns: the eleven play types on offense and defense, each with possessions, points per possession, frequency, the field-goal line, the score / turnover / shooting-foul / and-one possession shares and Synergy's percentile. A play type Synergy publishes no row for stays all-null. Sorted by player id, then club; team narrows the list to one club's players. A season the adapter has not written yet is an empty list, not a 404. Written daily by statsapi:player-synergy.

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

Authorization
Query
List every NBA player's Synergy play types for a seasoncURL
200Example

Reference context: NBA.

Overview · Response conventions

Authorizations

Authorizationstringheaderrequired

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

Query Parameters

seasonintegerrequired

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

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

teamstring

Canonical team id; only that club's players.

limitintegerdefault:1000

Page size; the default carries a full regular season.

Required range: 1 <= x, x <= 2000

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

Every stored player play-type row for the season.

dataobjectrequired
data.seasonintegerrequired
data.itemsobject[]required
data.items.canonicalIdstring
data.items.playerIdstring | null
data.items.teamIdstring | null
data.items.seasonnumber
data.items.offenseobject

Provider season play-type statistics keyed by the stored camelCase play-type name, such as isolation or transition. Each value retains possessions, pointsPerPossession, frequency and the provider's outcome shares. Unpublished play-type rows retain null metrics; they are not zero-valued performances.

data.items.offense.{key}object
data.items.offense.{key}.possessionsnumber | null
data.items.offense.{key}.pointsPerPossessionnumber | null
data.items.offense.{key}.frequencynumber | null
data.items.offense.{key}.pointsnumber | null
data.items.offense.{key}.fieldGoalsMadenumber | null
data.items.offense.{key}.fieldGoalsAttemptednumber | null
data.items.offense.{key}.fieldGoalPctnumber | null
data.items.offense.{key}.effectiveFieldGoalPctnumber | null
data.items.offense.{key}.scorePossPctnumber | null
data.items.offense.{key}.turnoverPossPctnumber | null
data.items.offense.{key}.freeThrowPossPctnumber | null
data.items.offense.{key}.shootingFoulPossPctnumber | null
data.items.offense.{key}.plusOnePossPctnumber | null
data.items.offense.{key}.percentilenumber | null
data.items.defenseobject

Provider season play-type statistics keyed by the stored camelCase play-type name, such as isolation or transition. Each value retains possessions, pointsPerPossession, frequency and the provider's outcome shares. Unpublished play-type rows retain null metrics; they are not zero-valued performances.

data.items.defense.{key}object
data.items.defense.{key}.possessionsnumber | null
data.items.defense.{key}.pointsPerPossessionnumber | null
data.items.defense.{key}.frequencynumber | null
data.items.defense.{key}.pointsnumber | null
data.items.defense.{key}.fieldGoalsMadenumber | null
data.items.defense.{key}.fieldGoalsAttemptednumber | null
data.items.defense.{key}.fieldGoalPctnumber | null
data.items.defense.{key}.effectiveFieldGoalPctnumber | null
data.items.defense.{key}.scorePossPctnumber | null
data.items.defense.{key}.turnoverPossPctnumber | null
data.items.defense.{key}.freeThrowPossPctnumber | null
data.items.defense.{key}.shootingFoulPossPctnumber | null
data.items.defense.{key}.plusOnePossPctnumber | null
data.items.defense.{key}.percentilenumber | 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.