Games & Live Scores
Extended play context
Provider passing/running classifications and scalar distances. Requires stats entitlement. Private, no-store; NFL_EVENT_CONTEXT_API_ENABLED=false disables this new route. Legacy play responses remain unchanged. Availability requires separate enrichment and verified existing game identities. No player routes, continuous positions or tracking are inferred.
https://api.sportquanta.com/v1/nfl/games/{id}/pbp/extendedReference context: NFL.
Overview · Response conventions
Authorizations
AuthorizationstringheaderrequiredSend a workspace API token in the Authorization: Bearer <token> header.
Path Parameters
idstringrequiredCanonical NFL game ID.
Query Parameters
seasonintegerdefault:01999 through 2100, or 0/omitted for the latest stored season. Values 1 through 1998 are rejected.
Required range: 0 <= x, x <= 2100
limitintegerdefault:50Required range: 1 <= x, x <= 100
cursorstringOpaque next_cursor from this game and source revision. A malformed cursor or revised snapshot returns 400; restart without cursor.
Response
application/jsonStored provider context and explicit coverage.
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 is unsupported, the endpoint is not available for that sport, or the requested data has not been ingested. Inspect error.code.
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.
dataobjectIndependent NFL event context. Empty or unavailable source observations do not imply zero production coverage.
data.game_idstringrequiredExisting canonical game ID.
data.seasonintegerrequiredProvider season year.
data.producer"nflverse_event_context"requireddata.observed_atstring<date-time>requiredTime the source snapshot was observed.
data.source_urlstring<uri>requiredSource season CSV archive URL.
data.schema_version1requireddata.revisionstringrequiredOpaque snapshot revision bound to this canonical game. Corrections invalidate old cursors.
data.eventsobject[]requiredProvider events in numeric source-play order. Final duplicate occurrence wins; deleted source plays are excluded.
data.events.source_event_idstringVerified nflverse game_id:play_id; used for exact legacy-play identity joins.
data.events.source_play_idintegerNumeric provider play ID; stable ordering key within the source snapshot.
Required range: 0 <= x
data.events.quarterinteger | nullProvider quarter, including overtime when reported.
data.events.clockstring | nullProvider game clock; not an occurrence timestamp.
data.events.play_typestring | nullProvider play classification.
data.events.pass_lengthstring | nullProvider pass length classification; for example short or deep.
data.events.pass_locationstring | nullProvider pass direction; for example left, middle or right.
data.events.air_yardsnumber | nullProvider-reported yards travelled by the pass; negative values retained.
data.events.yards_after_catchnumber | nullProvider-reported yards after catch; negative values retained.
data.events.run_locationstring | nullProvider run direction; no inferred XY location.
data.events.run_gapstring | nullProvider run gap classification.
data.events.shotgunboolean | nullProvider formation flag; unknown remains null.
data.events.no_huddleboolean | nullProvider no-huddle flag; unknown remains null.
data.measurement_definitionsobjectrequiredDefinitions accompany each snapshot.
data.measurement_definitions.sourcestringProvider dictionary URL.
data.measurement_definitions.distancesstringDistance units and meaning.
data.measurement_definitions.classificationsstringProvider classification scope.
data.measurement_definitions.orderstringEvent ordering and duplicate handling.
data.coverageobjectrequiredUnknown completeness is not complete coverage.
data.coverage.completenullFull-game completeness is not established.
data.coverage.tracking_availablefalsedata.next_cursorstring | nullrequiredOpaque continuation bound to game and revision; null at end. Restart without cursor after a source revision error.
_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.