Tue 7/08 | Wed 7/09 | Thu 7/10 |
---|---|---|
Starting @KCR 7:40 PM EDT | @KCR 7:40 PM EDT | --- |
Positions
SP
2026 Earned Positions
SP
All Leagues
Average $6.24
Median $6.00
Ottoneu Classic (4x4)
Average $5.76
Median $6.00
All Leagues
Average $3.50
Median $3.00
Ottoneu Classic (4x4)
Average $3.60
Median $3.00
Roster%
98.47%
Change
7Day
1.23%
30Day
0.92%
2025 OPL Round 3
OPL Roster%
11.00%
OPL Average Salary
$5.18

July 2, 2025 11:15 PM : Keller (3-10) earned the win against the Cardinals on Wednesday, allowing five hits and one walk while striking out seven batters in seven scoreless innings.
Analysis: Keller got off to a shaky start after letting the first three batters he faced on base, but he was able to escape the first frame unscathed. He was lights out after giving up two more baserunners in the third, retiring the last 11 batters he faced before the bullpen came in to complete the shutout and extend the Pittsburgh pitching staff's scoreless streak to 31 innings, per ESPN. Keller has won each of his last two outings after failing to record a win across his previous 15 starts, and he now has a 3.64 ERA and 1.19 WHIP across 106.1 innings this season. He's slated to start against the Royals on the road next week.
MLB Stats
Pitching
Year | Team | G | GS | IP | K | HR9 | ERA | WHIP |
---|---|---|---|---|---|---|---|---|
2019 | PIT | 11 | 11 | 48.0 | 65 | 1.12500 | 7.12500 | 1.83333 |
2020 | PIT | 5 | 5 | 21.2 | 16 | 1.66154 | 2.90769 | 1.24615 |
2021 | PIT | 23 | 23 | 100.2 | 92 | 0.89404 | 6.16887 | 1.78808 |
2022 | PIT | 31 | 29 | 159.0 | 138 | 0.79245 | 3.90566 | 1.39623 |
2023 | PIT | 32 | 32 | 194.1 | 210 | 1.15780 | 4.21441 | 1.24528 |
2024 | PIT | 31 | 31 | 178.0 | 166 | 1.16292 | 4.24719 | 1.30337 |
2025 | PIT | 18 | 18 | 106.1 | 84 | 0.59248 | 3.63950 | 1.19436 |
MILB Stats
Pitching
Year | Team | G | GS | IP | K | HR9 | ERA | WHIP |
---|---|---|---|---|---|---|---|---|
2014 | PIT (R) | 9 | 8 | 27.1 | 29 | 0.00000 | 1.97561 | 1.17073 |
2015 | PIT (R) | 6 | 6 | 19.2 | 25 | 0.45763 | 5.49152 | 2.08475 |
2016 | PIT (A) | 23 | 23 | 124.1 | 131 | 0.28954 | 2.46113 | 0.91689 |
2016 | PIT (A+) | 1 | 1 | 6.0 | 7 | 0.00000 | 0.00000 | 1.00000 |
2017 | PIT (A-) | 2 | 2 | 4.0 | 7 | 0.00000 | 0.00000 | 0.75000 |
2017 | PIT (A+) | 15 | 15 | 77.1 | 64 | 0.58190 | 3.14224 | 0.99569 |
2017 | PIT (AA) | 6 | 6 | 34.2 | 45 | 0.51923 | 3.11538 | 1.03846 |
2018 | PIT (A+) | 1 | 1 | 4.0 | 2 | 0.00000 | 2.25000 | 2.00000 |
2018 | PIT (AA) | 14 | 14 | 86.0 | 76 | 0.73256 | 2.72093 | 1.11628 |
2018 | PIT (AAA) | 10 | 10 | 52.1 | 57 | 0.51592 | 4.81529 | 1.54777 |
2019 | PIT (AAA) | 19 | 19 | 103.2 | 123 | 0.78135 | 3.55949 | 1.24437 |
2021 | PIT (AAA) | 8 | 6 | 28.0 | 39 | 0.64286 | 3.21429 | 1.42857 |
Recent Games
Last 10 MLB Games
Date | Team | Opponent | GS | Win | Save | Hold | IP | TBF | R | ER | H | K | BB | HBP | HR |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Jul 2, 2025 | PIT | STL | 1 | 1 | 0 | 0 | 7.0 | 28 | 0 | 0 | 5 | 7 | 1 | 1 | 0 |
Jun 27, 2025 | PIT | NYM | 1 | 1 | 0 | 0 | 5.1 | 22 | 1 | 1 | 5 | 4 | 1 | 0 | 1 |
Jun 21, 2025 | PIT | TEX | 1 | 0 | 0 | 0 | 5.2 | 22 | 3 | 2 | 3 | 5 | 2 | 0 | 0 |
Jun 15, 2025 | PIT | @CHC | 1 | 0 | 0 | 0 | 6.0 | 23 | 2 | 2 | 3 | 3 | 2 | 0 | 0 |
Jun 10, 2025 | PIT | MIA | 1 | 0 | 0 | 0 | 6.0 | 26 | 3 | 3 | 8 | 4 | 0 | 0 | 1 |
Jun 5, 2025 | PIT | HOU | 1 | 0 | 0 | 0 | 6.1 | 28 | 6 | 6 | 8 | 5 | 1 | 0 | 1 |
May 30, 2025 | PIT | @SDP | 1 | 0 | 0 | 0 | 6.0 | 23 | 3 | 3 | 3 | 1 | 2 | 0 | 0 |
May 24, 2025 | PIT | MIL | 1 | 0 | 0 | 0 | 6.0 | 23 | 1 | 1 | 7 | 7 | 0 | 0 | 0 |
May 19, 2025 | PIT | CIN | 1 | 0 | 0 | 0 | 6.0 | 24 | 2 | 1 | 6 | 5 | 1 | 0 | 0 |
May 13, 2025 | PIT | @NYM | 1 | 0 | 0 | 0 | 7.0 | 27 | 2 | 2 | 5 | 8 | 1 | 0 | 1 |
Totals | 10 | 2 | 0 | 0 | 61.1 | 246 | 23 | 21 | 53 | 49 | 11 | 1 | 4 |
Avg Salary & Roster%
Last 30 days
2026 Position Eligibility Progress
To gain eligibility, a player must have 5 GS or 10 G at a position in the majors, or 20 G at a position in the minors.
Transaction History
Date | Transaction Type | Team | Salary |
---|---|---|---|
March 29, 2018 10:41 PM | add | Whirling Darvishes | $1 |
October 12, 2018 12:52 PM | increase | Whirling Darvishes | $2 |
October 4, 2019 4:45 PM | increase | Whirling Darvishes | $4 |
September 30, 2020 6:04 PM | increase | Whirling Darvishes | $6 |
October 3, 2021 9:22 PM | cut | Whirling Darvishes | $3 |
March 29, 2022 9:36 PM | add | Free City of Danzig π΅π± | $6 |
October 14, 2022 1:42 AM | increase | Free City of Danzig π΅π± | $8 |
November 15, 2022 12:53 AM | increase | Free City of Danzig π΅π± | $9 |
February 14, 2023 2:58 PM | cut | Free City of Danzig π΅π± | $0 |
March 19, 2023 3:45 PM | add | Free City of Danzig π΅π± | $1 |
October 12, 2023 11:30 AM | increase | Free City of Danzig π΅π± | $3 |
January 31, 2024 8:45 PM | cut | Free City of Danzig π΅π± | $0 |
March 5, 2024 9:33 PM | add | I Must Break You | $13 |
August 18, 2024 7:15 PM | cut | I Must Break You | $7 |
August 22, 2024 11:50 PM | add | One-Eighty by Sandberg | $10 |
October 10, 2024 1:05 AM | increase | One-Eighty by Sandberg | $12 |
December 16, 2024 10:52 AM | cut | One-Eighty by Sandberg | $0 |
March 12, 2025 9:10 PM | add | Dancinβ Homers | $6 |