MLB/Players/Gregory Soto
Gregory Soto

GREGORY SOTO

P · Pittsburgh Pirates · 20192026 · 772 games
772
CAREER GAMES · REGULAR SEASON
6 seasons · postseason below
.239
CAREER BATTING AVERAGE
576 hits in 2,406 at-bats
60
CAREER HOME RUNS
162 RBI · 30 stolen bases
4.11
CAREER ERA
438.0 innings · 479 strikeouts
21-38
CAREER RECORD
WHIP 1.39

01/Hitting

Season by season
Regular season
SeasonClubGABRH2B3BHRRBIBBSOSBAVGOBPSLGOPS
2024BAL13241260112204831541304.272.356.398.754
2023PHI13844868942001229441304.210.280.335.615
2022DET1284366498242427681206.225.329.317.646
2021DET12446460921401431801522.198.316.319.635
2020DET541662232404626584.193.302.289.591
2019DET66480781482841838669010.308.392.496.888
Career6422,406352576110106016233868030.239.333.368.701

02/Pitching

Season by season
Regular season
SeasonClubGWLIPHERBBSOHRERAWHIP
2026PIT606459.24121246953.171.09
2025NYM701560.16228247044.181.43
2024BAL663553.05626276544.421.57
2023PHI693460.14731226564.621.14
2022DET6421160.14922346023.281.38
2021DET626363.24624407673.391.35
2020DET270123.01611132924.301.26
2019DET330557.27437334595.771.86
Career4512138438.0391200217479394.111.39

03/Postseason

Kept apart
Never folded in
SeasonClubGABHHRRBIAVGIPSOERA
2024BAL22000.0000.210.00
2023PHI1013501.3853.036.00

04/Every pitch

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

No batted balls with a location in this window.

Pitch locations · 1131 pitches
Called strike (198) Swinging strike (160) In play (159) Foul (192) Ball (422)

Catcher’s view · the zone drawn is the average of the 1,131 batter zones recorded here, 1.56 to 3.37 feet

Pitch mix
PitchNShareMPHRPMStrike%
Sinker61854.6%98.22,39746.3%
Slider42537.6%88.32,34352.0%
Four-Seam Fastball887.8%98.32,35048.9%

05/Game log

2021
Regular season
DateOppResultABRHHRRBIBBSOIPHERBBSO
APR 1vs CLEW 325221010
APR 1vs CLEW 3252212101.02210
APR 5vs MINL 6154010012
APR 5vs MINL 61540100121.01012
APR 6vs MINW 437010002
APR 6vs MINW 4370100022.01002
APR 11@ CLEL 253000013
APR 11@ CLEL 2530000131.00013
APR 12@ HOUW 6220000000.20000
APR 12@ HOUW 622000000
APR 14@ HOUW 644010010
APR 14@ HOUW 6440100101.01010
APR 18@ L 234120012
APR 18@ L 2341201120.22112
APR 21vs PITW 523000002
APR 21vs PITW 5230000021.00002
APR 22vs PITL 243120010
APR 22vs PITL 2431202100.12110
APR 26vs KCL 235020000
APR 26vs KCL 2350200001.02000
APR 27@ CWSW 523000000
APR 27@ CWSW 5230000001.00000
MAY 2@ NYYL 0230000021.00002
MAY 2@ NYYL 023000002
MAY 5@ BOSW 6572301221.13122
MAY 5@ BOSW 657230022
MAY 6@ BOSL 91231102000.11000
MAY 6@ BOSL 9123110000
MAY 8vs MINW 734010021
MAY 8vs MINW 7340100211.01021
MAY 11vs KCW 871000011
MAY 11vs KCW 8710000110.10011
MAY 12vs KCW 423000011
MAY 12vs KCW 4230000111.00011
MAY 13vs KCW 4332202100.12210
MAY 13vs KCW 433220010
MAY 17@ SEAW 4110000000.10000
MAY 17@ SEAW 411000000
MAY 19@ SEAW 623000001
MAY 19@ SEAW 6230000011.00001
MAY 23@ KCL 2300001000.20000
MAY 23@ KCL 230000000
MAY 26vs CLEW 1020000111.00011
MAY 26vs CLEW 102000011
MAY 28vs NYYW 3240100121.01012
MAY 28vs NYYW 324010012
MAY 31@ MILL 234010001
MAY 31@ MILL 2340100011.01001
JUN 1@ MILW 10741111121.01112
JUN 1@ MILW 1074111012
JUN 4@ CWSL 891000010
JUN 4@ CWSL 8910000100.10010
JUN 5@ CWSW 4330000021.00002
JUN 5@ CWSW 433000002
JUN 9vs SEAL 693000002
JUN 9vs SEAL 6930000021.10002
JUN 10vs SEAW 833000001
JUN 10vs SEAW 8330000011.00001
JUN 13vs CWSL 1440100101.01010
JUN 13vs CWSL 144010010
JUN 15@ KCW 433000001
JUN 15@ KCW 4330000011.00001
JUN 20@ LAAW 5330000021.00002
JUN 20@ LAAW 533000002
JUN 23vs STLW 624000002
JUN 23vs STLW 6240000021.10002
JUN 27vs HOUW 215000011
JUN 27vs HOUW 2150000112.00011
JUN 30@ CLEW 943000002
JUN 30@ CLEW 9430000021.00002
JUL 4vs CWSW 655331012
JUL 4vs CWSW 6553313120.23312
JUL 7@ TEXW 5370101132.01013
JUL 7@ TEXW 537010013
JUL 11@ MINL 9124130000
JUL 11@ MINL 91241303000.13100
JUL 17vs MINW 103000000
JUL 17vs MINW 1030000001.00000
JUL 20vs TEXW 413000003
JUL 20vs TEXW 4130000031.00003
JUL 21vs TEXW 424010000
JUL 21vs TEXW 4240100001.01000
JUL 22vs TEXW 7530000121.00012
JUL 22vs TEXW 753000012
JUL 26@ MINL 566110043
JUL 26@ MINL 5661101431.21043
JUL 28@ MINW 171442112121.01212
JUL 28@ MINW 17144211012
AUG 1vs BALW 6230000001.00000
AUG 1vs BALW 623000000
AUG 3vs BOSW 4240100021.01002
AUG 3vs BOSW 424010002
AUG 7@ CLEW 215121002
AUG 7@ CLEW 2151211021.02102
AUG 10@ BALW 942000001
AUG 10@ BALW 9420000010.20001
AUG 11@ BALW 524010012
AUG 11@ BALW 5240100121.01012
AUG 14vs CLEW 643000002
AUG 14vs CLEW 6430000021.00002
AUG 17vs LAAL 2866425210.24521
AUG 17vs LAAL 286642021
AUG 20@ TORW 415000021
AUG 20@ TORW 4150000212.00021
AUG 22@ TORW 537120021
AUG 22@ TORW 5371201212.02021
AUG 25@ STLL 233000001
AUG 25@ STLL 2330000011.00001
AUG 27vs TORW 213000001
AUG 27vs TORW 2130000011.00001
AUG 28vs TORL 234010000
AUG 28vs TORL 2340100001.01000
SEP 1vs W 8630000021.00002
SEP 1vs W 863000002
SEP 5@ CINW 415000012
SEP 5@ CINW 4150000121.20012
SEP 8@ PITW 5130000111.00011
SEP 8@ PITW 513000011
SEP 12vs TBW 878210021
SEP 12vs TBW 8782102212.01121
SEP 14vs MILW 1060000132.00013
SEP 14vs MILW 106000013
SEP 17@ TBL 4723200100.02310
SEP 17@ TBL 472320010

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.