Pérez firmò come free agent amatoriale il 10 ottobre 2006 con i Kansas City Royals e iniziò a giocare l'anno seguente nella classe Rookie della Minor League. Debuttò nella MLB il 10 agosto 2011, al Tropicana Field di St. Petersburg contro i Tampa Bay Rays. Il 19 dello stesso mese batté il suo primo fuoricampo. Dopo avere firmato un rinnovo triennale del valore di sette milioni di dollari nel 2012, si ruppe il menisco, facendo ritorno in campo solo nel mese di luglio.
Il 16 luglio 2013, Pérez fu il catcher di Mariano Rivera nell'ultimo All-Star Game di Rivera prima del ritiro. A fine anno fu premiato con il Guanto d'oro per le sue prestazioni in difesa come ricevitore.[1]
Nel 2014, Pérez giocò più gare come titolare di qualsiasi altro ricevitore della MLB, venendo convocato per il secondo All-Star Game. I Royals raggiunsero le World Series dove in gara 1 batté un fuoricampo su lancio di Madison Bumgarner in quello che si rivelò l'unico punto concesso dal lanciatore avversario nelle cinque gare e 36 inning a cui prese parte in quella serie. Kansas City uscì sconfitta alla settima partita.
Nel 2015, Pérez fu convocato per il terzo All-Star Game consecutivo. Nelle World Series 2015 contro i New York Mets, ebbe una media battuta di .364. Nella decisiva gara 5, con due eliminati nel nono inning per la sua squadra e i Mets in vantaggio, colpì la baseball che permise alla sua squadra la partita. La gara si protrasse fino al 12º inning fino a quando lo stesso batté un singolo e fu poi sostituito dal pinch runner Jarrod Dyson. Dyson finì col segnare, dando ai Royals il primo vantaggio della serata. Kansas City concluse l'inning sul 7-2, conquistando le World Series.[2][3] Pérez fu premiato unanimemente come MVP delle World Series.[4] Fu il primo catcher a vincere il premio dal 1992 e il secondo venezuelano in assoluto.[5] A fine anno fu premiato col terzo Guanto d'oro consecutivo.[6]
Nel 2016, Pérez guidò tutti i ricevitori dell'American League con 22 fuoricampo, vincendo il suo primo Silver Slugger Award. Il 2 luglio 2017 fu convocato come titolare per il quinto All-Star Game della carriera.[7]
Il 6 marzo 2019, è stato annunciato che Pérez dovrà sottoporsi alla Tommy John surgery al legamento ulnare del gomito destro e di conseguenza avrebbe perso l'intera stagione 2019.[8]