At the 2012 Summer Olympics, he competed in the men's 100 metre breaststroke, finishing in 8th place in his semi-final and failing to reach the final.
[6] Lima previously held the South American record for the 4×100-metre medley relay in an Olympic-sized pool, with a time of 3:39.30, obtained on 9 September 2006 in Rio de Janeiro with Leonardo Guedes, Fernando Silva and César Cielo.
[26] In the final, he again exceeded himself, reaching his personal best time without a high-tech suit, at 59.65 seconds, winning a historic bronze medal for Brazil.
[31] At the 2015 Pan American Games in Toronto, Ontario, Canada, Lima won the gold medal in the 4×100-metre medley relay, by participating at heats.
[42] At the 2016 FINA World Swimming Championships (25 m) in Windsor, Ontario, Canada, he won a silver medal at the 4 × 50 metre mixed medley relay, along with Etiene Medeiros, Larissa Oliveira and Nicholas Santos.
[49] At the 2018 FINA World Swimming Championships (25 m) in Hangzhou, China, he won the bronze medal in the Men's 50 metre breaststroke, with a time of 25.80.
[50] He also won a bronze medal in the Men's 4 × 50 metre medley relay, along with Guilherme Guido, César Cielo and Nicholas Santos.
[57] At the 2019 Pan American Games held in Lima, Peru, he won a silver medal in the Men's 4 × 100 metre medley relay, by participating at heats.
[59] At the 2020 Summer Olympics in Tokyo, Lima almost broke the South American record in the Men's 100 metre breaststroke heats, with a time of 59.17.