Skip to content

Teams, Players & Rosters

Extended player season

Additive baseball enrichment. Existing endpoints and caches are unchanged. Private, no-store; BASEBALL_EXTENSIONS_ENABLED=false disables this route. Requires stats entitlement. Source observations may be absent until enrichment is deployed/backfilled. Season statistics are exact-scope, regular season by default; postseason/preseason can be requested but are not synthesized. Cursor ordering uses canonical extension ID, not event occurrence order. Multiple producers remain separate; never sum duplicate official totals and team stints.

GEThttps://api.sportquanta.com/v1/npb/players/{id}/season-stats/extended
GETGet NPB extended player season
GET/v1/npb/players/{id}/season-stats/extended

Get NPB extended player season

Additive baseball enrichment. Existing endpoints and caches are unchanged. Private, no-store; BASEBALL_EXTENSIONS_ENABLED=false disables this route. Requires stats entitlement. Source observations may be absent until enrichment is deployed/backfilled. Season statistics are exact-scope, regular season by default; postseason/preseason can be requested but are not synthesized. Cursor ordering uses canonical extension ID, not event occurrence order. Multiple producers remain separate; never sum duplicate official totals and team stints.

Authorization
Path
Query
Get NPB extended player seasoncURL
200Example

Reference context: NPB.

Overview · Response conventions

Authorizations

Authorizationstringheaderrequired

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

Path Parameters

idstringrequired

Query Parameters

seasonintegerrequired

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

game_typeenum<string>default:regular

Available options: regular, postseason, preseason, unknown

producerstring
limitintegerdefault:50

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

cursorstring

Response

application/json

Independent observed enrichment with explicit coverage; missing data never implies zero.

dataobject
data.observationsobject[]required
data.observations.canonical_idstringrequired
data.observations.subject_idstringrequired
data.observations.subject_typeenum<string>required

Available options: game, events, player, team, venue, player_season, team_season, standings, transaction, umpire

data.observations.seasonnumberrequired
data.observations.game_typeenum<string>required

Available options: regular, postseason, preseason, unknown

data.observations.producerstringrequired
data.observations.schema_versionnumberrequired
data.observations.observed_atstringrequired
data.observations.source_urlstring | nullrequired
data.observations.dataobjectrequired

Producer-specific sections are optional. Interpret source code fields only with the corresponding source definition. Current profiles, season rows, transactions and game events have different scopes. Unknown values stay null; absent sections are not zero.

data.observations.data.coverageobject

Availability, source traversal, event reconciliation and population completeness are separate checks.

data.observations.data.coverage.availableboolean
data.observations.data.coverage.completeboolean | null
data.observations.data.coverage.reasonstring
data.observations.data.coverage.scopestring
data.observations.data.coverage.source_rowsinteger
data.observations.data.coverage.unmapped_rowsinteger
data.observations.data.coverage.source_pages_completeboolean
data.observations.data.coverage.source_table_completeboolean
data.observations.data.coverage.sequence_completeboolean
data.observations.data.coverage.score_reconciledboolean
data.observations.data.coverage.derived_situations_availableboolean
data.observations.data.coverage.finalboolean
data.observations.data.coverage.plate_appearancesinteger
data.observations.data.rowsobject[]
data.observations.data.rows.rolestring
data.observations.data.rows.stat_typestring
data.observations.data.rows.team_idstring | null
data.observations.data.rows.source_team_idstring | null
data.observations.data.rows.source_team_codestring | null
data.observations.data.rows.positionstring | null
data.observations.data.rows.identity_methodstring
data.observations.data.rows.statisticsobject

Source, role and statistical scope must be retained with these values. Source_statistics contains provider-native columns; exact definitions may remain unverified.

data.observations.data.rows.statistics.rolestring
data.observations.data.rows.statistics.reported_countsobject

Only mapped source fields appear. A missing field is unavailable, not zero. Pitching hits are hits allowed. Fielding stolen_bases_allowed/runners_caught_stealing are defensive counts. outs_recorded is integer outs.

data.observations.data.rows.statistics.reported_counts.gamesinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.startsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.plate_appearancesinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.at_batsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.hitsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.doublesinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.triplesinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.home_runsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.runsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.rbiinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.walksinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.intentional_walksinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.hit_by_pitchinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.strikeoutsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.stolen_basesinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.caught_stealinginteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.stolen_bases_allowedinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.runners_caught_stealinginteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.sacrifice_fliesinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.sacrifice_buntsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.putoutsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.assistsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.errorsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.chancesinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.double_playsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.triple_playsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.passed_ballsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.pickoffsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.earned_runsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.batters_facedinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.pitchesinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.ballsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.strikesinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.winsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.lossesinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.savesinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.save_opportunitiesinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.holdsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.blown_savesinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.complete_gamesinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.shutoutsinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.wild_pitchesinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.balksinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.inherited_runnersinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.inherited_runners_scoredinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.left_on_baseinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.gidpinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.gidp_opportunitiesinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.reported_counts.outs_recordedinteger | null

