MLB/Players/John Schreiber
John Schreiber

JOHN SCHREIBER

P · Kansas City Royals · 20192026 · 526 games
526
CAREER GAMES · REGULAR SEASON
6 seasons · postseason below
.236
CAREER BATTING AVERAGE
346 hits in 1,464 at-bats
30
CAREER HOME RUNS
112 RBI · 4 stolen bases
3.64
CAREER ERA
309.1 innings · 309 strikeouts
16-15
CAREER RECORD
WHIP 1.24

01/Hitting

Season by season
Regular season
SeasonClubGABRH2B3BHRRBIBBSOSBAVGOBPSLGOPS
2024KC118396469620222540922.242.312.318.630
2023BOS9234644821621227501060.237.333.399.732
2022BOS1284623890284632381482.195.256.312.568
2021BOS2242840022100.333.385.500.885
2020DET3012822381204158280.297.338.484.823
2019DET261081832206118380.296.345.481.826
Career3961,464170346828301121464224.236.306.365.670

02/Pitching

Season by season
Regular season
SeasonClubGWLIPHERBBSOHRERAWHIP
2026NYY561350.14120223673.581.25
2025KC743364.057271962103.801.19
2024KC594351.24821204613.661.32
2023BOS462146.24120255363.861.41
2022BOS644465.04516197432.220.98
2021BOS1003.0411503.001.67
2020DET150115.2191141426.321.47
2019DET132013.016941936.231.54
Career3281615309.1271125114309323.641.24

03/Postseason

Kept apart
Never folded in
SeasonClubGABHHRRBIAVGIPSOERA
2024KC1011001.0003.240.00

04/Every pitch

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

No batted balls with a location in this window.

Pitch locations · 281 pitches
Called strike (59) Swinging strike (22) In play (51) Foul (48) Ball (101)

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

Pitch mix
PitchNShareMPHRPMStrike%
Four-Seam Fastball13748.8%89.82,14254.7%
Sweeper9734.5%77.62,44139.2%
Changeup3813.5%84.81,53231.6%
Sinker93.2%89.82,14044.4%

05/Game log

2020
Regular season
DateOppResultABRHHRRBIBBSOIPHERBBSO
JUL 27vs KCL 6143000001
JUL 27vs KCL 61430000011.00001
JUL 29vs KCW 543000000
JUL 29vs KCW 5430000001.00000
AUG 2vs CINL 045010001
AUG 2vs CINL 0450100011.11001
AUG 7@ PITW 17134000000
AUG 7@ PITW 171340000001.10000
AUG 10vs CWSW 5140100011.01001
AUG 10vs CWSW 514010001
AUG 12vs CWSL 575010002
AUG 12vs CWSL 5750100021.11002
AUG 15vs CLEL 1340000011.10001
AUG 15vs CLEL 134000001
AUG 16vs CLEL 585331000
AUG 16vs CLEL 5853312000.23300
AUG 18@ CWSL 41030103001.01000
AUG 18@ CWSL 4103010000
AUG 20@ CWSL 0920000010.20001
AUG 20@ CWSL 092000001
AUG 22@ CLEL 1632204110.12211
AUG 22@ CLEL 163220011
AUG 24vs CHCL 394331011
AUG 24vs CHCL 3943311110.13311
SEP 2@ MILL 582010010
SEP 2@ MILL 5820102100.21010
SEP 6@ MINW 10871301121.13112
SEP 6@ MINW 1087130012
SEP 9vs MILL 01910230003
SEP 9vs MILL 019102302032.13203

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.