
JOHN KING
01/Hitting
Regular season
| Season | Club | G | AB | R | H | 2B | 3B | HR | RBI | BB | SO | SB | AVG | OBP | SLG | OPS |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2024 | STL | 112 | 450 | 46 | 116 | 12 | 0 | 10 | 36 | 28 | 76 | 22 | .258 | .301 | .351 | .652 |
| 2023 | STL | 70 | 290 | 30 | 90 | 12 | 0 | 4 | 19 | 20 | 40 | 4 | .310 | .355 | .393 | .748 |
| 2022 | TEX | 78 | 410 | 54 | 122 | 12 | 2 | 10 | 28 | 28 | 60 | 8 | .298 | .342 | .410 | .752 |
| 2021 | TEX | 54 | 352 | 48 | 82 | 12 | 2 | 6 | 18 | 24 | 80 | 2 | .233 | .282 | .330 | .611 |
| 2020 | TEX | 12 | 90 | 16 | 26 | 4 | 0 | 4 | 7 | 8 | 18 | 2 | .289 | .347 | .467 | .814 |
| Career | – | 326 | 1,592 | 194 | 436 | 52 | 4 | 34 | 108 | 108 | 274 | 38 | .274 | .320 | .376 | .696 |
02/Pitching
Regular season
04/Every pitch
Play log from 2015
No batted balls with a location in this window.
Catcher’s view · the zone drawn is the average of the 749 batter zones recorded here, 1.59 to 3.38 feet
| Pitch | N | Share | MPH | RPM | Strike% |
|---|---|---|---|---|---|
| Sinker | 392 | 52.3% | 92.4 | 2,065 | 43.4% |
| Changeup | 185 | 24.7% | 80.7 | 1,638 | 36.2% |
| Sweeper | 76 | 10.1% | 77.5 | 2,636 | 48.7% |
| Cutter | 56 | 7.5% | 86.9 | 2,433 | 48.2% |
| Slider | 40 | 5.3% | 82.3 | 2,700 | 35.0% |
05/Game log
Regular season
| Date | Opp | Result | AB | R | H | HR | RBI | BB | SO | IP | H | ER | BB | SO |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| APR 8 | @ TOR | L 8–10 | 3 | 2 | 1 | 0 | 0 | 1 | 0 | – | — | — | — | — |
| APR 8 | @ TOR | L 8–10 | 3 | 2 | 1 | 0 | 0 | 1 | 0 | 0.2 | 1 | 2 | 1 | 0 |
| APR 10 | @ TOR | W 12–6 | 4 | 0 | 1 | 0 | 0 | 0 | 1 | – | — | — | — | — |
| APR 10 | @ TOR | W 12–6 | 4 | 0 | 1 | 0 | 0 | 0 | 1 | 1.0 | 1 | 0 | 0 | 1 |
| APR 12 | vs COL | L 1–4 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | – | — | — | — | — |
| APR 12 | vs COL | L 1–4 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 1.0 | 0 | 0 | 0 | 1 |
| APR 14 | vs LAA | W 10–5 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | – | — | — | — | — |
| APR 14 | vs LAA | W 10–5 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1.1 | 0 | 0 | 1 | 0 |
| APR 17 | vs LAA | L 3–8 | 5 | 0 | 1 | 0 | 0 | 0 | 2 | – | — | — | — | — |
| APR 17 | vs LAA | L 3–8 | 5 | 0 | 1 | 0 | 0 | 0 | 2 | 1.1 | 1 | 0 | 0 | 2 |
| APR 20 | @ SEA | L 2–4 | 4 | 1 | 2 | 0 | 0 | 2 | 1 | – | — | — | — | — |
| APR 20 | @ SEA | L 2–4 | 4 | 1 | 2 | 0 | 2 | 2 | 1 | 1.0 | 2 | 1 | 2 | 1 |
| APR 22 | @ – | W 8–1 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1.0 | 0 | 0 | 0 | 0 |
| APR 22 | @ – | W 8–1 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | – | — | — | — | — |
| APR 25 | vs HOU | W 6–2 | 2 | 0 | 1 | 0 | 0 | 1 | 1 | – | — | — | — | — |
| APR 25 | vs HOU | W 6–2 | 2 | 0 | 1 | 0 | 1 | 1 | 1 | 0.1 | 1 | 0 | 1 | 1 |
| APR 28 | vs HOU | L 2–3 | 3 | 0 | 0 | 0 | 0 | 1 | 1 | – | — | — | — | — |
| APR 28 | vs HOU | L 2–3 | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 1.0 | 0 | 0 | 1 | 1 |
| MAY 1 | vs ATL | W 7–3 | 3 | 0 | 1 | 0 | 0 | 0 | 0 | 1.0 | 1 | 0 | 0 | 0 |
| MAY 1 | vs ATL | W 7–3 | 3 | 0 | 1 | 0 | 0 | 0 | 0 | – | — | — | — | — |
| MAY 3 | @ PHI | W 6–4 | 5 | 0 | 2 | 0 | 0 | 0 | 2 | – | — | — | — | — |
| MAY 3 | @ PHI | W 6–4 | 5 | 0 | 2 | 0 | 0 | 0 | 2 | 1.0 | 2 | 0 | 0 | 2 |
| MAY 8 | @ NYY | L 1–2 | 5 | 1 | 2 | 1 | 0 | 0 | 0 | – | — | — | — | — |
| MAY 8 | @ NYY | L 1–2 | 5 | 1 | 2 | 1 | 1 | 0 | 0 | 1.0 | 2 | 1 | 0 | 0 |
| MAY 10 | vs KC | W 6–4 | 7 | 0 | 2 | 0 | 2 | 1 | 2 | 1.2 | 2 | 0 | 1 | 2 |
| MAY 10 | vs KC | W 6–4 | 7 | 0 | 2 | 0 | 0 | 1 | 2 | – | — | — | — | — |
| MAY 12 | vs KC | W 3–1 | 5 | 1 | 3 | 0 | 0 | 0 | 1 | – | — | — | — | — |
| MAY 12 | vs KC | W 3–1 | 5 | 1 | 3 | 0 | 1 | 0 | 1 | 0.2 | 3 | 1 | 0 | 1 |
| MAY 15 | vs BOS | W 7–1 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 1.0 | 0 | 0 | 0 | 1 |
| MAY 15 | vs BOS | W 7–1 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | – | — | — | — | — |
| MAY 16 | vs LAA | W 7–4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1.0 | 0 | 0 | 0 | 0 |
| MAY 16 | vs LAA | W 7–4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | – | — | — | — | — |
| MAY 18 | vs LAA | W 6–5 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 1.0 | 0 | 0 | 0 | 1 |
| MAY 18 | vs LAA | W 6–5 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | – | — | — | — | — |
| MAY 22 | @ HOU | L 2–5 | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 1.0 | 0 | 0 | 1 | 1 |
| MAY 22 | @ HOU | L 2–5 | 3 | 0 | 0 | 0 | 0 | 1 | 1 | – | — | — | — | — |
| MAY 29 | @ – | L 5–6 | 7 | 2 | 3 | 0 | 0 | 1 | 0 | – | — | — | — | — |
| MAY 29 | @ – | L 5–6 | 7 | 2 | 3 | 0 | 1 | 1 | 0 | 1.0 | 3 | 1 | 1 | 0 |
| MAY 31 | vs TB | W 3–0 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | – | — | — | — | — |
| MAY 31 | vs TB | W 3–0 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 1.0 | 0 | 0 | 0 | 1 |
| JUN 1 | vs TB | L 3–4 | 5 | 1 | 2 | 0 | 1 | 0 | 1 | 1.0 | 2 | 1 | 0 | 1 |
| JUN 1 | vs TB | L 3–4 | 5 | 1 | 2 | 0 | 0 | 0 | 1 | – | — | — | — | — |
| JUN 4 | vs SEA | W 3–2 | 5 | 0 | 2 | 0 | 0 | 0 | 0 | – | — | — | — | — |
| JUN 4 | vs SEA | W 3–2 | 5 | 0 | 2 | 0 | 0 | 0 | 0 | 1.0 | 2 | 0 | 0 | 0 |
| JUN 7 | @ CLE | W 6–3 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 1.0 | 0 | 0 | 0 | 1 |
| JUN 7 | @ CLE | W 6–3 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | – | — | — | — | — |
| JUN 10 | @ CWS | L 3–8 | 7 | 5 | 6 | 1 | 5 | 0 | 0 | 0.2 | 6 | 5 | 0 | 0 |
| JUN 10 | @ CWS | L 3–8 | 7 | 5 | 6 | 1 | 0 | 0 | 0 | – | — | — | — | — |
| JUN 12 | @ CWS | W 8–6 | 6 | 0 | 1 | 0 | 0 | 2 | 1 | 2.0 | 1 | 0 | 2 | 1 |
| JUN 12 | @ CWS | W 8–6 | 6 | 0 | 1 | 0 | 0 | 2 | 1 | – | — | — | — | — |
| JUN 14 | vs HOU | L 3–4 | 5 | 4 | 3 | 1 | 3 | 0 | 0 | 0.1 | 3 | 3 | 0 | 0 |
| JUN 14 | vs HOU | L 3–4 | 5 | 4 | 3 | 1 | 0 | 0 | 0 | – | — | — | — | — |
| JUN 18 | @ DET | L 7–14 | 8 | 0 | 2 | 0 | 0 | 0 | 2 | 2.0 | 2 | 0 | 0 | 2 |
| JUN 18 | @ DET | L 7–14 | 8 | 0 | 2 | 0 | 0 | 0 | 2 | – | — | — | — | — |
| JUN 26 | vs WSH | L 4–6 | 6 | 0 | 0 | 0 | 0 | 1 | 0 | – | — | — | — | — |
| JUN 26 | vs WSH | L 4–6 | 6 | 0 | 0 | 0 | 0 | 1 | 0 | 2.0 | 0 | 0 | 1 | 0 |
| JUL 5 | @ BAL | L 9–10 | 6 | 1 | 3 | 1 | 0 | 1 | 1 | – | — | — | — | — |
| JUL 5 | @ BAL | L 9–10 | 6 | 1 | 3 | 1 | 1 | 1 | 1 | 1.1 | 3 | 1 | 1 | 1 |
| AUG 11 | @ HOU | L 3–7 | 6 | 0 | 1 | 0 | 0 | 0 | 1 | 1.2 | 1 | 0 | 0 | 1 |
| AUG 11 | @ HOU | L 3–7 | 6 | 0 | 1 | 0 | 0 | 0 | 1 | – | — | — | — | — |
| AUG 17 | vs – | L 2–7 | 7 | 2 | 2 | 0 | 1 | 0 | 1 | 1.2 | 2 | 2 | 0 | 1 |
| AUG 17 | vs – | L 2–7 | 7 | 2 | 2 | 0 | 0 | 0 | 1 | – | — | — | — | — |
| SEP 4 | @ BOS | L 2–5 | 10 | 0 | 3 | 0 | 0 | 0 | 1 | 3.0 | 3 | 0 | 0 | 1 |
| SEP 4 | @ BOS | L 2–5 | 10 | 0 | 3 | 0 | 0 | 0 | 1 | – | — | — | — | — |
| SEP 7 | @ HOU | L 3–4 | 7 | 2 | 3 | 1 | 2 | 0 | 0 | 1.2 | 3 | 2 | 0 | 0 |
| SEP 7 | @ HOU | L 3–4 | 7 | 2 | 3 | 1 | 0 | 0 | 0 | – | — | — | — | — |
| SEP 10 | vs TOR | L 7–11 | 10 | 0 | 1 | 0 | 0 | 0 | 0 | – | — | — | — | — |
| SEP 10 | vs TOR | L 7–11 | 10 | 0 | 1 | 0 | 0 | 0 | 0 | 3.0 | 1 | 0 | 0 | 0 |
| SEP 18 | @ TB | L 3–5 | 5 | 0 | 0 | 0 | 0 | 0 | 1 | – | — | — | — | — |
| SEP 18 | @ TB | L 3–5 | 5 | 0 | 0 | 0 | 0 | 0 | 1 | 1.2 | 0 | 0 | 0 | 1 |
| SEP 20 | vs LAA | L 2–5 | 7 | 0 | 2 | 0 | 2 | 0 | 0 | 2.1 | 2 | 0 | 0 | 0 |
| SEP 20 | vs LAA | L 2–5 | 7 | 0 | 2 | 0 | 0 | 0 | 0 | – | — | — | — | — |
| SEP 25 | vs CLE | L 4–10 | 10 | 2 | 3 | 0 | 0 | 0 | 3 | – | — | — | — | — |
| SEP 25 | vs CLE | L 4–10 | 10 | 2 | 3 | 0 | 2 | 0 | 3 | 2.0 | 3 | 1 | 0 | 3 |
| SEP 29 | @ SEA | L 9–10 | 3 | 2 | 3 | 0 | 2 | 0 | 0 | 0.0 | 3 | 1 | 0 | 0 |
| SEP 29 | @ SEA | L 9–10 | 3 | 2 | 3 | 0 | 0 | 0 | 0 | – | — | — | — | — |
| OCT 2 | @ LAA | L 3–8 | 12 | 1 | 5 | 0 | 1 | 1 | 1 | 3.0 | 5 | 1 | 1 | 1 |
| OCT 2 | @ LAA | L 3–8 | 12 | 1 | 5 | 0 | 0 | 1 | 1 | – | — | — | — | — |
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.