| Outcome | No. | Date | Tournament | Surface | Partner | Opponent | Score | 
| Winner | 1. | 6 September 2010 | F1 Futures, Ecuador | Hard |  Sebastián Serrano |  Julio César Campozano 
  Diego Hidalgo | 6–7(2–7), 7–6(7–5), [10–7] | 
| Winner | 2. | 6 June 2011 | F6 Futures Puebla, Mexico | Hard |  Manuel Sánchez |  Daniel Garza 
  Gustavo Loza | 6–3, 6–3 | 
| Runner–up | 3. | 26 September 2011 | Futures F7 Barquisimeto, Venezuela | Hard |  Sebastián Serrano |  Maciek Sykut 
  Denis Zivkovic | 6–3, 6–2 | 
| Runner–up | 4. | 20 August 2011 | F2 Futures Medellín, Colombia | Clay |  Michael Quintero |  Ariel Behar 
  Duilio Beretta | 2–1, Retired. | 
| Winner | 5. | 4 February 2013 | F3 Futures Mexico City, Mexico | Hard |  Christopher Díaz Figueroa |  Roman Borvanov 
  Adam El Mihdawy | 7–5, 7–6 (8–6) | 
| Runner–up | 6. | 13 May 2013 | F1 FuturesSanta Tecla, El Salvador | Hard | .svg.png) Chris Letcher |  Marcelo Arévalo 
  Vahid Mirzadeh | 6–4, 6–3 | 
| Winner | 1. | 25 March 2013 | Pereira, Colombia (1) | Clay |  Eduardo Struvay |  Facundo Bagnis 
  Federico Delbonis | 3–6, 6–3,[10–7] | 
| Runner–up | 2. | 22 July 2013 | Medellín, Colombia | Clay |  Eduardo Struvay |  Emilio Gómez 
  Roman Borvanov | 6–3, 7–6 (7–4) | 
| Runner–up | 3. | 30 July 2013 | São Paulo, Brazil | Clay |  Marcelo Arévalo |  Fernando Romboli 
  Eduardo Schwank | 6–7(6–8), 6–4, [10–8] | 
| Winner | 4. | 13 October 2013 | São José do Rio Preto, Brazil | Clay |  Carlos Salamanca |  Marcelo Demoliner 
  João Souza | 6–4, 6–4 | 
| Runner–up | 5. | 10 November 2013 | Bogotá, Colombia | Clay |  Eduardo Struvay |  Juan Sebastián Cabal 
  Alejandro González | 6–3, 6–2 | 
| Runner–up | 6. | 6 January 2014 | São Paulo, Brazil | Hard |  Víctor Estrella |  Gero Kretschmer 
  Alexander Satschko | 4–6, 7–5, [10–6] | 
| Runner–up | 7. | 26 April 2014 | F2 Futures Pereira, Colombia | Clay |  Eduardo Struvay |  Alex Llompart 
  Mateo Nicolás Martínez | 6–3, 3–6, [6–10] | 
| Runner–up | 7. | 3 May 2014 | Cali, Colombia | Clay |  Eduardo Struvay |  Facundo Bagnis 
  Eduardo Schwank | 6–3, 6–3 | 
| Runner–up | 8. | 14 June 2014 | Fergana, Uzbekistan | Hard |  Stanislav Vovk |  Sergey Betov 
  Aliaksandr Bury | 6–7(6–8), 7–6(7–1), [10–3] | 
| Winner | 8. | 13 September 2014 | F5 Futures Ibagué, Colombia | Clay |  Dean O'Brien |  Fabiano de Paula 
  Marcelo Demoliner | 6–3, 5–7, [10–7] | 
| Winner | 9. | 27 September 2014 | Pereira, Colombia (2) | Clay (red) |  Eduardo Struvay |  Guido Pella 
  Horacio Zeballos | 3–6, 6–3, [11–9] | 
| Winner | 9. | 16 November 2014 | F7 Futures Manizales, Colombia | Clay |  Eduardo Struvay |  Mateo Nicolás Martínez 
  Facundo Mena | 7–5, 2–6, [10–5] | 
| Winner | 10. | 22 November 2014 | F8 Futures Popayán, Colombia | Hard |  Eduardo Struvay |  Felipe Mantilla 
  Federico Zeballos | 6–1, 3–6, [10–3] | 
| Runner–up | 10. | 31 January 2015 | Bucaramanga, Colombia | Clay (red) |  Eduardo Struvay |  Guillermo Durán 
  Andrés Molteni | 7–5, 6–7(8–10), [10–0] | 
