Zapata maakte deel uit van de Colombiaanse selectie die in 2005 deelnam aan het wereldkampioenschap voetbal onder 20 in Nederland. Daar verloor de ploeg van bondscoach Eduardo Lara in de achtste finales van de latere kampioen Argentinië (2–1). Hij debuteerde in 2007 in het Colombiaans voetbalelftal tegen Paraguay, in een vriendschappelijke wedstrijd die met 1–0 werd gewonnen. In mei 2014 werd Zapata door bondscoach José Pékerman opgenomen in de selectie voor het wereldkampioenschap voetbal in Brazilië. Hij speelde mee in vier wedstrijden, waaronder de van Brazilië verloren kwartfinale.