MLB/Players/Riley O'Brien
Riley O'Brien

RILEY O'BRIEN

P · St. Louis Cardinals · 20212026 · 121 games
121
CAREER GAMES · REGULAR SEASON
3 seasons
.348
CAREER BATTING AVERAGE
32 hits in 92 at-bats
8
CAREER HOME RUNS
13 RBI · 0 stolen bases
3.82
CAREER ERA
115.1 innings · 116 strikeouts
6-9
CAREER RECORD
WHIP 1.34

01/Hitting

Season by season
Regular season
SeasonClubGABRH2B3BHRRBIBBSOSBAVGOBPSLGOPS
2024STL167220264241116220.361.477.6391.116
2022SEA28020000220.250.400.250.650
2021CIN212440042640.333.5561.3331.889
Career209224324281324280.348.483.6961.178

02/Pitching

Season by season
Regular season
SeasonClubGWLIPHERBBSOHRERAWHIP
2026STL593757.04726245734.111.25
2025STL423148.03311224522.061.15
2024STL8008.01310811211.252.63
2022SEA1001.0101100.002.00
2021CIN1011.12232213.503.75
Career11169115.196495811693.821.34

04/Every pitch

2025 Regular season
Play log from 2015
Spray chart · 0 batted balls

No batted balls with a location in this window.

Pitch locations · 758 pitches
Called strike (128) Swinging strike (84) In play (125) Foul (133) Ball (288)

Catcher’s view · the zone drawn is the average of the 758 batter zones recorded here, 1.58 to 3.39 feet

Pitch mix
PitchNShareMPHRPMStrike%
Sinker36648.3%98.02,18443.2%
Slider23030.3%90.12,52951.3%
Sweeper16121.2%83.42,44542.9%
Changeup10.1%90.41,9020.0%

05/Game log

2025
Regular season
DateOppResultABRHHRRBIBBSOIPHERBBSO
APR 26vs MILW 6500000.10000
APR 28@ CINL 1320100.22010
MAY 1@ CINL 1911121.21312
JUN 5vs KCW 6510011.21001
JUN 9vs TORL 4531002.03100
JUN 11vs TORL 2520112.02011
JUN 13@ MILL 2300011.00001
JUN 17@ CWSW 12210012.01001
JUN 19@ CWSW 8600011.00001
JUN 20vs CINW 6100120.20012
JUN 23vs CHCW 8210001.01000
JUN 26vs CHCL 0300111.00011
JUN 29@ CLEW 7000231.00023
JUL 2@ PITL 0520110.22111
JUL 6@ CHCL 01120032.02003
JUL 11vs ATLL 5620142.02014
JUL 13vs ATLW 5410121.21012
JUL 20@ AZL 3500021.00002
JUL 22@ COLL 4810211.01021
JUL 24vs SDW 9710110.11011
JUL 26vs SDL 1300011.00001
JUL 30vs MIAL 0200011.10001
AUG 4@ LADW 3210001.01100
AUG 6@ LADW 5300101.10010
AUG 8vs CHCW 5000001.00000
AUG 10vs CHCW 3200110.20011
AUG 13vs COLL 5620001.02000
AUG 17vs NYYL 4810021.21002
AUG 19@ MIAW 7400221.00022
AUG 25vs PITW 7610011.21101
AUG 28vs PITW 4100001.00000
SEP 6vs SFW 3200011.00001
SEP 7vs SFW 4310001.01000
SEP 10@ SEAL 2420222.02022
SEP 13@ MILL 8920000.02300
SEP 14@ MILW 3200121.00012
SEP 16vs CINW 3000011.00001
SEP 20vs MILL 2300111.10011
SEP 21vs MILW 5100001.00000
SEP 23@ SFW 9800010.10001
SEP 24@ SFL 3420101.02110
SEP 28@ CHCL 0210021.01002

Regular season and postseason are separate tables and are never summed into one career line; spring training is excluded entirely. Hitting and pitching come from different source rows, so a two-way player has both tables and neither borrows from the other. Innings pitched is summed as outs and converted once: the stored value counts thirds, so “6.1” means six innings and one out, and adding those as decimals understates a career. ERA and WHIP are computed from those totals rather than averaged across seasons. On-base percentage is (H + BB) over (AB + BB), which runs slightly under the official figure because the source rows carry no hit-by-pitch or sacrifice fly. The charts cover 2015 onward only, and the spray chart plots batted balls with a recorded landing spot: a strikeout or a walk has no location and is not a missing dot. Its field is a representative park, not the one the ball was hit in, because a spray chart pooled across a season is hit in thirty different outfields.