| Winner | 11. | 27 July 2015 | Colombia F6 Medellín | Clay |  Eduardo Struvay |  Facundo Mena 
  Jorge Montero | 6–3, 7–5 | 
| Runner–up | 12. | 9 August 2015 | Colombia F7 Bucaramanga | Hard |  Juan Montes |  Facundo Mena 
  Jorge Montero | 2–6, 2–6 | 
| Winner | 11. | 11 October 2015 | Medellín, Colombia | Clay (red) |  Eduardo Struvay |  Alejandro Gómez 
  Felipe Mantilla | 7–6(8–6), 6–7(5–7), [10–4] | 
| Runner–up | 12. | 8 November 2015 | Bogotá, Colombia (2) | Clay |  Eduardo Struvay |  Julio Peralta 
  Horacio Zeballos | 3–6, 4–6 | 
| Runner–up | 13. | 23 May 2016 | Romania F4 Bacau | Clay |  Emilio Gómez |  Andreas Mies 
  Oscar Otte | 3–6, 3–6 | 
| Runner–up | 13. | 13 June 2016 | Perugia, Italy | Clay |  Fabricio Neis |  Andres Molteni 
  Rogerio Dutra Silva | 5–7, 3–6 | 
| Runner–up | 14. | 20 Jun 2016 | Spain F18 Palma del Rio | Hard |  Jaume Pla Malfeito |  Frederik Nielsen 
  David O'Hare | 4–6, 2–6 | 
| Runner–up | 14. | 18 July 2016 | Gimcheon, South Korea | Hard |  Ruben Gonzales |  Hsieh Cheng-peng 
  Yang Tsung-hua | w/o | 
| Runner–up | 15. | 12 September 2016 | Nanchang, China | Hard |  Ruben Gonzales |  Wu Di 
  Zhang Zhizhen | 6–7(4–7), 3–6 | 
| Winner | 15. | 2 Dec 2019 | M15 Santa Marta, Colombia | Hard |  Alejandro Gomez |  Alejandro Hoyos 
  Cayetano March | 6–3, 6–4 | 
| Runner–up | 16. | 6 January 2020 | Ann Arbor, United States | Hard |  Alejandro Gómez |  Robert Galloway 
  Hans Hach Verdugo | 6–4, 4–6, [8–10] | 
| Runner-up | 16. | 10 Feb 2020 | M25 Naples, United States | Clay |  Cristian Rodríguez |  Martin Damm 
  Toby Kodat | 6–4, 4–6, [7–10] | 
| Winner | 17. | 2 Mar 2020 | M25 Las Vegas, United States | Hard |  Junior A. Ore |  Nick Chappell 
  Reese Stalder | 7–6(7–1), 6–3 | 
| Winner | 17. | 1 May 2021 | Salinas, Ecuador | Hard |  Sergio Galdós |  Antonio Cayetano March 
  Thiago Agustín Tirante | w/o | 
| Winner | 18. | 17 May 2021 | M25 Pensacola, United States | Clay |  JC Aragone |  Alejandro Gómez 
  Junior A. Ore | 6–2, 4–6, [10–6] | 
| Winner | 18. | 6 June 2021 | Little Rock, United States | Hard |  Ernesto Escobedo |  Christopher Eubanks 
  Roberto Quiroz | 4–6, 6–3, [10–5] | 
| Runner–up | 19. | 12 June 2021 | Orlando, United States | Hard |  JC Aragone |  Christian Harrison 
 .svg.png) Peter Polansky | 2–6, 3–6 | 
| Runner-up | 19. | 19 June 2021 | M25 Tulsa, United States | Hard |  JC Aragone |  Strong Kirchheimer 
  Michail Pervolarakis | 1–6, 6–4, [7–10] | 
| Runner–up | 20. | 31 July 2021 | El Espinar, Spain | Hard |  JC Aragone |  Robert Galloway 
  Alex Lawson | 6–7(8–10), 4–6 | 
| Runner–up | 21. | 2 October 2021 | Lima, Peru | Clay |  Fernando Romboli |  Julian Lenz 
  Gerald Melzer | 6–7(4–7), 6–7(3–7) | 
| Runner–up | 22. | 23 October 2021 | Bogotá, Colombia | Clay |  Alejandro Gómez |  Nicolás Jarry 
  Roberto Quiroz | 7–6(7–4), 5–7, [4–10] | 
