Integration GuidesDocs
Coverage MatrixDocumentationChange LogLog InContact Us
Docs

Global Baseball Timeline Updates

Overview

The improved NPB/KBO timeline moves from a generic, score-only event stream to a pitch-by-pitch, player-attributed feed with baseball-native terminology. The following documents 5 representative updates
demonstrating the key structural changes.

Source game: Hanwha Eagles vs Samsung Lions — sr:sport_event:67203934 — KBO League 2026, 14 April
2026

  • https://api.sportradar.com/baseball/trial/v2/en/sport_events/sr:sport_event:67203934/timeline.json

Endpoints Affected



Update 1 — Inning Start

Old — period_start (generic, sport-agnostic language)

{
  "id": "2328046560",
  "type": "period_start",
  "time": "2026-04-14T10:01:52+00:00",
  "period_name": "1st_half"
}

New — inning_half_start (baseball-native)

{
  "id": 2328025702,
  "type": "inning_half_start",
  "time": "2026-04-14T09:31:01+00:00",
  "inning_half": "top"
}
📘

period_start + period_name: "1st_half" is replaced by inning_half_start + inning_half(top ,bottom) — terminology now maps directly to baseball convention.



Update 2 — Individual Pitch

Old — No equivalent


New — pitch-result

{
   "id":2328026198,
   "type":"pitch_result",
   "time":"2026-04-14T09:31:46+00:00",
   "players":[
      {
         "id":"sr:player:2777589",
         "name":"Dong-Ju, Moon",
         "type":"pitcher"
      }
   ],
   "inning_half":"top",
   "result":"ball",
   "count_balls":1,
   "count_strikes":0,
   "outs":1
}
📘

The old feed had no pitch-level data. The new feed emits every pitch with pitcher ID, result (ball, strike, foul), and running ball-strike count.



Update 3 — Out Recorded


Old — No equivalent


New — out_recorded

{
   "id":2328026064,
   "type":"out_recorded",
   "time":"2026-04-14T09:31:32+00:00",
   "players":[
      {
         "id":"sr:player:3167744",
         "name":"Seung-kyu, Park",
         "type":"batter"
      }
   ],
   "inning_half":"top",
   "out_type":"ground_out",
   "outs":1,
   "count_balls":0,
   "count_strikes":0,
   "home_score":0,
   "away_score":0
}
📘

The old feed had no out events. The new feed captures each out with batter identity, out type (ground_out, fly_out, strikeout, etc.) and a running out count.



Update 4 — Run Scored (replaces score_change)


Old — score_change (no player context)

{
  "id": "2328053324",
  "type": "score_change",
  "time": "2026-04-14T10:10:51+00:00",
  "competitor": "away",
  "home_score": 0,
  "away_score": 1
}

New — run_scored + inning_score_update

{
   "id":2328056170,
   "type":"run_scored",
   "time":"2026-04-14T10:14:35+00:00",
   "players":[
      {
         "id":"sr:player:3155642",
         "name":"Won-seok, Lee",
         "type":"runner"
      }
   ],
   "inning_half":"bottom",
   "scored_run_type":"earned_run",
   "starting_base":1,
   "count_balls":0,
   "count_strikes":0,
   "outs":2
}
📘

score_change is replaced by run_scored (identifies the scoring runner, earned/unearned, and the base they started from) paired with inning_score_update for the inning-level score ledger.



Update 5 — At-Bat Result


Old — No equivalent


New — at_bat_result

{
    "id": 2328194098,
    "type": "at_bat_result",
    "time": "2026-04-14T13:15:13+00:00",
    "players": [
        {
            "id": "sr:player:3166756",
            "name": "Sei-hyok, Park",
            "type": "batter"
        }
    ],
    "outcome": "single",
    "is_out": false,
    "outs_on_play": 0,
    "outs": 0,
    "inning_half": "top",
    "advancement_type": "single",
    "starting_base": 0,
    "ending_base": 1,
    "count_balls": 0,
    "count_strikes": 0,
    "pitch_count": 0,
    "errors": 0
},
📘

