Single...Is a 2013 graduate of Flowery Branch (Ga.) High School … was named Georgia Region-8 5A All-Region First Team and Section Team Pitcher of the Year following his senior season...Has served as a spokesperson for the "Strike Out Slavery" and "Veronica’s Voice" initiatives … also did an advocacy video for "The Big Search" to combat human trafficking.
2023
Was limited to 11 appearances (nine starts) with Kansas City, and missed 99 games due to right shoulder impingement syndrome and thoracic outlet syndrome...Opened the season in the Royals starting rotation before being moved to the bullpen for his final two outings of the season...Issued 45 walks over 45.1 IP … became the ninth pitcher in MLB history, to record 46.0 IP or less and have 45-plus walks...Received a ND in back-to-back starts from 4/24-29, snapping a streak of starts with a decision at 19 dating back to 5/21/22 … marked the longest run of decisions by a Royals starter since 21 by Tim Belcher from 9/22/96-6/20/97, and the longest in MLB since 20 by Jacob deGrom from 5/19-9/5/17...Was placed on the injured list on 5/19 with right shoulder impingement syndrome … made 17 rehab appearances with three affiliates and was reinstated from the IL on 9/9...Made two relief appearances before being placed back on the IL on 9/19 with thoracic outlet syndrome...Recorded his 500th career strikeout on 5/5 vs. Oakland.
2022
Keller began the 2022 season with a 1.74 ERA (6 ER in 31.0 IP) through his first five starts and was named Royals Pitcher of the Month for April…but over his next 17 starts, he pitched to a 6.01 ERA (61 ER in 91.1 IP), and was moved to the bullpen in mid-August...After being charged with five runs in his first relief appearance on Aug. 18 at Tampa Bay, Keller recorded a 3.78 ERA (7 ER in 16.2 IP) over his last 12 outings...Keller earned his first career save on Sept. 22 vs. Minnesota, securing a series sweep vs. the Twins...He was charged with a career-high-tying 14 losses, despite ranking second on the team with 11 quality starts...The Royals supported him with 35 runs in his 22 starts, including two runs or fewer in 17 of his 22 starts, one run or fewer 12 times and no runs seven times…his 2.57 run support average was the lowest in the Majors (min. 20 starts) and was the lowest mark by any Royal since at least 1974...Keller earned a decision in 15 consecutive starts from May 21-Aug. 13, 2022—in which he went 5-10— the longest run of starts with a decision by a Royal since Josè Lima’s 15-start stretch in 2005…this streak of starts remains active into 2023, although he ended last season with 13 relief appearances.
2021
Matched Mike Minor for the team lead with eight wins, despite being placed on the Injured List with a right lat strain on Aug. 27, which forced him to miss the Royals final 35 games...his eight wins fell one shy of his career-high of nine during his 2018 rookie season, and his 120 strikeouts in 133.2 innings (8.1 K/9) were just two shy of his career-high of 122 strikeouts in 165.1 innings (6.6 K/9) during his 2019 season...Made his second Opening Day start in 2021 but retired just four of the 14 batters he faced to mark the shortest Opening Day start in franchise history...the first seven batters reached vs. Keller in Texas’ five-run first inning and he was charged with six runs in 1.1 innings, after allowing just one earned run in 33.0 innings—for a 0.27 ERA—in his five home starts in 2020...after averaging more than 6.0 innings/start in his nine starts in 2020, Keller averaged just 3.2 innings/start in his first six starts of 2021, completing 5.0 innings just twice, while posting an 8.06 ERA (20 ER in 22.1 IP)...Beginning with his May 7 start vs. Chicago, he completed at least 5.0 innings in 18 of his remaining 20 starts, including 15 consecutive starts from May 7-July 27...After posting a 12.00 ERA (16 ER in 12.0 IP) and .386 opponents’ average (22-for-57) through his first four starts of 2021, he pitched to a 3.71 ERA (18 ER in 43.2 IP) over his next eight starts, holding opponents to no more than three earned runs in each of those outings...over his next five starts from June 9-29, he went 0-4 with a 9.24 ERA (26 ER in 25.1 IP), but over his final nine starts in July and August, he recorded a 3.42 ERA (20 ER in 52.2 IP) and .244 opponents’ average (48-for-197)...The Royals went 3-4 in Keller’s first seven starts, before winning five straight from May 14 (Game 1)-June 4...they went 3-11 over his final 14 starts, including seven straight losses from June 9-July 9...overall, the Royals went 11-15 in his 26 starts...Had eight strikeouts in back-to-back starts on Aug. 14 vs. St. Louis and Aug. 20 at the Cubs, a mark he matched or topped just four times in his previous 80 career starts, and none in back-to-back outings...he recorded at least one strikeout per inning pitched in six of his final nine starts of the season, a stretch in which he had a 9.1 K/9 (53 K in 52.2 IP)...this was a big improvement on his first 17 starts of the season, in which he recorded a strikeout per inning six times, and posted a 7.4 K/9 (67 K in 81.0 IP)...he recorded a K/9 in 2021 of 8.1 (120 K in 133.2 IP), after posting K/9 rates of 6.1 in 2018, 6.6 in 2019 and 5.8 in 2020...Pitched into the seventh inning in five of eight starts from July 4-Aug. 20, a stretch in which he went 2-4 despite a 3.35 ERA (18 ER in 48.1 IP)...during that eight-start stretch, he averaged 6.0 innings/start and 9.3 K/9 (50 K in 48.1 IP)...in his previous 17 starts, he had a 6.67 ERA (60 ER in 81.0 IP) and averaged 4.2 innings/start with a 7.4 K/9 (67 K in 81.0 IP)...the Royals scored two runs or fewer in support of Keller in five of those eight starts from July 4-Aug. 20, a stretch in which his 2.98 run support average (16 R in 48.1 IP) was third-lowest in the American League...Has a career 52.1% groundball rate, which ranks third in the Majors since the start of 2018 (min. 475.0 IP), trailing Dallas Keuchel (55.8%) and Luis Castillo (53.9%)...likewise, his lifetime HR/9 rate of 0.77 (42 HR in 494.0 IP) ranks third in the Majors since 2018, trailing Jacob deGrom (0.65) and Zack Wheeler (0.75)...those trends were reversed in 2021, however, as he posted a career-low 48.6% groundball rate and a career-high HR/9 rate, allowing 18 home runs in 133.2 innings (1.21 HR/9), after allowing just two home runs in 54.2 innings (0.33 HR/9) in 2020...of the 20 home runs he’s allowed over the last two seasons (2020-21), 11 of them (55.0%) have been hit by left-handed batters, including three by switch hitters...He induced 14 double plays in 26 starts in 2021 and has an American League-most 62 since the start of 2018, five more than any other pitcher...In 26 starts in 2021, Brad allowed 23 earned runs in the first inning, which accounted for 28.8% of the 80 earned runs he allowed for the entire season...he did, however, record a scoreless first frame in seven of his last nine starts, but his 23 earned runs in the first inning led the American League and were eight more than the 15 earned runs he allowed in 54.2 innings pitched in all of 2020...of the 89 runs charged to his line, nine of them (10.1%) were unearned, matching the seventh-highest total in the American League.
2020
Named the Bruce Rice Pitcher of the Year by the Kansas City Chapter of the Baseball Writers Association of America (BBWAA) for the second time in three seasons...Led the Royals with five wins in nine starts, despite missing the club’s first 13 games on the Injured List (July 14-Aug. 6)...Ranked fifth in the American League (min. 50.0 IP) with a 2.47 ERA (15 ER in 54.2 IP), trailing only Shane Bieber (1.63), Dallas Keuchel (1.99), Zach Plesac (2.28) and Chris Bassitt (2.29)…his ERA was tops by any Royals pitcher (min. 9 starts) since Zack Greinke’s 2.16 ERA during his 2009 Cy Young Award-winning season...Five of his nine starts were scoreless, including his first three of the season (Aug. 6-19)…became just the second Royals pitcher to win each of his first three starts and not allow a run, joining Greinke in 2009…he is one of six Major League pitchers to pull off the feat since the mound was lowered in 1969 and first since Jordan Zimmermann in 2016...Did not allow a run over his first 17.2 innings of the season, marking the fourth-longest streak to open a season in club history, behind Greinke (24.0 IP) in 2009, Wade Davis (22.0 IP) in 2015 and Danny Jackson 18.0 IP) in 1985...Became the fifth pitcher in Royals history to record three-straight scoreless starts and win each of them, joining Greinke (April 8-18, 2009), David Cone (May 11-22, 1994), Kevin Appier (Sept. 3-18, 1993) and Bret Saberhagen (Sept. 17-26, 1989)... Surrendered a total of eight hits in his first three outings, for a .140 opponents average (8-for-57)… dating back to 2019, he allowed no more than three hits in six consecutive starts (Aug. 14, 2019-Aug. 19, 2020), for the longest such streak in Royals history, in which he held opponents to a .162 average (17-for-105)...Went 4-0 with a 0.27 ERA (1 ER in 33.0 IP) in his five home starts – in which KC went 5-0 – the best singleseason home ERA in the Live Ball Era (since 1920, min. 5 home starts)…the lone run came on an RBI double by Franmil Reyes in his Aug. 31 start vs. Cleveland...Tossed his first career shutout on Sept. 13, an 11-0 victory vs. Pittsburgh…allowed five hits and one walk, recording two strikeouts…marked the only individual shutout by a Royals pitcher in 2020 and first vs. a National League team since James Shields blanked the Giants on Aug. 9, 2014...One of five Major League pitchers to record a shutout in 2020, joining Kyle Gibson (Sept. 16), Alec Mills (Sept. 13 no-hitter), Lucas Giolitto (Aug. 25 no-hitter) and Kyle Hendricks (July 24)...Allowed just two home runs, both of which came off the bat of Daniel Vogelbach on Sept. 20 in Milwaukee… the first-inning home run he allowed snapped a streak of 57.0 homerless innings, which was the secondlongest active streak in the Majors at the time (Elias), behind only Max Fried (68.1 IP)…marked just his fourth career start in which he’s allowed multiple home runs and just the second time to the same player (also Justin Smoak, June 30, 2019)...The two home runs by Daniel Vogelbach marked half of the extra-base hits he allowed (4) in 2020…his .244 opponents’ slugging percentage tied for seventhlowest in Major League history (min. 9 starts), and was the lowest since Nolan Ryan held opponents to a .216 SLG with Houston in 1981...Six of his nine starts – including each of his first four – came against National League opponents, matching Yordano Ventura (2015) and James Shields (2014) for the most Interleague starts by a Royals pitcher in one season...Went 4-2 with a 2.52 ERA (10 ER in 35.2 IP) in his Interleague starts, with all 10 runs coming in two starts: Aug. 24 at St. Louis (5 R in 4.0 IP) and Sept. 20 at Milwaukee (5 R in 5.0 IP), while his other four starts were scoreless, in which he allowed 13 hits in 26.2 innings…his four Interleague wins tied for most in the Majors with four other pitchers.
2019
Made 28 starts in his second season with the Royals, setting career highs in starts (28), innings (165.1), strikeouts (122) and losses (14) ... Did not pitch in the team's last 30 games, after allowing five runs in a season-low 1.1 innings on Aug. 26 vs. Oakland ... His 14 losses matched teammate Jakob Junis (among others) for third most in the Majors ... His 3.81 run support average (70 runs in 165.1 IP) was the second lowest among qualifying Major League starters, trailing only Miami's Sandy Alcantara (3.05) ... Held opponents to a .216 average (27-for-125) with runners in scoring position, fifth best among qualified starters in the American League…it was the lowest mark by a Royal since Edinson Volquez's .202 average in 2015 ... Allowed just 15 home runs in 165.1 innings (0.82 HR/9), the third-lowest rate in the Majors, higher than only Charlie Morton (0.69) and Mike Soroka (0.72) ... Induced 22 ground-ball double plays, which tied for sixth most in the Majors, despite making only 28 starts and not appearing in a game after Aug. 26 ... His 51.2% groundball rate ranked second highest in the American League, trailing only Brett Anderson (55.5%) ... Earned Royals Pitcher of the Month honors in July after leading the team with three wins and a 2.12 ERA (8 ER in 34.0 IP) in five starts, the best ERA in any calendar month of his career (20.0 IP)…he's won four of the last 10 Royals Pitcher of the Month Awards ... Tossed 7.0 scoreless innings and allowed just two hits in a 5-3 win vs. the White Sox on Opening Day, becoming the youngest in the Majors (at 23 years, 244 days) to win on Opening Day since José Fernandez (21.243) in 2014, and the youngest in the American League since Félix Hernández (22.363) in 2009…became the first Royals starter of any age to win on Opening Day since Edinson Volquez in 2016 ... He was the youngest in the Majors to record 7.0 innings and allow two hits or fewer on Opening Day since Bob Feller's no-hitter (21 years, 165 days) at the White Sox in 1940 ... Recorded at least 6.0 innings in each of his first four starts, which extended his streak (including to end 2018) at nine straight overall, which was the longest active streak in the Majors when it was snapped on April 17 in Chicago, because he was ejected in the sixth inning ... Had a career-high 10 strikeouts on April 12 vs. Cleveland, becoming the youngest Royal (23 years, 259 days) with a double-digit strikeout game since the late Yordano Ventura (22 years, 336 days) on May 5, 2014 at San Diego ... Allowed a home run to Cleveland's Tyler Naquin on April 12, his first since Aug. 31, 2018 to Baltimore's Cedric Mullins, snapping a streak of 54.0 consecutive homerless innings, which was the longest active streak in the Majors at the time, according to Elias ... Also had a homerless streak of 42.0 innings from April 22 to June 8, which ended when he surrendered a two-run shot to Chicago's Eloy Jiménez in the second inning ... Issued a Majors-most 41 walks in 65.0 innings (5.68 BB/9) in his first 11 starts through May 22, but walked just 29 batters in 110.1 innings (2.60 BB/9) in his last 17 starts from May 28 through season's end ... Matched a career high with 8.0 innings of one-run ball in a 4-1 win on July 13 vs. Detroit, in which he threw 82 of 104 pitches for strikes (78.8%)…it was the highest strike rate by a Royal (min. 100 pitches) since Baseball Reference pitch count data is available (1988)…only two pitchers have topped that strike rate in a start (min. 100 pitches) in the last three seasons (since 2017): Max Scherzer (79.0%) on 100 pitches) on May 31, 2017 and Kevin Gausman (80.4% on 107 pitches) on May 11, 2018 ... On July 24 in Atlanta, which is less than 50 miles from his hometown of Flowery Branch, Ga., he recorded 7.0 shutout innings in a 2-0 win vs. the Braves and recorded his first career RBI, becoming the first American League pitcher to record an RBI in his home state since Nate Karns (born in Franklin, Pa.) had a solo homer on July 21, 2015 in Philadelphia.
2018
Made the Opening Day roster for the first time, after being acquired on Dec. 14 from Cincinnati, who selected him from Arizona in the Rule 5 Draft...His 3.08 ERA (48 ER in 140.1 IP) was eighth best in the American League (min. 140 IP) and first among AL rookies (min. 100 IP)... Zack Greinke (20) in 2004...Since 1977, only one pitcher in the American League has recorded more innings and a lower ERA in his first season: Michael Fulmer (3.06 ERA in 159 IP), in 2016, when he won AL Rookie of the Year...Of the 141 pitchers selected in the Major League phase of the Rule 5 Draft since its current system was adopted in 2006, only four have made at least 10 starts in the following season, including: Dylan Covey (12, White Sox in 2017), Luis Perdomo (20, Padres, 2016), Carlos Monasterios (13, Dodgers, 2010) and Brad Keller (20)… among the group, Keller's 3.08 ERA was by far the best, ahead of Monasterios (4.38)... Allowed just seven HR in 140.1 innings to mark the best HR/9 (0.45) in the American League (min. 100 IP) and third best in the Majors behind Carlos Martínez (0.38) and Jacob deGrom (0.41)...He's the first Royal to surrender seven HR or fewer in at least 140.1 innings since Luis Aquino (6 HR in 141.1 IP) in 1989...He yielded just one HR in his first 29 outings (8 starts) and had a streak of 63.1 consecutive homerless innings from April 25-July 22, which was the longest streak in the Majors at the time it was snapped, according to Elias...Ended the season with a streak of 34 consecutive homerless innings, the sixth-longest active streak in the American League...Made his first 21 appearances in relief, in which he posted a 2.01 ERA (5 ER in 22.1 IP) and .207 opponents' average (17-for-82), including his Major League debut on Opening Day vs. the White Sox, a 1-2-3 sixth inning on 13 pitches...Earned his first win on May 11 at Cleveland, recording 3.0 scoreless innings in the sixth, seventh and eighth as the Royals overcame a 9-4 deficit to win 10-9...Made his first start on May 30 vs. Minnesota (1 ER in 3 IP), a no-decision in an 11-8 Royals win...In 20 starts, he went 8-5 with a 3.28 ERA (43 ER in 118 IP), including eight starts (40%) in which he went at least 7.0 innings...Earned his first career win as a starter in a 2-0 victory vs. the Angels on June 25 (0 ER on 2 H in 7 IP), in which - at 22 years, 333 days - he became the youngest Royal to win a start since the late Yordano Ventura (22.326) on April 25, 2014…also became the youngest to throw 7.0 shutout innings in the American League since Chicago's Carlos Rodón (22.244) on Aug. 11, 2015, and the second Royal with a start of at least 7.0 shutout innings and two hits or fewer within his first five career starts, joining Mel Stottlemeyer Jr. on Sept. 5, 1990... Named Royals Pitcher of the Month for June, in which he went 1-1 with a 2.38 ERA (6 ER in 22.2 IP) in four starts... Earned his first career complete game (8 IP) in a 1-0 loss on July 1 at Seattle…at 22 years, 339 days, he became the youngest Royal to record a complete game of at least 8.0 innings since Zack Greinke (21 years, 201 days) in a 3-1 loss at Toronto on May 10, 2005...Named Royals Pitcher of the Month for August, in which he went 3-1 with a 2.89 ERA (12 ER in 37.1 IP), leading the team in wins, ERA and innings…held opponents to two runs or fewer in five of six starts...Named Royals Pitcher of the Month for September, going 2-1 with a 2.33 ERA (7 ER in 27 IP) in four starts, three of which he held opponents to one earned run in 7.0 innings...He's the first rookie to earn Royals Pitcher of the Month honors three times in one season since Brian Bannister won it in June, July and August of 2007...His groundball rate (56.0%) ranked second in the American League (min. 100 IP), trailing only Marcus Stroman (63.3%)...Induced 18 grounded into double plays, tied for fifth most in the American League, and second most by a Royal in his first Major League season, trailing only Rich Gale's 22 GIDP in 1978.
2017
Spent the entire season at Jacksonville (AA), in the Arizona organization…went 10-9 with a 4.68 ERA (68 ER in 130.2 IP) in 26 starts ... Posted a 7-3 record and a 2.90 ERA (25 ER in 77.2 IP) in his 14 home starts, compared to a 3-6 mark and a 7.30 ERA (43 ER in 53.0 IP) on the road ... Opened the year, going 2-0 with a 1.31 ERA (3 ER in 20.2 IP) with 14 strikeouts over his first four starts…however, he went 2-6 with a 8.92 mark (36 ER in 36.1 IP) over his next 10 outings (May 8-June 28) ... Entered the year as the No. 7 prospect in the Diamondbacks' organization according to MLB.com…ranked eighth according to Baseball America.
2016
Spent the 2016 season with Visalia (A) in the California League…tied for seventh in the league in wins (9), tied for eighth in starts (24) and tied for fifth in WHIP (1.28) ... Named California League Pitcher of the Week (July 18- 24)…went 2-0 with a 0.71 ERA (1 ER in 12.2 IP) with two walks and 13 strikeouts in his two starts ... Entered 2016 season as the No. 13 prospect in the Diamondbacks' organization, according to MLB.com.
2015
Pitched a career-high 142.0 innings with Kane County (A) in 2015…tied for third in the Midwest League with a 2.60 ERA (41 ER in 142.0 IP), while he tied for sixth in WHIP (1.16) and 10th in innings.
2014
In 2014, opened the year with an 0-4 mark and a 7.53 ERA (24 ER in 28.2 IP) in his first seven starts with Missoula (Rookie)…went 6-0 with a 2.13 ERA (10 ER in 42.1 IP) over his final eight outings at three different levels.