MLB API - Catcher's Interference & Reached on Violation
April 14th, 2025
We've added data points for batters reaching base on catcher's interference and on violation (ex. reaching on a shift violation). Values will be available at the game and seasonal level, for players and teams.
ci
- Catcher's interferencerov
- Reached on violation
In the Game Play-by-Play endpoint, these instances are noted with the below outcome ids.
- Catcher's Interference:
outcome_id="aCI"
- Reached on Violation:
outcome_id="aROV"
These changes are in effect for all currently supported versions of the MLB API. See below for MLB v8 sample data.
☑️ Sample Requests:
Game Play-by-Play - https://api.sportradar.com/mlb/trial/v8/en/games/{game_id}/pbp.xml?api_key=[API_KEY]
Player Profile - https://api.sportradar.com/mlb/trial/v8/en/players/{player_id}/profile.json?api_key=[API_KEY]
🔢 Versions
🔁 Endpoints Affected
- Daily Summary, Game Extended Summary, Game Play-by-Play, Game Summary, Player Profile, Seasonal Statistics
⚙️ Return Samples
<at_bat hitter_id="6c196cb7-4607-47f7-a00e-855db3728c03" id="64e6d222-2a42-4708-a1b2-971262006e32" hitter_hand="R" pitcher_id="1af59804-5b77-4d6f-98f7-23e97a400a1b" pitcher_hand="R" sequence_number="107">
<hitter preferred_name="Jon" first_name="Jonathon" last_name="Berti" jersey_number="5" id="6c196cb7-4607-47f7-a00e-855db3728c03" full_name="Jon Berti"/>
<pitcher preferred_name="Roki" first_name="Roki" last_name="Sasaki" jersey_number="11" id="1af59804-5b77-4d6f-98f7-23e97a400a1b" full_name="Roki Sasaki"/>
<description>Jon Berti reaches on catcher interference.</description>
<score home_team_runs="0" away_team_runs="3"/>
<pitch status="official" id="2269eac3-c3b4-4d4e-a456-3d28bf66ac57" outcome_id="aCI" created_at="2025-03-19T10:48:09+00:00" updated_at="2025-04-04T20:08:12+00:00" sequence_number="108" official="false">
<wall_clock start_time="2025-03-19T10:48:01+00:00" end_time="2025-03-19T10:48:14+00:00"/>
<flags is_ab_over="true" is_bunt="false" is_hit="false" is_wild_pitch="false" is_passed_ball="false" is_double_play="false" is_triple_play="false"/>
<count balls="0" strikes="0" outs="1" pitch_count="1"/>
<pitcher pitch_type="FA" pitch_speed="97.1" pitch_zone="5" pitcher_hand="R" hitter_hand="R" pitch_count="31" id="1af59804-5b77-4d6f-98f7-23e97a400a1b" pitch_x="-17" pitch_y="-26" preferred_name="Roki" first_name="Roki" last_name="Sasaki" jersey_number="11" full_name="Roki Sasaki"/>
<hitter preferred_name="Jon" first_name="Jonathon" last_name="Berti" jersey_number="5" id="6c196cb7-4607-47f7-a00e-855db3728c03" full_name="Jon Berti"/>
<score home_team_runs="0" away_team_runs="3"/>
<pitching ci="1"/>
<hitting ci="1"/>
<mlb_pitch_data speed="97.1" strike_zone_top="3.42" strike_zone_bottom="1.59" zone="5" code="FF" description="Four-Seam Fastball">
<coordinates x="111.75" y="177"/>
</mlb_pitch_data>
<mlb_hit_data trajectory="ground_ball" hardness="soft">
<coordinates coord_x="116.02" coord_y="185.55"/>
</mlb_hit_data>
<runners>
<runner starting_base="0" ending_base="1" out="false" outcome_id="AD1" preferred_name="Jon" first_name="Jonathon" last_name="Berti" jersey_number="5" id="6c196cb7-4607-47f7-a00e-855db3728c03" full_name="Jon Berti"/>
</runners>
</pitch>
</at_bat>
{
"at_bat":{
"hitter_id":"d421cd0d-43d1-41fa-9ef0-8bf1bb2442aa",
"id":"832129ce-59f3-4013-a6c7-70bebc6c96c1",
"hitter_hand":"R",
"pitcher_id":"fe45e33b-f554-4856-af56-1f4f578eaa82",
"pitcher_hand":"R",
"sequence_number":383,
"description":"Carson Kelly reaches on violation error. Violation error by Miguel Rojas.",
"hitter":{
"preferred_name":"Carson",
"first_name":"Carson",
"last_name":"Kelly",
"jersey_number":"15",
"id":"d421cd0d-43d1-41fa-9ef0-8bf1bb2442aa",
"full_name":"Carson Kelly"
},
"pitcher":{
"preferred_name":"Kirby",
"first_name":"Kirby",
"last_name":"Yates",
"jersey_number":"38",
"id":"fe45e33b-f554-4856-af56-1f4f578eaa82",
"full_name":"Kirby Yates"
},
"score":{
"home_team_runs":3,
"away_team_runs":6
},
"events":[
{
"status":"official",
"id":"54159e80-a35f-4272-b79e-ca2c7188c9af",
"outcome_id":"kKS",
"created_at":"2025-03-19T12:30:40+00:00",
"updated_at":"2025-03-19T12:33:01+00:00",
"sequence_number":384,
"official":true,
"type":"pitch",
"wall_clock":{
"start_time":"2025-03-19T12:27:51+00:00",
"end_time":"2025-03-19T12:28:07+00:00"
},
"flags":{
"is_ab_over":false,
"is_bunt":false,
"is_hit":false,
"is_wild_pitch":false,
"is_passed_ball":false,
"is_double_play":false,
"is_triple_play":false
},
"count":{
"balls":0,
"strikes":1,
"outs":2,
"pitch_count":1
},
"pitcher":{
"pitch_type":"FA",
"pitch_speed":92.9,
"pitch_zone":2,
"pitcher_hand":"R",
"hitter_hand":"R",
"pitch_count":11,
"id":"fe45e33b-f554-4856-af56-1f4f578eaa82",
"pitch_x":-35,
"pitch_y":60,
"preferred_name":"Kirby",
"first_name":"Kirby",
"last_name":"Yates",
"jersey_number":"38",
"full_name":"Kirby Yates"
},
"hitter":{
"preferred_name":"Carson",
"first_name":"Carson",
"last_name":"Kelly",
"jersey_number":"15",
"id":"d421cd0d-43d1-41fa-9ef0-8bf1bb2442aa",
"full_name":"Carson Kelly"
},
"score":{
"home_team_runs":3,
"away_team_runs":6
},
"mlb_pitch_data":{
"speed":92.9,
"strike_zone_top":3.33,
"strike_zone_bottom":1.66,
"zone":2,
"code":"FF",
"description":"Four-Seam Fastball",
"coordinates":{
"x":108.04,
"y":158.12
}
}
},
{
"status":"official",
"id":"442a008e-77f5-49a5-83fe-8d21ccb0a616",
"outcome_id":"bB",
"created_at":"2025-03-19T12:30:41+00:00",
"updated_at":"2025-03-19T12:30:41+00:00",
"sequence_number":385,
"official":true,
"type":"pitch",
"wall_clock":{
"start_time":"2025-03-19T12:28:07+00:00",
"end_time":"2025-03-19T12:28:24+00:00"
},
"flags":{
"is_ab_over":false,
"is_bunt":false,
"is_hit":false,
"is_wild_pitch":false,
"is_passed_ball":false,
"is_double_play":false,
"is_triple_play":false
},
"count":{
"balls":1,
"strikes":1,
"outs":2,
"pitch_count":2
},
"pitcher":{
"pitch_type":"FA",
"pitch_speed":92.8,
"pitch_zone":13,
"pitcher_hand":"R",
"hitter_hand":"R",
"pitch_count":12,
"id":"fe45e33b-f554-4856-af56-1f4f578eaa82",
"pitch_x":-105,
"pitch_y":-73,
"preferred_name":"Kirby",
"first_name":"Kirby",
"last_name":"Yates",
"jersey_number":"38",
"full_name":"Kirby Yates"
},
"hitter":{
"preferred_name":"Carson",
"first_name":"Carson",
"last_name":"Kelly",
"jersey_number":"15",
"id":"d421cd0d-43d1-41fa-9ef0-8bf1bb2442aa",
"full_name":"Carson Kelly"
},
"score":{
"home_team_runs":3,
"away_team_runs":6
},
"mlb_pitch_data":{
"speed":92.8,
"strike_zone_top":3.33,
"strike_zone_bottom":1.66,
"zone":9,
"code":"FF",
"description":"Four-Seam Fastball",
"coordinates":{
"x":87.96,
"y":186.97
}
}
},
{
"status":"official",
"id":"1e5f0da5-ea56-4208-b588-bc996c5ea365",
"outcome_id":"bB",
"created_at":"2025-03-19T12:30:41+00:00",
"updated_at":"2025-03-19T12:30:42+00:00",
"sequence_number":386,
"official":true,
"type":"pitch",
"wall_clock":{
"start_time":"2025-03-19T12:28:24+00:00",
"end_time":"2025-03-19T12:28:46+00:00"
},
"flags":{
"is_ab_over":false,
"is_bunt":false,
"is_hit":false,
"is_wild_pitch":false,
"is_passed_ball":false,
"is_double_play":false,
"is_triple_play":false
},
"count":{
"balls":2,
"strikes":1,
"outs":2,
"pitch_count":3
},
"pitcher":{
"pitch_type":"SP",
"pitch_speed":86.1,
"pitch_zone":12,
"pitcher_hand":"R",
"hitter_hand":"R",
"pitch_count":13,
"id":"fe45e33b-f554-4856-af56-1f4f578eaa82",
"pitch_x":-70,
"pitch_y":-221,
"preferred_name":"Kirby",
"first_name":"Kirby",
"last_name":"Yates",
"jersey_number":"38",
"full_name":"Kirby Yates"
},
"hitter":{
"preferred_name":"Carson",
"first_name":"Carson",
"last_name":"Kelly",
"jersey_number":"15",
"id":"d421cd0d-43d1-41fa-9ef0-8bf1bb2442aa",
"full_name":"Carson Kelly"
},
"score":{
"home_team_runs":3,
"away_team_runs":6
},
"mlb_pitch_data":{
"speed":86.1,
"strike_zone_top":3.33,
"strike_zone_bottom":1.66,
"zone":14,
"code":"FS",
"description":"Splitter",
"coordinates":{
"x":98.1,
"y":233.36
}
}
},
{
"hit_location":"16",
"hit_type":"GB",
"status":"official",
"id":"5fac3951-6210-43f1-ace7-5ec7a7cf0fe3",
"outcome_id":"aROV",
"created_at":"2025-03-19T12:30:42+00:00",
"updated_at":"2025-04-04T20:33:02+00:00",
"sequence_number":387,
"official":false,
"type":"pitch",
"wall_clock":{
"start_time":"2025-03-19T12:28:46+00:00",
"end_time":"2025-03-19T12:29:21+00:00"
},
"flags":{
"is_ab_over":true,
"is_bunt":false,
"is_hit":false,
"is_wild_pitch":false,
"is_passed_ball":false,
"is_double_play":false,
"is_triple_play":false
},
"count":{
"balls":2,
"strikes":1,
"outs":2,
"pitch_count":3
},
"pitcher":{
"pitch_type":"FA",
"pitch_speed":93.3,
"pitch_zone":5,
"pitcher_hand":"R",
"hitter_hand":"R",
"pitch_count":13,
"id":"fe45e33b-f554-4856-af56-1f4f578eaa82",
"pitch_x":-11,
"pitch_y":-4,
"preferred_name":"Kirby",
"first_name":"Kirby",
"last_name":"Yates",
"jersey_number":"38",
"full_name":"Kirby Yates"
},
"hitter":{
"preferred_name":"Carson",
"first_name":"Carson",
"last_name":"Kelly",
"jersey_number":"15",
"id":"d421cd0d-43d1-41fa-9ef0-8bf1bb2442aa",
"full_name":"Carson Kelly"
},
"score":{
"home_team_runs":3,
"away_team_runs":6
},
"pitching":{
"rov":1
},
"hitting":{
"rov":1
},
"mlb_pitch_data":{
"speed":93.3,
"strike_zone_top":3.33,
"strike_zone_bottom":1.66,
"zone":5,
"code":"FF",
"description":"Four-Seam Fastball",
"coordinates":{
"x":114.01,
"y":172.52
}
},
"mlb_hit_data":{
"trajectory":"ground_ball",
"hardness":"medium",
"coordinates":{
"coord_x":79.38,
"coord_y":128.49
}
},
"runners":[
{
"starting_base":0,
"ending_base":1,
"out":false,
"outcome_id":"AD1",
"preferred_name":"Carson",
"first_name":"Carson",
"last_name":"Kelly",
"jersey_number":"15",
"id":"d421cd0d-43d1-41fa-9ef0-8bf1bb2442aa",
"full_name":"Carson Kelly"
}
],
"errors":[
{
"type":"violation",
"preferred_name":"Miguel",
"first_name":"Miguel",
"last_name":"Rojas",
"jersey_number":"72",
"id":"9fcd5310-c80e-428e-bd9f-048ba1043b4e",
"full_name":"Miguel Rojas"
}
]
}
]
}
},
<statistics>
<hitting>
<overall ab="33" lob="16" rbi="3" abhr="0" abk="3.3" bip="23" babip="0.217" bbk="0.3" bbpa="0.081" iso="0.03" obp="0.243" ops="0.425" seca="0.152" slg="0.182" xbh="1" pitch_count="145" lob_risp_2out="3" team_lob="6" ab_risp="10" hit_risp="3" rbi_2out="1" linedrive="6" groundball="8" popup="1" flyball="8" ap="37" avg=".152" gofo="0.5">
<onbase s="4" d="1" t="0" hr="0" tb="6" bb="3" ibb="0" hbp="1" fc="1" roe="1" h="5" ci="0" rov="0" cycle="0"/>
<runs total="4"/>
<outcome klook="30" kswing="11" ktotal="41" ball="44" iball="0" dirtball="4" foul="32"/>
<outs po="1" fo="7" fidp="0" lo="4" lidp="0" go="6" gidp="0" klook="6" kswing="4" ktotal="10" sacfly="0" sachit="0"/>
<steal caught="0" stolen="1" pct="1.0" pickoff="0"/>
<pitches count="145" btotal="49" ktotal="96"/>
</overall>
</hitting>
<pitching>
<overall oba="0.172" lob="6" era="4.0" k9="8.001" whip="1.0" kbb="2.0" pitch_count="152" wp="2" bk="0" ip_1="27" ip_2="9.0" bf="35" gofo="1.833" babip="0.19" bf_ip="3.889" bf_start="15.0" gbfb="3.25" oab="29" slg="0.276" obp="0.286">
<onbase s="4" d="0" t="0" hr="1" tb="8" bb="4" ibb="0" hbp="1" fc="1" roe="1" h="5" ci="0" rov="0" h9="5.004" hr9="0.999"/>
<runs total="4" unearned="0" earned="4" ir="0" ira="0" bqr="0" bqra="0"/>
<outcome klook="24" kswing="19" ktotal="43" ball="55" iball="0" dirtball="5" foul="26"/>
<outs po="1" fo="3" fidp="0" lo="2" lidp="0" go="11" gidp="0" klook="2" kswing="6" ktotal="8" sacfly="1" sachit="0"/>
<steal caught="2" stolen="1" pickoff="1"/>
<pitches count="152" btotal="61" ktotal="91" per_ip="16.889" per_bf="4.343" per_start="68.0"/>
<in_play linedrive="4" groundball="13" popup="1" flyball="4"/>
<games svo="2" qstart="0" shutout="0" complete="0" win="0" loss="0" save="0" hold="1" blown_save="2"/>
</overall>
<starters oba="0.133" lob="4" era="0.0" k9="6.228" whip="0.4615" kbb="0.0" pitch_count="68" wp="0" bk="0" ip_1="13" ip_2="4.1" bf="15" gofo="2.333" babip="0.167" bf_ip="3.462" bf_start="15.0" gbfb="9.0" oab="15" slg="0.133" obp="0.133">
<onbase s="2" d="0" t="0" hr="0" tb="2" bb="0" ibb="0" hbp="0" fc="1" roe="1" h="2" ci="0" rov="0" h9="4.158" hr9="0.0"/>
<runs total="0" unearned="0" earned="0" ir="0" ira="0" bqr="0" bqra="0"/>
<outcome klook="11" kswing="9" ktotal="20" ball="22" iball="0" dirtball="2" foul="12"/>
<outs po="0" fo="1" fidp="0" lo="2" lidp="0" go="7" gidp="0" klook="0" kswing="3" ktotal="3" sacfly="0" sachit="0"/>
<steal caught="0" stolen="0" pickoff="1"/>
<pitches count="68" btotal="24" ktotal="44" per_ip="15.692" per_bf="4.533" per_start="68.0"/>
<in_play linedrive="2" groundball="9" popup="0" flyball="1"/>
<games svo="0" qstart="0" shutout="0" complete="0" win="0" loss="0" save="0" hold="0" blown_save="0"/>
</starters>
"statistics":{
"hitting":{
"overall":{
"ab":33,
"lob":16,
"rbi":3,
"abhr":0,
"abk":3.3,
"bip":23,
"babip":0.217,
"bbk":0.3,
"bbpa":0.081,
"iso":0.03,
"obp":0.243,
"ops":0.425,
"seca":0.152,
"slg":0.182,
"xbh":1,
"pitch_count":145,
"lob_risp_2out":3,
"team_lob":6,
"ab_risp":10,
"hit_risp":3,
"rbi_2out":1,
"linedrive":6,
"groundball":8,
"popup":1,
"flyball":8,
"ap":37,
"avg":".152",
"gofo":0.5,
"onbase":{
"s":4,
"d":1,
"t":0,
"hr":0,
"tb":6,
"bb":3,
"ibb":0,
"hbp":1,
"fc":1,
"roe":1,
"h":5,
"ci":0,
"rov":0,
"cycle":0
},
"runs":{
"total":4
},
"outcome":{
"klook":30,
"kswing":11,
"ktotal":41,
"ball":44,
"iball":0,
"dirtball":4,
"foul":32
},
"outs":{
"po":1,
"fo":7,
"fidp":0,
"lo":4,
"lidp":0,
"go":6,
"gidp":0,
"klook":6,
"kswing":4,
"ktotal":10,
"sacfly":0,
"sachit":0
},
"steal":{
"caught":0,
"stolen":1,
"pct":1,
"pickoff":0
},
"pitches":{
"count":145,
"btotal":49,
"ktotal":96
}
}
},
"pitching":{
"overall":{
"oba":0.172,
"lob":6,
"era":4,
"k9":8.001,
"whip":1,
"kbb":2,
"pitch_count":152,
"wp":2,
"bk":0,
"ip_1":27,
"ip_2":9,
"bf":35,
"gofo":1.833,
"babip":0.19,
"bf_ip":3.889,
"bf_start":15,
"gbfb":3.25,
"oab":29,
"slg":0.276,
"obp":0.286,
"onbase":{
"s":4,
"d":0,
"t":0,
"hr":1,
"tb":8,
"bb":4,
"ibb":0,
"hbp":1,
"fc":1,
"roe":1,
"h":5,
"ci":0,
"rov":0,
"h9":5.004,
"hr9":0.999
},
"runs":{
"total":4,
"unearned":0,
"earned":4,
"ir":0,
"ira":0,
"bqr":0,
"bqra":0
},
"outcome":{
"klook":24,
"kswing":19,
"ktotal":43,
"ball":55,
"iball":0,
"dirtball":5,
"foul":26
},
"outs":{
"po":1,
"fo":3,
"fidp":0,
"lo":2,
"lidp":0,
"go":11,
"gidp":0,
"klook":2,
"kswing":6,
"ktotal":8,
"sacfly":1,
"sachit":0
},
"steal":{
"caught":2,
"stolen":1,
"pickoff":1
},
"pitches":{
"count":152,
"btotal":61,
"ktotal":91,
"per_ip":16.889,
"per_bf":4.343,
"per_start":68
},
"in_play":{
"linedrive":4,
"groundball":13,
"popup":1,
"flyball":4
},
"games":{
"svo":2,
"qstart":0,
"shutout":0,
"complete":0,
"win":0,
"loss":0,
"save":0,
"hold":1,
"blown_save":2
}
},
"starters":{
"oba":0.133,
"lob":4,
"era":0,
"k9":6.228,
"whip":0.4615,
"kbb":0,
"pitch_count":68,
"wp":0,
"bk":0,
"ip_1":13,
"ip_2":4.1,
"bf":15,
"gofo":2.333,
"babip":0.167,
"bf_ip":3.462,
"bf_start":15,
"gbfb":9,
"oab":15,
"slg":0.133,
"obp":0.133,
"onbase":{
"s":2,
"d":0,
"t":0,
"hr":0,
"tb":2,
"bb":0,
"ibb":0,
"hbp":0,
"fc":1,
"roe":1,
"h":2,
"ci":0,
"rov":0,
"h9":4.158,
"hr9":0
},
"runs":{
"total":0,
"unearned":0,
"earned":0,
"ir":0,
"ira":0,
"bqr":0,
"bqra":0
},
"outcome":{
"klook":11,
"kswing":9,
"ktotal":20,
"ball":22,
"iball":0,
"dirtball":2,
"foul":12
},
"outs":{
"po":0,
"fo":1,
"fidp":0,
"lo":2,
"lidp":0,
"go":7,
"gidp":0,
"klook":0,
"kswing":3,
"ktotal":3,
"sacfly":0,
"sachit":0
},
"steal":{
"caught":0,
"stolen":0,
"pickoff":1
},
"pitches":{
"count":68,
"btotal":24,
"ktotal":44,
"per_ip":15.692,
"per_bf":4.533,
"per_start":68
},
"in_play":{
"linedrive":2,
"groundball":9,
"popup":0,
"flyball":1
},
"games":{
"svo":0,
"qstart":0,
"shutout":0,
"complete":0,
"win":0,
"loss":0,
"save":0,
"hold":0,
"blown_save":0
}
},