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

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

No batted balls with a location in this window.

Pitch locations · 341 pitches
Called strike (42) Swinging strike (43) In play (78) Foul (58) Ball (120)

Catcher’s view · the zone drawn is the average of the 341 batter zones recorded here, 1.60 to 3.40 feet

Pitch mix
PitchNShareMPHRPMStrike%
Cutter21964.2%86.42,27943.8%
Sweeper6819.9%77.52,39136.8%
Sinker5415.8%88.72,12744.4%

05/Game log

2022
Regular season
DateOppResultABRHHRRBIBBSOIPHERBBSO
APR 10@ COLL 4930000111.00011
APR 10@ COLL 493000011
APR 13@ MINW 703000000
APR 13@ MINW 7030000001.00000
APR 17vs CINW 9171201032.02103
APR 17vs CINW 917120003
APR 19vs ATLL 1330000011.00001
APR 19vs ATLL 133000001
APR 23@ SDL 230100000
APR 23@ SDL 2301001000.20000
APR 24@ SDW 1024110000
APR 24@ SDW 10241100001.01100
APR 26@ AZL 3530000011.00001
APR 26@ AZL 353000001
MAY 1vs DETW 6331211000.12100
MAY 1vs DETW 633121000
MAY 17vs AZW 764010001
MAY 17vs AZW 7640100011.11001
MAY 18vs AZW 5340100011.01001
MAY 18vs AZW 534010001
MAY 21@ PHIW 740000010
MAY 21@ PHIW 7400000100.10010
MAY 22@ PHIL 340000010
MAY 22@ PHIL 3400000100.10010
MAY 26@ AZW 1415020000
MAY 26@ AZW 14150200001.02000
MAY 28@ AZW 3230000011.00001
MAY 28@ AZW 323000001
JUN 4vs NYML 496121000
JUN 4vs NYML 4961211001.12100
JUN 7@ CWSL 0430000001.00000
JUN 7@ CWSL 043000000
JUN 10@ SFL 2773403111.04311
JUN 10@ SFL 277340011
JUN 30vs SDW 3140000111.10011
JUN 30vs SDW 314000011
SEP 5vs SFL 479131001
SEP 5vs SFL 4791311012.03101
SEP 7vs SFW 734121000
SEP 7vs SFW 7341211000.22100
SEP 17@ SFW 7230000011.00001
SEP 17@ SFW 723000001
SEP 18@ SFW 431000000
SEP 18@ SFW 4310000000.10000
SEP 20vs AZL 2551201101.02110
SEP 20vs AZL 255120010
SEP 21vs AZL 1630000001.00000
SEP 21vs AZL 163000000

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.