Required range: 0 <= x

data.observations.data.rows.statistics.derivedobject

Role-specific derived metrics; missing prerequisites yield null. Pitching per-nine values use integer outs. No provider-reported percentages are averaged.

data.observations.data.rows.statistics.derived.singlesnumber | null
data.observations.data.rows.statistics.derived.extra_base_hitsnumber | null
data.observations.data.rows.statistics.derived.total_basesnumber | null
data.observations.data.rows.statistics.derived.stolen_base_attemptsnumber | null
data.observations.data.rows.statistics.derived.stolen_base_success_ratenumber | null
data.observations.data.rows.statistics.derived.batting_averagenumber | null
data.observations.data.rows.statistics.derived.on_base_percentagenumber | null
data.observations.data.rows.statistics.derived.slugging_percentagenumber | null
data.observations.data.rows.statistics.derived.opsnumber | null
data.observations.data.rows.statistics.derived.inherited_runners_not_scorednumber | null
data.observations.data.rows.statistics.derived.hits_per_ninenumber | null
data.observations.data.rows.statistics.derived.home_runs_per_ninenumber | null
data.observations.data.rows.statistics.derived.strikeouts_per_ninenumber | null
data.observations.data.rows.statistics.derived.walks_per_ninenumber | null
data.observations.data.rows.statistics.derived.strikeout_walk_rationumber | null
data.observations.data.rows.statistics.derived.fielding_percentagenumber | null
data.observations.data.rows.statistics.derived.calculation_methodstring
data.observations.data.rows.statistics.derived.percentage_scale"fraction"
data.observations.data.rows.statistics.source_statisticsobject
data.observations.data.player_rowsobject[]
data.observations.data.player_rows.player_idstring | null
data.observations.data.player_rows.source_namestring
data.observations.data.player_rows.positionstring | null
data.observations.data.player_rows.statisticsobject

Source, role and statistical scope must be retained with these values. Source_statistics contains provider-native columns; exact definitions may remain unverified.

data.observations.data.player_rows.statistics.rolestring
data.observations.data.player_rows.statistics.reported_countsobject

Only mapped source fields appear. A missing field is unavailable, not zero. Pitching hits are hits allowed. Fielding stolen_bases_allowed/runners_caught_stealing are defensive counts. outs_recorded is integer outs.

data.observations.data.player_rows.statistics.reported_counts.gamesinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.startsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.plate_appearancesinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.at_batsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.hitsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.doublesinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.triplesinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.home_runsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.runsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.rbiinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.walksinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.intentional_walksinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.hit_by_pitchinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.strikeoutsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.stolen_basesinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.caught_stealinginteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.stolen_bases_allowedinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.runners_caught_stealinginteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.sacrifice_fliesinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.sacrifice_buntsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.putoutsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.assistsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.errorsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.chancesinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.double_playsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.triple_playsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.passed_ballsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.pickoffsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.earned_runsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.batters_facedinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.pitchesinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.ballsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.strikesinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.winsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.lossesinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.savesinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.save_opportunitiesinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.holdsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.blown_savesinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.complete_gamesinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.shutoutsinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.wild_pitchesinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.balksinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.inherited_runnersinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.inherited_runners_scoredinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.left_on_baseinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.gidpinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.gidp_opportunitiesinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.reported_counts.outs_recordedinteger | null

Required range: 0 <= x

data.observations.data.player_rows.statistics.derivedobject

Role-specific derived metrics; missing prerequisites yield null. Pitching per-nine values use integer outs. No provider-reported percentages are averaged.

data.observations.data.player_rows.statistics.derived.singlesnumber | null
data.observations.data.player_rows.statistics.derived.extra_base_hitsnumber | null
data.observations.data.player_rows.statistics.derived.total_basesnumber | null
data.observations.data.player_rows.statistics.derived.stolen_base_attemptsnumber | null
data.observations.data.player_rows.statistics.derived.stolen_base_success_ratenumber | null
data.observations.data.player_rows.statistics.derived.batting_averagenumber | null
data.observations.data.player_rows.statistics.derived.on_base_percentagenumber | null
data.observations.data.player_rows.statistics.derived.slugging_percentagenumber | null
data.observations.data.player_rows.statistics.derived.opsnumber | null
data.observations.data.player_rows.statistics.derived.inherited_runners_not_scorednumber | null
data.observations.data.player_rows.statistics.derived.hits_per_ninenumber | null
data.observations.data.player_rows.statistics.derived.home_runs_per_ninenumber | null
data.observations.data.player_rows.statistics.derived.strikeouts_per_ninenumber | null
data.observations.data.player_rows.statistics.derived.walks_per_ninenumber | null
data.observations.data.player_rows.statistics.derived.strikeout_walk_rationumber | null
data.observations.data.player_rows.statistics.derived.fielding_percentagenumber | null
data.observations.data.player_rows.statistics.derived.calculation_methodstring
data.observations.data.player_rows.statistics.derived.percentage_scale"fraction"
data.observations.data.player_rows.statistics.source_statisticsobject
data.observations.data.teamsobject[]
data.observations.data.officialsobject[]
data.observations.data.coachesobject[]
data.observations.data.notesobject[]
data.observations.data.game_infoobject
data.observations.data.datetimeobject
data.observations.data.competitionobject
data.observations.data.weatherobject
data.observations.data.time_tbdboolean | null
data.observations.data.broadcast_namestring | null
data.observations.data.broadcastsobject[]
data.observations.data.home_split_squadboolean | null
data.observations.data.away_split_squadboolean | null
data.observations.data.scheduled_inningsinteger | null
data.observations.data.local_start_timestring | null
data.observations.data.local_end_timestring | null
data.observations.data.timezonestring
data.observations.data.playsobject[]
data.observations.data.plays.source_indexinteger | null
data.observations.data.plays.inninginteger | null
data.observations.data.plays.halfstring | null
data.observations.data.plays.batterobject

