Season Stats & Analytics
Team season statistics
Returns the league-wide NBA team season aggregate set for the requested season,
including offense/defense ranks computed at read time. Other leagues return
404 endpoint_not_for_sport.
Requires the stats entitlement (a paid plan). See Responses & Errors for the success envelope and availability rules.
https://api.sportquanta.com/v1/{league}/team-statsReference context: WKBL.
Overview · Response conventions
Authorizations
AuthorizationstringheaderrequiredSend a workspace API token in the Authorization: Bearer <token> header.
Path Parameters
leagueenum<string>default:wkblrequiredLeague for this reference section: wkbl.
Available options: wkbl
Query Parameters
seasonintegerrequiredRequired range: 1946 <= x, x <= 2100
Response
application/jsonTeam season stats response for the requested NBA season.
Query validation failed. Depending on the handler, invalid_query_parameter is returned with HTTP 400 or 422. Pre-read validation is non-billable.
Missing or invalid bearer API token.
Access is forbidden: the token lacks api.read scope, the plan lacks an endpoint/bookmaker capability, or configured billing access is inactive. Inspect error.code and details.feature when present.
The {league} segment is not in the Sportquanta catalog.
Hourly rate ceiling or monthly quota exceeded. The error code disambiguates
which limit was hit. X-RateLimit-* and X-Requests-*-Month response headers
carry the current state of both counters.
Token validation or an internal handler failed. Token-store failures use api_token_lookup_failed; unsupported internal sport dispatch can use data_layer_unavailable.
The data layer (Mongo / ClickHouse / Redis cache) is temporarily unreachable. The server attempted the lookup; it failed. Retry with backoff. Per the spec's order of evaluation, this DOES consume monthly quota — the request reached step 6.
The configured billing provider could not verify API access. The request is refused before the data handler and does not consume monthly quota.
dataobjectrequireddata.seasonintegerrequireddata.teamsobject[] | nullrequireddata.teams.teamIdstringrequireddata.teams.gamesPlayedintegerdata.teams.statsobjectrequireddata.teams.stats.idstringdata.teams.stats.canonical_idstringdata.teams.stats.external_idsobjectMap from the exact stored source/namespace key to that provider's identifier for this entity. Keys vary by entity and league. Values are strings, even when the provider ID looks numeric. Use the exact key and value for external-ID lookups; these are distinct from the canonical ID. SOURCE_KEY below is an illustrative placeholder.
data.teams.stats.external_ids.{key}stringdata.teams.stats.created_atstring<date-time>Canonical document creation timestamp, when present; not the scheduled start or event time.
data.teams.stats.updated_atstring<date-time>Canonical document update timestamp, when present. It is not a guarantee that every field was refreshed at this time; field provenance carries individual ingestion times.
data.teams.stats.team_idstringdata.teams.stats.seasonintegerrequireddata.teams.stats.games_playedintegerdata.teams.stats.off_ratingnumberdata.teams.stats.def_ratingnumberdata.teams.stats.net_ratingnumberdata.teams.stats.pacenumberdata.teams.stats.points_fornumberdata.teams.stats.three_pointers_madenumberdata.teams.stats.three_pointers_attemptednumberdata.teams.stats.free_throws_madenumberdata.teams.stats.free_throws_attemptednumberdata.teams.stats.rebounds_offensivenumberdata.teams.stats.rebounds_defensivenumberdata.teams.stats.reboundsnumberdata.teams.stats.points_in_paintnumberdata.teams.stats.opp_points_in_paintnumberdata.teams.stats.points_againstnumberdata.teams.stats.opp_three_pointers_madenumberdata.teams.stats.opp_three_pointers_attemptednumberdata.teams.stats.opp_free_throws_madenumberdata.teams.stats.opp_free_throws_attemptednumberdata.teams.stats.opp_rebounds_offensivenumberdata.teams.stats.opp_rebounds_defensivenumberdata.teams.stats.opp_reboundsnumberdata.teams.stats.field_goals_madenumberdata.teams.stats.field_goals_attemptednumberdata.teams.stats.field_goal_pctnumberdata.teams.stats.three_point_pctnumberdata.teams.stats.free_throw_pctnumberdata.teams.stats.assistsnumberdata.teams.stats.turnoversnumberdata.teams.stats.stealsnumberdata.teams.stats.blocksnumberdata.teams.stats.personal_foulsnumberdata.teams.stats.plus_minusnumberdata.teams.stats.true_shooting_pctnumberdata.teams.stats.effective_field_goal_pctnumberdata.teams.stats.turnover_pctnumberdata.teams.stats.offensive_rebound_pctnumberdata.teams.stats.defensive_rebound_pctnumberdata.teams.stats.rebound_pctnumberdata.teams.stats.assist_pctnumberdata.teams.stats.assist_to_turnovernumberdata.teams.stats.assist_rationumberdata.teams.stats.pienumberdata.teams.stats.free_throw_attempt_ratenumberdata.teams.stats.opp_effective_field_goal_pctnumberdata.teams.stats.opp_free_throw_attempt_ratenumberdata.teams.stats.opp_turnover_pctnumberdata.teams.stats.opp_offensive_rebound_pctnumberdata.teams.offenseRanksobjectrequireddata.teams.offenseRanks.ratingintegerdata.teams.offenseRanks.paceintegerdata.teams.offenseRanks.paintScoringintegerdata.teams.offenseRanks.threePtScoringintegerdata.teams.offenseRanks.freeThrowsintegerdata.teams.offenseRanks.reboundingintegerdata.teams.defenseRanksobjectrequireddata.teams.defenseRanks.ratingintegerdata.teams.defenseRanks.paceintegerdata.teams.defenseRanks.paintScoringintegerdata.teams.defenseRanks.threePtScoringintegerdata.teams.defenseRanks.freeThrowsintegerdata.teams.defenseRanks.reboundinginteger_metaobjectResponse 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_secondsintegerResponse cache TTL; independent of source freshness. Omitted when zero.
errorobjectrequirederror.codestringrequiredStable machine-readable error code.
error.messagestringrequiredUser-facing error summary.
error.detailsanyOptional error details.