| Winner | 23. | 4 December 2021 | São Paulo, Brazil | Clay |  Alejandro Gómez |  Rafael Matos 
  Felipe Meligeni Alves | w/o | 
| Winner | 24. | 11 December 2021 | Florianópolis, Brazil | Clay |  Alejandro Gómez |  Martín Cuevas 
  Rafael Matos | 6–3, 6–3 | 
| Runner–up | 25. | 26 March 2022 | Santa Cruz de la Sierra, Bolivia | Clay |  Miguel Ángel Reyes-Varela |  Jesper de Jong 
  Bart Stevens | 4–6, 6–3, [6–10] | 
| Winner | 26. | 16 April 2022 | San Luis Potosí, Mexico | Clay |  Miguel Ángel Reyes-Varela |  Luis David Martínez 
  Felipe Meligeni Alves | 7–6(13–11), 6–2 | 
| Winner | 27. | 23 April 2022 | Aguascalientes, Mexico | Clay |  Miguel Ángel Reyes-Varela | .svg.png) Gonçalo Oliveira 
  Divij Sharan | 7–5, 6–3 | 
| Runner-up | 28. | 8 May 2022 | Aix-en-Provence, France | Clay |  Miguel Ángel Reyes-Varela |  Titouan Droguet 
  Kyrian Jacquet | 2–6, 3–6 | 
| Winner | 29. | 14 May 2022 | Heilbronn, Germany | Clay |  Miguel Ángel Reyes-Varela |  Jelle Sels 
  Bart Stevens | 7–5, 6–3 | 
| Winner | 30. | 21 May 2022 | Tunis, Tunisia | Clay |  Miguel Ángel Reyes-Varela |  Alexander Erler 
  Lucas Miedler | 6–7(3–7), 6–3, [11–9] | 
| Winner | 31. | 4 June 2022 | Forlì, Italy | Clay |  Miguel Ángel Reyes-Varela |  Sadio Doumbia 
  Fabien Reboul | 7–5, 4–6, [10–4] | 
| Runner-up | 32. | 16 July 2022 | Amersfoort, Netherlands | Clay |  Miguel Ángel Reyes-Varela |  Robin Haase 
  Sem Verbeek | 4–6, 6–3, [7–10] | 
| Runner-up | 33. | 20 August 2022 | Santo Domingo, Dominican Republic | Clay |  Miguel Ángel Reyes-Varela |  Ruben Gonzales 
  Reese Stalder | 6–7(5–7), 3–6 | 
| Winner | 34. | 5 October 2022 | Gwangju, South Korea | Hard |  Miguel Ángel Reyes-Varela |  Yuki Bhambri 
  Saketh Myneni | 2–6, 6–3, [10–6] | 
| Winner | 35. | 29 April 2023 | Rome, Italy | Clay | .svg.png) Francisco Cabral |  Andrey Golubev 
  Denys Molchanov | 6–3, 6–1 | 
| Winner | 36. | 14 May 2023 | Francavilla al Mare, Italy | Clay |  Ariel Behar |  Sander Arends 
  Petros Tsitsipas | 7–6(7–1), 3–6, [10–6] | 
| Winner | 37. | Jul 2023 | Iași, Romania | Clay |  Aisam-Ul-Haq Qureshi |  Gabi Adrian Boitan 
  Bogdan Pavel | 6–3, 6–3 | 
| Runner-up | 38. | Nov 2023 | Lima, Peru | Clay |  Orlando Luz |  Mateus Alves 
  Eduardo Ribeiro | 6–3, 5–7, [8–10] | 
| Winner | 39. | Nov 2023 | Brasilia, Brazil | Clay |  André Göransson |  Marcelo Demoliner 
  Rafael Matos | 7–6(7–3), 4–6, [11–9] | 
| Runner-up | 40. | Jun 2024 | Surbiton, United Kingdom | Grass |  Diego Hidalgo |  Julian Cash 
  Robert Galloway | 4–6, 4–6 | 
| Winner | 41. | Oct 2024 | Roanne, France
 | Hard (i) |  David Pel | .svg.png) Jakub Paul 
  Matěj Vocel | 4–6, 6–3, [10–6] | 
| Winner | 42. | Oct 2024 | Brest, France | Hard (i) |  Skander Mansouri | .svg.png) Jakub Paul 
  Matěj Vocel | 7–5, 4–6, [10–5] | 
| Winner | 43. | Nov 2024 | Bratislava, Slovakia | Hard (i) |  Julian Cash |  André Göransson 
  Sem Verbeek | 6–3, 6–4 |