MLB/Players/Justin Bruihl
Justin Bruihl

JUSTIN BRUIHL

P · St. Louis Cardinals · 20212026 · 236 games
236
CAREER GAMES · REGULAR SEASON
4 seasons · postseason below
.257
CAREER BATTING AVERAGE
144 hits in 560 at-bats
16
CAREER HOME RUNS
39 RBI · 12 stolen bases
4.26
CAREER ERA
158.1 innings · 115 strikeouts
3-3
CAREER RECORD
WHIP 1.38

01/Hitting

Season by season
Regular season
SeasonClubGABRH2B3BHRRBIBBSOSBAVGOBPSLGOPS
2024PIT1448121860262102.375.400.6251.025
2023COL54210365618041722448.267.336.410.746
2022LAD4817422444281012262.253.301.437.738
2021LAD421281426002614220.203.282.250.532
Career1585608414428216395010212.257.318.400.718

02/Pitching

Season by season
Regular season
SeasonClubGWLIPHERBBSOHRERAWHIP
2026STL631168.27028264643.671.40
2025TOR150013.219871825.271.90
2024PIT7005.2961519.531.76
2023COL271028.02817112225.461.39
2022LAD241123.2221061343.801.18
2021LAD210118.213671112.891.07
Career15733158.11617558115144.261.38

03/Postseason

Kept apart
Never folded in
SeasonClubGABHHRRBIAVGIPSOERA
2021LAD67100.1432.050.00

04/Every pitch

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

No batted balls with a location in this window.

Pitch locations · 438 pitches
Called strike (78) Swinging strike (49) In play (85) Foul (68) Ball (158)

Catcher’s view · the zone drawn is the average of the 438 batter zones recorded here, 1.61 to 3.37 feet

Pitch mix
PitchNShareMPHRPMStrike%
Cutter16237.0%87.12,26141.4%
Sinker13931.7%88.42,16546.8%
Sweeper13731.3%78.52,51246.0%

05/Game log

2023
Regular season
DateOppResultABRHHRRBIBBSOIPHERBBSO
APR 17vs NYML 684010000
APR 17vs NYML 6840100001.01000
APR 19vs NYML 3520001001.00000
APR 19vs NYML 352000000
APR 20@ CHCW 6230000021.00002
APR 20@ CHCW 623000002
APR 23@ CHCW 733000011
APR 23@ CHCW 7330000111.00011
APR 26@ PITL 186130001
APR 26@ PITL 1861301011.03101
MAY 9@ MILW 625000002
MAY 9@ MILW 6250000021.20002
MAY 14vs SDW 4040100021.01002
MAY 14vs SDW 404010002
MAY 15vs MINW 984010002
MAY 15vs MINW 9840100021.01002
MAY 16vs MINL 159231002
MAY 16vs MINL 1592312022.03202
MAY 20@ STLL 5630000011.00001
MAY 20@ STLL 563000001
MAY 21@ STLL 5104230010
MAY 21@ STLL 51042303100.23210
MAY 26@ TBL 3993513102.05310
MAY 26@ TBL 399351010
MAY 29vs WSHW 6140100001.01000
MAY 29vs WSHW 614010000
MAY 30vs WSHW 933000000
MAY 30vs WSHW 9330000001.00000
JUN 29@ COLW 14360200002.02000
JUN 29@ COLW 1436020000
JUN 30@ KCW 935010002
JUN 30@ KCW 9350100021.01002
JUL 19@ BALL 586010012
JUL 19@ BALL 5860100122.01012
JUL 21@ TEXW 1153000010
JUL 21@ TEXW 11530000101.00010
JUL 23@ TEXL 4830000021.00002
JUL 23@ TEXL 483000002
JUL 25vs TORW 8753203301.02330
JUL 25vs TORW 875320030
AUG 11@ LADL 1634201100.12310
AUG 11@ LADL 163420010
AUG 13@ LADL 383110012
AUG 13@ LADL 3831101121.01112
AUG 16vs AZL 791000000
AUG 16vs AZL 7910000000.10000
AUG 18vs CWSW 1413000000
AUG 18vs CWSW 14130000001.00000
AUG 20vs CWSL 5102210010
AUG 20vs CWSL 51022102100.11210
AUG 22@ TBL 4121000000
AUG 22@ TBL 41210000000.10000
AUG 24@ TBL 351000001
AUG 24@ TBL 3510000010.10001

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.