Pérez was drafted by the Cleveland Indians in the 33rd round of the 2008 Major League Baseball draft. He made his professional debut in 2009 with the AZL Indians, and also played for the Low-A Mahoning Valley Scrappers and the Single-A Lake County Captains, and slashed .313/.411/.431 in 55 games between the three teams. In 2010, Pérez returned to Lake County, where he hit .217/.360/.339 with 6 home runs and 38 RBIs. The following season, Pérez played for the High-A Kinston Indians, posting a .225/.365/.310 slash line with 2 home runs and 30 RBIs.
In 2012, Pérez played for the Double-A Akron Aeros, logging a .212/.336/.293 slash line with 1 home run and 31 RBIs in 95 games.[3] Pérez played while suffering from bell's palsy during the 2013 season while playing for Akron and the Triple-A Columbus Clippers.[1][4] Despite the condition, Pérez managed to play in 99 games and hit 2 home runs and 34 RBIs to pair with a .200/.337/.286 slash line.
Cleveland Indians
Debut and early career (2014–2015)
Pérez was called up to the majors for the first time on July 8, 2014.[5] He had his first major league hit two days later against the New York Yankees.[6]
During part of the 2015 season, he became the primary catcher while Yan Gomes was on the disabled list.[7][8][9] Toward the second half of the 2016 season, Pérez became the primary catcher, once again, in Gomes' spot.
World Series appearance (2016)
In Pérez's first postseason at-bat of his major league career, he hit an opposite-field home run off the Boston Red Sox'sRick Porcello, helping the Indians to a 5–4 victory.[10] In the first game of the 2016 World Series, Pérez hit two home runs in the 6–0 Indians win.[11][12] Throughout the 2016 postseason, Pérez had the second-most RBIs (7), walks (7), and home runs (3) of any Indians player.[13]
2017–2018
On April 2, 2017, the Indians signed Pérez to a four-year contract worth $9 million, with club options for the 2021 and 2022 season worth an additional $12.5 million.[14] In 2017 he batted .207/.291/.373.
In 2018, Pérez batted .168/.256/.263. He had the lowest batting average against right-handers among all MLB hitters (140 or more plate appearances), at .150.[15] Following the season, the Indians traded Gomes, opening an opportunity for Pérez to assume regular catching duties.[16]
Multiple defensive awards (2019)
In 2019, Pérez established a number of career highs offensively, batting .239/.321/.452, while also being recognized for his defensive work. He revealed that he played through bone spurs in an ankle from April through the end of the season, noting that was "telling myself don’t quit. You waited for so long to play every day and now that you have the opportunity you cannot go down like this.”[17] His batting average, SLG, and OPS (.774) were each career highs; he played in a career-high 119 games, and collected career-highs in each of hits (93), home runs (24), RBIs (63), walks (45), strikeouts (127), and total bases (176).[18]
He underwent arthroscopic surgery on October 17, 2019, to remove the bone spurs in his right ankle.[24]
2020
With the 2020 Cleveland Indians, Pérez batted .165 with one home run and five RBIs in 32 games.[25] He won the Fielding Bible and Gold Glove Awards for catching for the second year in a row.[26][27] On October 30, 2020, the Indians exercised their club option on Pérez's contract for the 2021 season.[28]
2021
On April 14, Chicago White Sox pitcher Carlos Rodón had a perfect game going by retiring the first 25 batters he faced. Perez was up to bat. On an 0–2 count, Rodón hit Pérez in the foot with a slider to break up the perfect game. Replays appeared to show that Perez made little effort in trying to avoid the pitch from hitting him. Rodón then retired the next two batters he faced to complete the no-hitter. In his post-game press conference, Pérez apologized for breaking up the perfect game saying, "To be honest, I really didn't think he had a perfect game until I got hit. I thought he had a no-hitter going on, but I really didn't think he had a perfect game. So it's hard, man. I'm not gonna try to stand there and get hit you know?"[29] On May 23, Pérez was placed on the 60-day injured list as he continued to recovery from finger surgery.[30] He was activated on July 3, and took the roster spot of René Rivera, who was designated for assignment.[31]
The Indians declined their club option on Pérez's contract for the 2022 season on November 5, 2021, making Pérez a free agent.[32]
Pittsburgh Pirates
On December 1, 2021, Pérez signed a one-year contract with the Pittsburgh Pirates.[33] On May 7, 2022, Pérez was removed from a game against the Cincinnati Reds with left hamstring discomfort, later revealed to be a strain.[34] On May 18, it was announced that Pérez would be undergoing season-ending surgery on his left hamstring.[35] In 21 games for the Pirates in 2022, he batted .233/.333/.367 with 2 home runs and 8 RBIs.
San Francisco Giants
On January 29, 2023, Pérez agreed to a contract with the San Francisco Giants. On February 4, the deal was revealed to be a minor league contract and was made official.[36] On March 25, it was announced that Pérez had made the Opening Day roster and would be selected to the 40-man roster.[37]
Pérez began the season as the Giants’ primary catcher, but was placed on the 60-day injured list on April 8 after suffering a right rotator cuff strain.[38] He underwent season-ending surgery to repair his rotator cuff on April 13.[39]
Boston Red Sox
On December 13, 2023, Pérez signed a minor league contract with the Boston Red Sox.[40] He did not make an appearance for the organization before he was released on July 2, 2024.[41]