Games & Live Scores
Games
Schedule list for the given league. Soccer leagues also expose this
as /v1/{league}/matches. Cursor-paginated; default limit 25, max 200.
Sport-specific filters: week applies to NFL only (regular-season
weeks 1–18; postseason weeks 1–4); game_type applies to NHL only
(preseason | regular | postseason | all-star | other).
Both are accepted on every league and ignored by the sports that
don't use them.
Baseball leagues (mlb, kbo, npb) also support date ranges via
date_from / date_to and duplicate-safe upcoming lists via
upcoming=true, for example
/v1/npb/games?team_id=npb-SF&upcoming=true&limit=10.
If date is supplied it wins over date_from / date_to.
Requires the odds entitlement (a paid plan). See Responses & Errors for the success envelope and availability rules.
https://api.sportquanta.com/v1/{league}/gamesReference 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
datestring<date>Exact schedule date. Overrides date_from / date_to.
date_fromstring<date>Inclusive schedule-date bound (YYYY-MM-DD), supported across sports. Ignored when date is supplied.
date_tostring<date>Inclusive schedule-date bound (YYYY-MM-DD), supported across sports. Ignored when date is supplied.
seasonstringLeague-specific stored season. Soccer uses an exact string match. Basketball accepts a start year or supported cross-year label; baseball/NFL/NHL parse a year.
weekintegerNFL-only week filter; ignored by other leagues.
game_typeenum<string>NHL-only season-phase filter; ignored by other leagues.
Available options: preseason, regular, postseason, all-star, other
team_idstringstatusstringExact, case-sensitive stored status. Use the vocabulary returned for this league (for example Scheduled, In Progress, Final, or the soccer status). With upcoming=true, an explicit value replaces the baseball default status set.
upcomingbooleanBaseball-only duplicate-safe upcoming list. Defaults to league-local today through +30 days and excludes postponed/cancelled/final rows unless status is supplied.
cursorstringlimitintegerdefault:25Required range: 1 <= x, x <= 200
provenancebooleandefault:falseOpt 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/jsonPage of games / matches.
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.itemsobject[] | nullrequireddata.items.idstringdata.items.canonical_idstringdata.items.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.items.external_ids.{key}stringdata.items.created_atstring<date-time>Canonical document creation timestamp, when present; not the scheduled start or event time.
data.items.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.items.seasonstringdata.items.statusstringdata.items.home_team_idstringdata.items.away_team_idstringdata.items.game_typestringdata.items.cup_stageenum<string>NBA only. The NBA Cup round, from the note ESPN's scoreboard puts on every cup game (espn:cup-calendar); the final is also known from its own game type (in-season-tournament). Omitted for a game outside the cup. Group and knockout games are regular-season games, so their game_type stays regular.
Available options: group, quarterfinal, semifinal, final
data.items.cup_groupstringNBA only. The NBA Cup group as the NBA's season schedule writes it (e.g. East Group A); omitted for knockout and non-cup games, and when the schedule names no group.
data.items.schedule_datestringdata.items.scheduled_start_utcstringdata.items.venue_idstringdata.items.attendanceintegerdata.items.duration_minutesintegerdata.items.linescoreobjectdata.items.linescore.home_scoreintegerdata.items.linescore.away_scoreintegerdata.items.linescore.periodintegerdata.items.linescore.game_clockstringdata.items.linescore.periodsobject[]data.items.linescore.periods.periodintegerrequireddata.items.linescore.periods.home_scoreintegerdata.items.linescore.periods.away_scoreintegerdata.items.home_scoring_breakdownobjectdata.items.home_scoring_breakdown.points_in_paintobjectrequireddata.items.home_scoring_breakdown.points_in_paint.valueinteger | nullrequireddata.items.home_scoring_breakdown.points_in_paint.availabilitystringrequireddata.items.home_scoring_breakdown.points_in_paint.calculation_modestring | nullrequireddata.items.home_scoring_breakdown.points_in_paint.sourcestring | nullrequireddata.items.home_scoring_breakdown.fast_break_pointsobjectrequireddata.items.home_scoring_breakdown.fast_break_points.valueinteger | nullrequireddata.items.home_scoring_breakdown.fast_break_points.availabilitystringrequireddata.items.home_scoring_breakdown.fast_break_points.calculation_modestring | nullrequireddata.items.home_scoring_breakdown.fast_break_points.sourcestring | nullrequireddata.items.home_scoring_breakdown.second_chance_pointsobjectrequireddata.items.home_scoring_breakdown.second_chance_points.valueinteger | nullrequireddata.items.home_scoring_breakdown.second_chance_points.availabilitystringrequireddata.items.home_scoring_breakdown.second_chance_points.calculation_modestring | nullrequireddata.items.home_scoring_breakdown.second_chance_points.sourcestring | nullrequireddata.items.home_scoring_breakdown.bench_pointsobjectrequireddata.items.home_scoring_breakdown.bench_points.valueinteger | nullrequireddata.items.home_scoring_breakdown.bench_points.availabilitystringrequireddata.items.home_scoring_breakdown.bench_points.calculation_modestring | nullrequireddata.items.home_scoring_breakdown.bench_points.sourcestring | nullrequireddata.items.away_scoring_breakdownobjectdata.items.away_scoring_breakdown.points_in_paintobjectrequireddata.items.away_scoring_breakdown.points_in_paint.valueinteger | nullrequireddata.items.away_scoring_breakdown.points_in_paint.availabilitystringrequireddata.items.away_scoring_breakdown.points_in_paint.calculation_modestring | nullrequireddata.items.away_scoring_breakdown.points_in_paint.sourcestring | nullrequireddata.items.away_scoring_breakdown.fast_break_pointsobjectrequireddata.items.away_scoring_breakdown.fast_break_points.valueinteger | nullrequireddata.items.away_scoring_breakdown.fast_break_points.availabilitystringrequireddata.items.away_scoring_breakdown.fast_break_points.calculation_modestring | nullrequireddata.items.away_scoring_breakdown.fast_break_points.sourcestring | nullrequireddata.items.away_scoring_breakdown.second_chance_pointsobjectrequireddata.items.away_scoring_breakdown.second_chance_points.valueinteger | nullrequireddata.items.away_scoring_breakdown.second_chance_points.availabilitystringrequireddata.items.away_scoring_breakdown.second_chance_points.calculation_modestring | nullrequireddata.items.away_scoring_breakdown.second_chance_points.sourcestring | nullrequireddata.items.away_scoring_breakdown.bench_pointsobjectrequireddata.items.away_scoring_breakdown.bench_points.valueinteger | nullrequireddata.items.away_scoring_breakdown.bench_points.availabilitystringrequireddata.items.away_scoring_breakdown.bench_points.calculation_modestring | nullrequireddata.items.away_scoring_breakdown.bench_points.sourcestring | nullrequireddata.items.liveobjectdata.items.live.status_codestringrequireddata.items.live.status_labelstringrequireddata.items.live.period_labelstringdata.items.live.period_ordinalintegerrequireddata.items.live.scoreobjectdata.items.live.score.homeintegerrequireddata.items.live.score.awayintegerrequireddata.items.live.clockobjectdata.items.live.clock.minuteintegerdata.items.live.clock.secondintegerdata.items.live.clock.displaystringdata.items.live.clock.is_runningbooleanrequireddata.items.live.state_revisionintegerdata.items.live.updated_atstring<date-time>requireddata.next_cursorstringOpaque continuation cursor; omitted on the last page.
_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.