The old feed only tracked scoring plays. The new feed closes every at-bat with its final outcome
(walk, single, double, etc.), whether it resulted in an out, and how the batter advanced.



Summary of Changes

AspectOld (Global)New (Baseball-Specific)
GranularityScore changes onlyEvery pitch
TerminologyGeneric (period_start, break_start)Baseball-native (inning_half_start, out_recorded)
Player AttributionNonePitcher, batter, runner on every event
Out TrackingNot presentout_recorded with out_type + running count
Score eventsSingle score_changerun_scored (runner detail) + inning_score_update
At-bat outcomesNot presentat_bat_result with outcome + advancement type
Count trackingNot presentcount_balls / count_strikes on every pitch/out


Timeline Data Points

Browse drop-downs below for definitions of all new Timeline data points. Or reference the updated Global Baseball OpenAPI spec.

Game Timeline
AttributeParent ElementTypeDescription
advancement_typetimeline - eventStringInformation on how a batter advanced on a play

unknown, catcher_interference, hit_by_pitch, on_error, single, double, triple, sacrifice_bunt, sacrifice_fly, walk, fielders_choice, other
ball_in_play_typetimeline - eventStringIndicates, along with type="ball_in_play, that a batter struck a ball into play. The following event indicates the outcome of the ball in play.
basetimeline - eventIntegerBase associated with a runner_check event type
count_ballstimeline - eventIntegerNumber of balls in an at bat, after an event
count_strikestimeline - eventIntegerNumber of strikes in an at bat, after an event
ending_basetimeline - eventIntegerEnding base number for a player after an event
errorstimeline - eventIntegerNumber of errors in a play
idtimeline - eventStringUnique Id of a timeline event

ex. 2182830584
inningtimeline - eventIntegerInning number associated with a timeline event. Typically populates at the end of a full innning along with a inning_score_update.
inning_halftimeline - eventStringIndicates the type of inning associated with a timeline event

ex. top, bottom
inning_away_scoretimeline - eventIntegerNumber of runs scored for the away team in an inning. Typically populates at the end of a full innning along with a inning_score_update.
inning_home_scoretimeline - eventIntegerNumber of runs scored for the home team in an inning. Typically populates at the end of a full innning along with a inning_score_update.
is_outtimeline - eventBooleanSignifies an out was recorded for an event when true
on_base_typetimeline - eventStringMethod of reaching base for a player. Typically associated with a player_on_base event type.

ex. single, walk, hit_by_pitch

See enum_on_base_type in our Global Baseball spec for a complete list of types
outcometimeline - eventStringOutcome of an at bat

ex. single, double, walk
out_basetimeline - eventIntegerBase number where an out was recorded
out_typetimeline - eventStringType of out recorded for an event. Typically associated with a player_out event type.

ex. strikeout, force_out, ground_out

See enum_out_type in our Global Baseball spec for a complete list of types
outstimeline - eventIntegerNumber of current outs in an inning
outs_on_playtimeline - eventIntegerNumber of outs assocated with an event
pitch_numbertimeline - eventIntegerPitch number of an at bat
qualifiertimeline - eventStringDesignation of a competitor for a timeline event. Typically used for a substitution event type.

home, away
resulttimeline - eventStringResult of a pitch

ex. ball, strike, foul
scored_run_typetimeline - eventStringType of out run for an event. Typically associated with a run_scored event type.

ex. strikeout, force_out, ground_out

See enum_scored_run_type in our Global Baseball spec for a complete list of types
starting_basetimeline - eventIntegerStarting base number for a player after an event
timetimeline - eventDate-timeTimestamp of a timeline event

ex. 2024-04-16T20:49:49+00:00
typetimeline - eventStringType of timeline event

ex. match_started, run_scored, player_out, substitution, strike

See enum_event_type in our Global Baseball spec for a complete list of event types
Player (Timeline Event)
AttributeParent ElementTypeDescription
idtimeline - event - playerStringUnique ID of a player associated with an event

ex. sr:player:1396097
nametimeline - event - playerStringName of a player associated with an event

ex. Varsho, Daulton
typetimeline - event - playerStringPlayer type associated with an event

ex. batter, pitcher, runner, substituted_out, substituted_in