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

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

No batted balls with a location in this window.

Pitch locations · 904 pitches
Called strike (158) Swinging strike (101) In play (146) Foul (151) Ball (348)

Catcher’s view · the zone drawn is the average of the 904 batter zones recorded here, 1.63 to 3.22 feet

Pitch mix
PitchNShareMPHRPMStrike%
Sinker54159.8%97.92,19548.8%
Sweeper28331.3%83.12,32440.3%
Slider717.9%90.82,44743.7%
Changeup91.0%90.81,87433.3%

05/Game log

2026
Regular season
DateOppResultABRHHRRBIBBSOIPHERBBSO
MAR 26vs TBW 9710021.11002
MAR 28vs TBW 6520001.02000
MAR 31vs NYMW 3000001.00000
APR 1vs NYMW 2110021.01002
APR 5@ DETW 5300011.00001
APR 7@ WSHW 7600021.00002
APR 8@ WSHW 6100001.00000
APR 10vs BOSW 3200011.00001
APR 14vs CLEW 6500011.00001
APR 15vs CLEW 5300021.00002
APR 18@ HOUW 7500010.20001
APR 19@ HOUW 7510021.11002
APR 21@ MIAW 5310011.01001
APR 25vs SEAL 91140111.04211
APR 29@ PITW 5410011.01001
MAY 2vs LADW 3240021.04202
MAY 4vs MILW 6300000.20000
MAY 7@ SDW 2100011.00001
MAY 10@ SDL 2321031.02203
MAY 12@ ATHW 6400101.00010
MAY 14@ ATHW 5400021.00002
MAY 15vs KCW 5410001.01000
MAY 19vs PITW 9620101.02210
MAY 23@ CINL 6700121.10012
MAY 29vs CHCW 6510001.01100
JUN 2vs TEXL 4730121.03312
JUN 3vs TEXW 5300101.00010
JUN 6vs CINW 6520111.02011
JUN 7vs CINW 5310011.01001
JUN 13@ MINW 9600311.00131
JUN 16vs SDW 3200101.00010
JUN 21@ KCW 121021011.02201
JUN 22vs AZW 3200001.00000
JUN 28vs MIAW 2100011.00001
JUN 30@ ATLW 5310001.01000
JUL 4@ CHCW 3000111.00011
JUL 8vs MILW 5110011.01001
JUL 10vs ATLW 2100021.00002
JUL 11vs ATLW 4100111.00011
JUL 17@ AZW 5410111.01011
JUL 20@ LAAL 2320110.12211
JUL 22@ LAAW 1000231.00023
JUL 29vs CHCW 3200111.00011
JUL 30vs CHCL 2400011.00001
AUG 2@ TORW 5110011.01001
AUG 5@ NYYW 3100111.00011
AUG 7vs COLW 3200101.00010
AUG 9vs COLW 7400001.00000
AUG 11vs PHIW 2000011.00001
AUG 15@ CHCW 8400001.00000
AUG 17@ CINW 2100031.00003
AUG 18@ CINW 3000011.00001
AUG 20@ CINW 10910200.11020
AUG 23@ PHIL 4651100.25610
AUG 26vs BALL 7820001.02100
AUG 27vs BALW 7510011.01001
SEP 3@ LADW 8600011.00001
SEP 4@ LADL 2320100.12210
SEP 5@ COLW 7610021.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.