On 4 March 2011, Perez made his official debut for Nacional against Atlético Junior replacing Macnelly Torres in the 86th minute. Perez would eventually win the 2011 Torneo Apertura with Los Verdolagas making him the youngest player to win the honour at age 18. The following year, he was part of the Nacional squad that won both the Copa Colombia and the Superliga Colombiana, thus winning every top tier trophy in Colombia before age 20.
Following Colombia's exit from the 2013 FIFA U-20 World Cup, he was invited to Arsenal for a trial in August. He came on as a sub in the 67th minute for Arsenal's friendly against Manchester City wearing the number 32 jersey. Arsenal went on to win the game 3–1. Despite only playing for 26 minutes, Perez was praised for his natural abilities despite being so young. Arsene Wenger stated that he was impressed with Perez during the week trial and decided to add him in the game. Despite impressing both the London club and its fans, Perez was unable to get a work-permit because 'he had yet to play at least 75% of Colombia's international matches'. Thus, he was sent back to Nacional. Despite this, Wenger claimed that he would continue monitoring Perez until an opportunity to sign him comes.
On 27 July 2016, Pérez and Atlético Nacional conquered the 2016 Copa Libertadores, this was his first international title. Before leaving Nacional, Pérez had converted himself into one of the most decorated players in Atlético Nacional's history, achieving ten titles with the club.
In 2016, Perez signed with Argentinian club Boca Juniors.