Teams, Players & Rosters
Baseball Scholar season tables
NPB-only. Baseball Scholar's independent season model from its public dated
release, one doc per season: tables holds annualBatting, annualPitching,
annualFielding (fielding / range / error / DP / arm runs by position),
annualCatching, annualBaserunning, pitchTypesPitching, pitchTypesBatting,
handSplitsPitching (each pitcher's line against left- and right-handed batters)
and pitchSelectionPitching (pitches per pitcher × pitch type × batter hand,
summed from Scholar's pitch selection log), catchingTotals (each catcher's season of
framing, blocking and catcher runs with opportunities and games, summed from the
per-game catching log), pitchTypeTotalsPitching (pitches,
swings, whiffs and velocity readings per pitcher × pitch type, summed from the
per-game pitch-type log; site codes FS / ST), each row with Scholar's columns plus
scholarPlayerId, playerId and teamId (matched to NPB players by Japanese
name and club — the two id-only tables take the match of that Scholar id; null
when unmatched). A row's _atoms sample counts (swings, out-of-zone pitches,
classified batted balls, fastball readings, wOBA numerator/denominator) are
flattened to atoms_<name> columns.
generation names the release, sourceThrough its last game date. Written
daily by scholar:season.
Requires the stats entitlement (a paid plan). See Responses & Errors for the success envelope and availability rules.
https://api.sportquanta.com/v1/npb/scholarReference context: NPB.
Overview · Response conventions
Authorizations
AuthorizationstringheaderrequiredSend a workspace API token in the Authorization: Bearer <token> header.
Query Parameters
seasonintegerrequiredSeason (calendar year).
Required range: 1946 <= x, x <= 2100
limitintegerdefault:200Required range: 1 <= x, x <= 2000
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/jsonEvery stored doc for the season that matches the filters.
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.
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.itemsobject[]required_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.