Villanueva made his debut in the main category of Spanish football on 16 October 2016, starting in a 1–1 away draw against Deportivo Alavés. The following 10 August he renewed his contract until 2020, and was immediately loaned to Segunda División club Cádiz CF for one year.
On 20 January 2016, Villanueva was called up to the Venezuela national team for a friendly against Costa Rica. He made his full international debut on 2 February, starting in the 1–0 win in Barinas.
Villanueva scored his first international goal on 24 March 2016, netting the second in a 2–2 away draw against Peru following an assist from Málaga teammate Juanpi. He was named in the Vinotinto's squad for the year's Copa América Centenario in the United States, but did not play.