Loading games...
2025 Stats
W
4
L
2
ERA
2.07
WHIP
0.96
IP
69.2
SO
75
SV
3
HLD
25
G
68
GS
1
Career Stats
W
42
L
59
ERA
4.14
WHIP
1.41
IP
790.0
SO
613
SV
5
HLD
31
G
234
GS
117
Year-by-Year Pitching
| Year | Team | G | GS | IP | W | L | SV | SO | ERA | WHIP | Awards |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2018 | KC | 41 | 20 | 140.1 | 9 | 6 | — | 96 | 3.08 | 1.30 | |
| 2019 | KC | 28 | 28 | 165.1 | 7 | 14 | — | 122 | 4.19 | 1.35 | |
| 2020 | KC | 9 | 9 | 54.2 | 5 | 3 | — | 35 | 2.47 | 1.02 | |
| 2021 | KC | 26 | 26 | 133.2 | 8 | 12 | — | 120 | 5.39 | 1.66 | |
| 2022 | KC | 35 | 22 | 139.2 | 6 | 14 | 1 | 102 | 5.09 | 1.50 | |
| 2023 | KC | 11 | 9 | 45.1 | 3 | 4 | — | 31 | 4.57 | 1.92 | |
| 2024 | Total | 16 | 2 | 41.1 | — | 4 | 1 | 32 | 5.44 | 1.52 | |
| 2025 | CHC | 68 | 1 | 69.2 | 4 | 2 | 3 | 75 | 2.07 | 0.96 |
Spring Training
Pitching
| Year | Team | G | GS | IP | W | L | SV | SO | ERA | WHIP |
|---|---|---|---|---|---|---|---|---|---|---|
| 2018 | KC | 8 | — | 10.0 | 2 | — | — | 14 | 2.70 | 1.30 |
| 2019 | KC | 5 | 5 | 18.1 | 1 | — | — | 14 | 5.40 | 1.31 |
| 2020 | KC | 3 | 3 | 6.2 | — | 1 | — | 6 | 14.85 | 2.40 |
| 2021 | KC | 4 | 4 | 13.1 | 1 | 1 | — | 12 | 5.40 | 2.10 |
| 2022 | KC | 2 | 1 | 7.1 | 1 | 1 | — | 7 | 7.36 | 1.36 |
| 2023 | KC | 6 | 6 | 20.0 | 3 | 1 | — | 25 | 4.95 | 1.40 |
| 2025 | CHC | 7 | 1 | 11.2 | 1 | 1 | — | 13 | 3.86 | 1.03 |
| 2026 | PHI | 3 | 1 | 3.0 | — | — | — | 2 | 12.00 | 2.33 |
Postseason
Pitching
| Year | Team | G | GS | IP | W | L | SV | SO | ERA | WHIP |
|---|---|---|---|---|---|---|---|---|---|---|
| 2025 | CHC | 5 | — | 5.2 | — | — | 2 | 5 | 1.59 | 0.71 |
Game Logs
Season selector loads one year at a time.
Pitching
| Date | Opponent | IP | H | R | ER | BB | SO | HR |
|---|---|---|---|---|---|---|---|---|
| 2025-09-27 | vs STL | 1.0 | 2 | 0 | 0 | 1 | 1 | 0 |
| 2025-09-26 | vs STL | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 |
| 2025-09-21 | @ CIN | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2025-09-16 | @ PIT | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 |
| 2025-09-15 | @ PIT | 0.1 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2025-09-13 | vs TB | 1.0 | 2 | 1 | 1 | 1 | 0 | 1 |
| 2025-09-12 | vs TB | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 |
| 2025-09-10 | @ ATL | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 |
| 2025-09-07 | vs WSH | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 |
| 2025-09-01 | vs ATL | 1.0 | 0 | 0 | 0 | 2 | 2 | 0 |
| 2025-08-30 | @ COL | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2025-08-29 | @ COL | 0.1 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2025-08-28 | @ SF | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2025-08-24 | @ LAA | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2025-08-22 | @ LAA | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2025-08-20 | vs MIL | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2025-08-19 | vs MIL | 0.2 | 1 | 0 | 0 | 2 | 2 | 0 |
| 2025-08-16 | vs PIT | 1.0 | 1 | 0 | 0 | 0 | 3 | 0 |
| 2025-08-15 | vs PIT | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2025-08-13 | @ TOR | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2025-08-10 | @ STL | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 |
| 2025-08-06 | vs CIN | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2025-08-03 | vs BAL | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 |
| 2025-08-01 | vs BAL | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 |
| 2025-07-30 | @ MIL | 2.0 | 1 | 0 | 0 | 0 | 1 | 0 |
| 2025-07-26 | @ CWS | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2025-07-19 | vs BOS | 1.0 | 0 | 0 | 0 | 0 | 3 | 0 |
| 2025-07-18 | vs BOS | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2025-07-12 | @ NYY | 0.1 | 2 | 2 | 2 | 0 | 0 | 1 |
| 2025-07-10 | @ MIN | 1.0 | 1 | 0 | 0 | 1 | 2 | 0 |
| 2025-07-05 | vs STL | 1.0 | 5 | 5 | 5 | 0 | 1 | 2 |
| 2025-07-02 | vs CLE | 1.0 | 2 | 0 | 0 | 0 | 0 | 0 |
| 2025-07-01 | vs CLE | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 |
| 2025-06-29 | @ HOU | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 2025-06-26 | @ STL | 0.2 | 0 | 0 | 0 | 2 | 0 | 0 |
| 2025-06-21 | vs SEA | 1.2 | 1 | 0 | 0 | 0 | 3 | 0 |
| 2025-06-17 | vs MIL | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 |
| 2025-06-13 | vs PIT | 1.0 | 1 | 1 | 1 | 0 | 1 | 0 |
| 2025-06-12 | vs PIT | 0.2 | 0 | 0 | 0 | 1 | 2 | 0 |
| 2025-06-10 | @ PHI | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2025-06-09 | @ PHI | 1.1 | 3 | 0 | 0 | 0 | 0 | 0 |
| 2025-06-05 | @ WSH | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2025-05-31 | vs CIN | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2025-05-28 | vs COL | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 |
| 2025-05-27 | vs COL | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2025-05-25 | @ CIN | 1.0 | 2 | 0 | 0 | 0 | 2 | 0 |
| 2025-05-23 | @ CIN | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 |
| 2025-05-21 | @ MIA | 1.2 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2025-05-18 | vs CWS | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2025-05-17 | vs CWS | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 |
| 2025-05-14 | vs MIA | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 |
| 2025-05-11 | @ NYM | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 |
| 2025-05-10 | @ NYM | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 |
| 2025-05-07 | vs SF | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2025-05-06 | vs SF | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 2025-05-03 | @ MIL | 2.0 | 1 | 0 | 0 | 0 | 1 | 0 |
| 2025-04-30 | @ PIT | 1.1 | 1 | 1 | 0 | 0 | 1 | 0 |
| 2025-04-26 | vs PHI | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 |
| 2025-04-25 | vs PHI | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 |
| 2025-04-22 | vs LAD | 0.1 | 2 | 5 | 4 | 2 | 0 | 0 |
| 2025-04-19 | vs AZ | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2025-04-18 | vs AZ | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 |
| 2025-04-14 | @ SD | 0.2 | 3 | 1 | 1 | 1 | 2 | 0 |
| 2025-04-13 | @ LAD | 1.1 | 1 | 0 | 0 | 1 | 1 | 0 |
| 2025-04-06 | vs SD | 1.0 | 1 | 0 | 0 | 0 | 2 | 0 |
| 2025-04-05 | vs SD | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2025-04-02 | @ ATH | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 2025-03-28 | @ AZ | 2.0 | 4 | 2 | 2 | 0 | 3 | 0 |
Transactions
Entire history • newest first.
2025-12-18
Philadelphia Phillies signed free agent RHP Brad Keller.
2025-11-02
RHP Brad Keller elected free agency.
2025-08-03
RHP Brad Keller changed number to 40.
2025-08-02
RHP Brad Keller changed number to 23.
2025-04-16
RHP Brad Keller changed number to 40.
2025-04-15
RHP Brad Keller changed number to 42.
2025-03-27
Chicago Cubs selected the contract of RHP Brad Keller from Iowa Cubs.
2025-01-29
RHP Brad Keller assigned to Chicago Cubs.
2025-01-29
RHP Brad Keller roster status changed by Chicago Cubs.
2024-08-29
Boston Red Sox sent RHP Brad Keller outright to Worcester Red Sox.
2024-08-27
Boston Red Sox designated RHP Brad Keller for assignment.
2024-08-26
Boston Red Sox selected the contract of RHP Brad Keller from Worcester Red Sox.
2024-08-14
Boston Red Sox signed free agent RHP Brad Keller to a minor league contract.
2024-08-13
RHP Brad Keller elected free agency.
2024-08-12
Boston Red Sox optioned RHP Brad Keller to Worcester Red Sox.
2024-08-09
Boston Red Sox recalled RHP Brad Keller from Worcester Red Sox.
2024-06-24
Boston Red Sox optioned RHP Brad Keller to Worcester Red Sox.
2024-05-26
Boston Red Sox signed free agent RHP Brad Keller.
2024-05-22
RHP Brad Keller elected free agency.
2024-05-20
Chicago White Sox designated RHP Brad Keller for assignment.
2024-04-28
Chicago White Sox selected the contract of RHP Brad Keller from Charlotte Knights.
2024-03-08
Chicago White Sox invited non-roster RHP Brad Keller to spring training.
2023-11-02
RHP Brad Keller elected free agency.
2023-10-02
Kansas City Royals activated RHP Brad Keller from the 15-day injured list.
2023-09-19
Kansas City Royals placed RHP Brad Keller on the 15-day injured list. Symptoms associated with thoracic outlet syndrome.
2023-09-09
Kansas City Royals activated RHP Brad Keller from the 60-day injured list.
2023-08-20
Kansas City Royals sent RHP Brad Keller on a rehab assignment to Northwest Arkansas Naturals.
2023-08-20
Kansas City Royals sent RHP Brad Keller on a rehab assignment to Northwest Arkansas Naturals.
2023-08-20
Kansas City Royals sent RHP Brad Keller on a rehab assignment to Northwest Arkansas Naturals.
2023-08-16
Kansas City Royals placed RHP Brad Keller on the 60-day injured list. Right shoulder impingement syndrome.
2023-08-14
Kansas City Royals sent RHP Brad Keller on a rehab assignment to ACL Royals.
2023-08-14
Kansas City Royals sent RHP Brad Keller on a rehab assignment to ACL Royals.
2023-07-28
Kansas City Royals sent RHP Brad Keller on a rehab assignment to Omaha Storm Chasers.
2023-06-28
Kansas City Royals sent RHP Brad Keller on a rehab assignment to Omaha Storm Chasers.
2023-06-28
Kansas City Royals sent RHP Brad Keller on a rehab assignment to Omaha Storm Chasers.
2023-06-28
Kansas City Royals sent RHP Brad Keller on a rehab assignment to Omaha Storm Chasers.
2023-05-19
Kansas City Royals placed RHP Brad Keller on the 15-day injured list retroactive to May 16, 2023. Right shoulder impingement syndrome.
2022-07-18
Kansas City Royals activated RHP Brad Keller from the restricted list.
2022-07-14
Kansas City Royals placed RHP Brad Keller on the restricted list.
2021-11-05
Kansas City Royals activated RHP Brad Keller from the 60-day injured list.
2021-09-20
Kansas City Royals placed RHP Brad Keller on the 60-day injured list. Right lat strain.
2021-08-27
Kansas City Royals placed RHP Brad Keller on the 10-day injured list. Right lat strain.
2020-08-06
Kansas City Royals activated P Brad Keller from the 10 day injured list.
2020-08-06
Kansas City Royals activated RHP Brad Keller from the 10-day injured list.
2020-08-06
Kansas City Royals activated P Brad Keller from the 10 day injured list.
2020-07-14
Kansas City Royals placed RHP Brad Keller on the 10-day injured list.
2019-04-29
Kansas City Royals activated RHP Brad Keller.
2019-04-23
RHP Brad Keller roster status changed by Kansas City Royals.
2017-12-14
Cincinnati Reds claimed RHP Brad Keller off waivers from Jackson Generals.
2017-12-14
Cincinnati Reds traded RHP Brad Keller to Kansas City Royals for Future Considerations.
2013-06-19
Arizona Diamondbacks signed RHP Brad Keller.
Scouting Report
Statcast-style percentiles • Basenerd theme
Season 2025
Ready
Basic Line
Season / Game
Loading…
Statcast Game Log
Per-game pitch metrics from Statcast
| Date | Pitches | Velo | BNStuff+ | BNCtrl+ | Whiff% | Zone% | Chase% | K% | BB% | xwOBA |
|---|---|---|---|---|---|---|---|---|---|---|
| Loading… | ||||||||||