Unresolved or ambiguous canonical identity remains null.

data.observations.data.plays.batter.canonical_idstring | null
data.observations.data.plays.batter.source_idstring | null
data.observations.data.plays.batter.namestring | null
data.observations.data.plays.pitcherobject

Unresolved or ambiguous canonical identity remains null.

data.observations.data.plays.pitcher.canonical_idstring | null
data.observations.data.plays.pitcher.source_idstring | null
data.observations.data.plays.pitcher.namestring | null
data.observations.data.plays.event_typestring | null
data.observations.data.plays.descriptionstring | null
data.observations.data.plays.rbinumber | null
data.observations.data.plays.is_completeboolean | null
data.observations.data.plays.is_scoring_playboolean | null
data.observations.data.plays.started_atstring | null
data.observations.data.plays.ended_atstring | null
data.observations.data.plays.outs_beforenumber | null
data.observations.data.plays.outs_afternumber | null
data.observations.data.plays.home_score_beforenumber | null
data.observations.data.plays.away_score_beforenumber | null
data.observations.data.plays.home_score_afternumber | null
data.observations.data.plays.away_score_afternumber | null
data.observations.data.plays.runnersobject[]
data.observations.data.plays.eventsobject[]
data.observations.data.plays.events.source_indexinteger | null
data.observations.data.plays.events.source_event_idstring | null
data.observations.data.plays.events.typestring | null
data.observations.data.plays.events.is_pitchboolean | null
data.observations.data.plays.events.pitch_numberinteger | null
data.observations.data.plays.events.started_atstring | null
data.observations.data.plays.events.ended_atstring | null
data.observations.data.plays.events.playerobject

Unresolved or ambiguous canonical identity remains null.

data.observations.data.plays.events.player.canonical_idstring | null
data.observations.data.plays.events.player.source_idstring | null
data.observations.data.plays.events.player.namestring | null
data.observations.data.plays.events.replaced_playerobject

Unresolved or ambiguous canonical identity remains null.

data.observations.data.plays.events.replaced_player.canonical_idstring | null
data.observations.data.plays.events.replaced_player.source_idstring | null
data.observations.data.plays.events.replaced_player.namestring | null
data.observations.data.plays.events.countobject
data.observations.data.plays.events.detailsobject
data.observations.data.plays.events.positionobject
data.observations.data.plays.events.pitch_dataobject | null
data.observations.data.plays.events.hit_dataobject | null
data.observations.data.eventsobject[]
data.observations.data.source_eventsobject[]
data.observations.data.source_header_inningnumber | null
data.observations.data.source_orderstring
data.observations.data.measurement_definitionsobject
data.observations.data.namestring | null
data.observations.data.birth_citystring | null
data.observations.data.birth_statestring | null
data.observations.data.birth_countrystring | null
data.observations.data.birthplace_textstring | null
data.observations.data.educationobject | null
data.observations.data.draft_yearnumber | null
data.observations.data.activeboolean | null
data.observations.data.career_textstring | null
data.observations.data.draft_textstring | null
data.observations.data.reported_birth_datestring | null
data.observations.data.reported_positionstring | null
data.observations.data.awardsobject[]
data.observations.data.draftobject
data.observations.data.draft_picksobject[]
data.observations.data.salary_observationobject
data.observations.data.signing_bonus_observationobject
data.observations.data.locationstring | null
data.observations.data.leagueobject
data.observations.data.divisionobject
data.observations.data.venueobject
data.observations.data.field_infoobject
data.observations.data.itemsobject[]
data.observations.data.source_transaction_idstring
data.observations.data.player_idstring | null
data.observations.data.source_player_idstring | null
data.observations.data.from_team_idstring | null
data.observations.data.to_team_idstring | null
data.observations.data.datestring | null
data.observations.data.effective_datestring | null
data.observations.data.resolution_datestring | null
data.observations.data.type_codestring | null
data.observations.data.type_descriptionstring | null
data.observations.data.descriptionstring | null
data.next_cursorstring | nullrequired
data.coverageobjectrequired
metaobject