| Result  |  W–L  |     Date     |  Tournament  |  Tier  |  Surface  |  Partner  |  Opponents  |  Score  | 
  | Loss  |  0–1  |  Sep 2010  |  Spain F34, Madrid  |  Futures  |  Hard  |    Iván Arenas-Gualda  |    Óscar Burrieza López
   Javier Martí  |  0–6, 3–6  | 
  | Loss  |  0–2  |  Oct 2010  |  Spain F36, Córdoba  |  Futures  |  Hard  |    Iván Arenas-Gualda  |    João Sousa
   Israel Vior-Díaz  |  6–7(6–8), 6–4, [3–10]  | 
  | Loss  |  0–3  |  Mar 2011  |  Spain F9, Barcelona  |  Futures  |  Clay  |    Arnau Dachs  |    Miguel Ángel López Jaén
   Gabriel Trujillo Soler  |  2–6, 0–6  | 
  | Win  |  1–3  |  May 2011  |  Morocco F3, Agadir  |  Futures  |  Clay  |    Mark Vervoort  |    Gonçalo Pereira
   Matthieu Viérin  |  6–3, 6–1  | 
  | Win  |  2–3  |  Jul 2011  |  Spain F25, Gandia  |  Futures  |  Clay  |    Iván Arenas-Gualda  |    Massimo Capone
   Giulio Torroni  |  6–4, 7–6(7–0)  | 
  | Win  |  3–3  |  Jul 2011  |  Spain F26, Dénia  |  Futures  |  Clay  |    Iván Arenas-Gualda  |    Guillermo Gómez Díaz
   Michael Suleau  |  6–2, 6–4  | 
  | Loss  |  3–4  |  Aug 2011  |  Spain F27, Xàtiva  |  Futures  |  Clay  |    Iván Arenas-Gualda  |    Francesco Aldi
   Marco Cecchinato  |  4–6, 3–6  | 
  | Loss  |  3–5  |  Aug 2011  |  Spain F28, Irun  |  Futures  |  Clay  |    Iván Arenas-Gualda  |    Roberto Carballés Baena
   Pablo Carreño Busta  |  4–6, 2–6  | 
  | Win  |  4–5  |  Feb 2012  |  France F3, Feucherolles  |  Futures  |  Hard (i)  |    Iván Arenas-Gualda  |    Marcin Gawron
   Andriej Kapaś  |  5–7, 7–6(7–2), [10–8]  | 
  | Win  |  5–5  |  Apr 2012  |  Qatar F1, Doha  |  Futures  |  Hard  |    Jordi Samper Montaña  |    Alexei Filenkov
   Denys Mylokostov  |  6–4, 7–5  | 
  | Win  |  6–5  |  Apr 2012  |  Spain F8, Les Franqueses del Vallès  |  Futures  |  Hard  |    Iván Arenas-Gualda  |    Guillermo Gómez Díaz
   Andoni Vivanco-Guzmán  |  7–6(7–3), 6–4  | 
  | Win  |  7–5  |  May 2012  |  Spain F13, Getxo  |  Futures  |  Clay  |    Iván Arenas-Gualda  |    Austin Krajicek
   Rhyne Williams  |  6–7(5–7), 7–6(7–4), [10–7]  | 
  | Win  |  8–5  |  Jun 2012  |  Spain F14, Madrid  |  Futures  |  Clay  |    Iván Arenas-Gualda  |    Alexandros Jakupovic
   Mark Vervoort  |  6–0, 6–2  | 
  | Loss  |  8–6  |  Jun 2012  |  Serbia F2, Belgrade  |  Futures  |  Clay  |    Juan Lizariturry  |    Nikola Čačić
   Goran Tošić  |  2–6, 4–6  | 
  | Loss  |  8–7  |  Sep 2012  |  Spain F26, Santander  |  Futures  |  Clay  |    Iván Arenas-Gualda  |    Miguel Ángel López Jaén
   Gabriel Trujillo Soler  |  3–6, 7–6(9–7), [5–10]  | 
  | Loss  |  8–8  |  Sep 2012  |  Spain F28, Getafe  |  Futures  |  Hard  |    Iván Arenas-Gualda  |    Miguel Ángel López Jaén
   Oriol Roca Batalla  |  6–7(6–8), 6–2, [8–10]  | 
  | Loss  |  8–9  |  Oct 2012  |  Nigeria F1, Lagos  |  Futures  |  Hard  |    Alessandro Bega  |    Kamil Čapkovič
   Ruan Roelofse  |  4–6, 2–6  | 
  | Loss  |  8–10  |  Oct 2012  |  Nigeria F2, Lagos  |  Futures  |  Hard  |    Alessandro Bega  |    Kamil Čapkovič
   Ruan Roelofse  |  1–6, 2–6  | 
  | Win  |  9–10  |  Nov 2012  |  Morocco F9, Fes  |  Futures  |  Clay  |    Juan-Samuel Arauzo-Martínez  |    Riccardo Bellotti
   Dominic Thiem  |  6–2, 5–7, [10–7]  | 
  | Win  |  10–10  |  Jan 2013  |  France F1, Bagnoles-de-l'Orne  |  Futures  |  Clay (i)  |    Iván Arenas-Gualda  |    Moritz Baumann
   Tim Pütz  |  w/o  | 
  | Win  |  11–10  |  Mar 2013  |  Portugal F2, Loulé  |  Futures  |  Hard  |    Iván Arenas-Gualda  |    Sam Barry
   Colin O'Brien  |  6–7(2–7), 7–6(7–5), [10–4]  | 
  | Loss  |  11–11  |  Mar 2013  |  Portugal F3, Faro  |  Futures  |  Hard  |    Iván Arenas-Gualda  |    Juan-Samuel Arauzo-Martínez 
   Jaime Pulgar-García  |  2–6, 6–2, [2–10]  | 
  | Loss  |  11–12  |  Apr 2013  |  Egypt F2, Cairo  |  Futures  |  Clay  |    Mark Vervoort  |    Stephan Fransen
   Wesley Koolhof  |  0–6, 3–6  | 
  | Loss  |  11–13  |  Jun 2013  |  Korea F4, Changwon  |  Futures  |  Hard  |    Laurynas Grigelis  |    Lim Yong-kyu
   Nam Ji-sung  |  7–5, 4–6, [9–11]  | 
  | Loss  |  11–14  |  Jun 2013  |  Korea F5, Gyeongsan  |  Futures  |  Hard  |    Hiroki Kondo  |    Chung Hong
   Noh Sang-woo  |  3–6, 6–0, [6–10]  | 
  | Win  |  12–14  |  Jun 2013  |  Korea F7, Gimcheon  |  Futures  |  Hard  |    Huang Liang-chi  |    Lim Yong-kyu
   Nam Ji-sung  |  6–4, 6–2  | 
  | Win  |  13–14  |  Sep 2013  |  Egypt F26, Sharm El Sheikh  |  Futures  |  Clay  |    Romano Frantzen  |    Libor Salaba
   Michal Schmid  |  6–4, 4–6, [10–3]  | 
  | Win  |  14–14  |  Oct 2013  |  Egypt F27, Sharm El Sheikh  |  Futures  |  Clay  |    Romano Frantzen  |    Karim Hossam
   Libor Salaba  |  6–2, 6–1  | 
  | Win  |  15–14  |  Oct 2013  |  Egypt F30, Sharm El Sheikh  |  Futures  |  Clay  |    Romano Frantzen  |    Ivan Gakhov
   Miguel Ángel López Jaén  |  6–4, 7–6(7–4)  | 
  | Loss  |  15–15  |  Feb 2014  |  El Salvador F1, Santa Tecla  |  Futures  |  Clay  |    Marcelo Arévalo  |    Mateo Nicolás Martínez
   Rodrigo Sánchez  |  6–3, 6–7(4–7), [11–13]  | 
  | Loss  |  15–16  |  Jun 2014  |  Romania F3, Bacău  |  Futures  |  Clay  |    João Walendowsky  |    Patrick Grigoriu
   Costin Pavăl  |  1–6, 4–6  | 
  | Loss  |  15–17  |  Jun 2014  |  Caltanissetta, Italy  |  Challenger  |  Clay  |    Pablo Carreño Busta  |    Daniele Bracciali
   Potito Starace  |  3–6, 3–6  | 
  | Win  |  16–17  |  Aug 2014  |  San Marino, San Marino  |  Challenger  |  Clay  |    Radu Albot  |    Franko Škugor
   Adrian Ungur  |  6–4, 6–1  | 
  | Loss  |  16–18  |  Aug 2014  |  Como, Italy  |  Challenger  |  Clay  |    Steven Diez  |    Guido Andreozzi
   Facundo Argüello  |  2–6, 2–6  | 
  | Win  |  17–18  |  Oct 2014  |  Kazakhstan F12, Shymkent  |  Futures  |  Clay  |    Jeevan Nedunchezhiyan  |    Yurii Dzhavakian
   Olexiy Kolisnyk  |  7–5, 6–0  | 
  | Win  |  18–18  |  Oct 2014  |  Kazakhstan F13, Shymkent  |  Futures  |  Clay  |    Jeevan Nedunchezhiyan  |    Aleksandar Lazov
   Aleksandre Metreveli  |  6–3, 6–3  | 
  | Win  |  19–18  |  Oct 2014  |  Kazakhstan F14, Shymkent  |  Futures  |  Clay  |    Ivan Gakhov  |    Alan Bzarov
   Konstantin Gerlakh  |  7–5, 6–3  | 
  | Loss  |  19–19  |  Dec 2014  |  Turkey F46, Istanbul  |  Futures  |  Clay  |    Tuna Altuna  |    Alexander Igoshin
   Alexander Perfilov  |  5–7, 4–6  | 
  | Loss  |  19–20  |  Mar 2015  |  India F1, Chandigarh  |  Futures  |  Hard  |    David Pérez Sanz  |    Jeevan Nedunchezhiyan
   Vijay Sundar Prashanth  |  3–6, 4–6  | 
  | Win  |  20–20  |  Apr 2015  |  China F1, Anning  |  Futures  |  Clay  |    Huang Liang-chi  |    Bai Yan
   Yang Tsung-hua  |  6–3, 4–6, [10–7]  | 
  | Loss  |  20–21  |  Apr 2015  |  China F2, Anning  |  Futures  |  Clay  |    Huang Liang-chi  |    Gao Xin
   Ouyang Bowen  |  6–7(3–7), 4–6  | 
  | Loss  |  20–22  |  Apr 2015  |  China F3, Anning  |  Futures  |  Clay  |    Huang Liang-chi  |    Kim Cheong-eui
   Issei Okamura  |  3–3 ret.  | 
  | Win  |  21–22  |  Oct 2015  |  Philippines F1, Manila  |  Futures  |  Clay (i)  |    Harry Bourchier  |    Issei Okamura 
   Kento Takeuchi  |  6–4, 6–3  | 
  | Win  |  22–22  |  Jan 2016  |  Egypt F1, Sharm El Sheikh  |  Futures  |  Hard  |    Darko Jandrić  |    Lukas Mugevičius
   Mohamed Safwat  |  6–3, 6–4  | 
  | Loss  |  22–23  |  Jan 2016  |  Egypt F2, Sharm El Sheikh  |  Futures  |  Hard  |    Laurent Rochette  |    Luca Margaroli
   Mohamed Safwat  |  3–6, 6–3, [7–10]  | 
  | Win  |  23–23  |  Feb 2016  |  China F2, Anning  |  Futures  |  Clay  |    Lin Hsin  |    Sun Fajing
   Wang Aoran  |  w/o  | 
  | Win  |  24–23  |  May 2016  |  Karshi, Uzbekistan  |  Challenger  |  Hard  |    Jeevan Nedunchezhiyan  |    Aleksandre Metreveli
   Dmitry Popko  |  6–1, 6–4  | 
  | Loss  |  24–24  |  Sep 2016  |  Seville, Spain  |  Challenger  |  Clay  |    Ariel Behar  |    Íñigo Cervantes Huegun
   Oriol Roca Batalla  |  2–6, 5–6 ret.  | 
  | Win  |  25–24  |  Oct 2016  |  Nigeria F5, Lagos  |  Futures  |  Hard  |    Boy Westerhof  |    Calvin Hemery
   Gianni Mina  |  6–2, 6–3  | 
  | Win  |  26–24  |  Sep 2017  |  Hungary F7, Kecskemét  |  Futures  |  Clay  |    Matej Sabanov  |    Filip Bergevi
   Markus Eriksson  |  7–5, 6–3  | 
  | Loss  |  27–24  |  Sep 2017  |  Kazakhstan F7, Shymkent  |  Futures  |  Clay  |    Marco Trungelliti  |    Gábor Borsos
   Vladyslav Manafov  |  6–2, 6–3  | 
  | Win  |  28–24  |  Dec 2017  |  Pakistan F3, Islamabad  |  Futures  |  Clay  |    Kristian Lozan  |    Gleb Alekseenko
   Ivan Ponomarenko  |  6–0, 6–2  | 
  | Loss  |  28–25  |  Jan 2018  |  Bangkok, Thailand  |  Challenger  |  Hard  |    Pedro Martínez  |    James Cerretani
   Joe Salisbury  |  7–6(7–5), 3–6, [8–10]  | 
  | Loss  |  28–26  |  Feb 2018  |  Turkey F4, Antalya  |  Futures  |  Clay  |    Flavio Cipolla  |    Pascal Brunner
   Nino Serdarušić  |  3–6, 2–6  | 
  | Win  |  29–26  |  Feb 2018  |  Turkey F5, Antalya  |  Futures  |  Clay  |    Flavio Cipolla  |    Vasile Antonescu
   Patrick Grigoriu  |  7–5, 6–2  | 
  | Loss  |  29–27  |  Apr 2018  |  Tallahassee, USA  |  Challenger  |  Clay  |    Jeevan Nedunchezhiyan  |    Robert Galloway
   Denis Kudla  |  3–6, 1–6  | 
  | Loss  |  29–28  |  May 2018  |  Savannah, USA  |  Challenger  |  Clay  |    Jeevan Nedunchezhiyan  |    Luke Bambridge
   Akira Santillan  |  2–6, 2–6  | 
  | Win  |  30–28  |  Jun 2018  |  Vicenza, Italy  |  Challenger  |  Clay  |    Ariel Behar  |    Facundo Bagnis
   Fabricio Neis  |  6–2, 6–4  | 
  | Win  |  31–28  |  Sep 2018  |  Mallorca, Spain  |  Challenger  |  Hard  |    Ariel Behar  |    Daniel Evans
   Gerard Granollers Pujol  |  w/o  | 
  | Loss  |  31–29  |  Oct 2018  |  Tashkent, Uzbekistan  |  Challenger  |  Hard  |    Federico Gaio  |    Sanjar Fayziev
   Jurabek Karimov  |  2–6, 7–6(7–3), [9–11]  | 
  | Loss  |  31–30  |  Jan 2019  |  Playford, Australia  |  Challenger  |  Hard  |    Ariel Behar  |    Max Purcell
   Luke Saville  |  4–6, 5–7  | 
  | Loss  |  31–31  |  Feb 2019  |  Bangkok, Thailand  |  Challenger  |  Hard  |    Hiroki Moriya  |    Li Zhe
   Gonçalo Oliveira  |  2–6, 1–6  |