Career 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Colombia F3 Colombia F5 Brazil F7 Brazil F9 Brazil F10 Brazil F11 Venezuela F4 Venezuela F5 Brazil F16 Brazil F17 Brazil F18 Colombia F1 Colombia F2 Brazil F14 Brazil F15 Spain F11 Spain F12 Spain F13 Russia F2 Colombia F3 Colombia F4 Brazil F5 Brazil F6 Russia F5 Russia F6 Venezuela F8 Venezuela F9 Colombia F1 Ivory Coast F1 Colombia F2 Ivory Coast F2 Venezuela F1 Venezuela F2 Venezuela F3 Usa F12 Usa F13 Colombia F3 Colombia F4 Colombia F5 Bosnia & Herzegovina F2 Italy F1 Kazakhstan F1 Italy F2 Kazakhstan F2 Italy F3 France F6 Italy F6 Italy F12 Italy F14 Italy F15 Italy F21 Italy F22 Venezuela F5 Colombia F1 Colombia F2 Spain F7 Turkey F9 Turkey F10 Turkey F11 Turkey F12 Italy F6 Italy F7 Italy F9 Italy F10 Ecuador F4 Ecuador F5 Colombia F3 Colombia F4 Colombia F5 Chile F1 Chile F3 Spain F14 Italy F20 Colombia F3 Colombia F4 Colombia F4 Colombia F3 Colombia F6 Colombia F3 Colombia F4 Russia F3 Venezuela F1 Venezuela F2 Nicaragua F1 El Salvador F2 Brazil F23 Russia F1 Brazil F24 Nigeria F3 Nigeria F4 Russia F2 Colombia F1 Colombia F2 Brazil F7 Brazil F8 Ukraine F3 Austria F4 Austria F5 Austria F6 Venezuela F4 Venezuela F5 Russia F3 Venezuela F6 Russia F3 France F7 Venezuela F6 Canada F1 (Gatineau) Canada F2 (Sherbrooke) M15 Sunrise M25 Tulsa M25 Iowa City M15 Horgen M25 Oviedo M25 Madrid M25 Weston M25 Palm Coast M25 Naples M25 Naples M25 Naples M25 Pensacola M25 Santo Domingo M25 Marburg M25 Denia M25 Muttenz M25 Caslano M25 Aparecida de Goiania M25 Medellin M25 New Delhi M25 Lucknow M25 Jakarta M25 Dallas M25 Mumbai M25 Hua Hin M25 New Delhi M25 Tianjin M25 Cancun M25 Champaign Bogota Challenger - Bogota M25 Cancun Bogota Challenger Korat Challenger Ljubljana Challenger Bogota Challenger Geneva Challenger Medellin Challenger Kazan Challenger Bucaramanga Challenger Casablanca Challenger Salinas Challenger M25 Anapoima Braunschweig Challenger Manta Challenger Cali Challenger Sacramento Challenger Tiburon Challenger Medellin Challenger Bucaramanga Challenger Quimper Challenger Oberstaufen Challenger Casablanca Challenger Salinas Challenger Rabat Challenger Barranquilla Challenger Aguascalenties Challenger San Luis Potosi Challenger Rome Challenger Prague Challenger Manerbio Challenger Bordeaux Challenger Pereira Challenger Caltanissetta Challenger Nottingham Challenger Nottingham-2 Challenger Braunschweig Challenger Bogota Challenger M25 Jakarta Santiago Challenger Penza Challenger Astana Challenger San Marino Challenger Pozoblanco Challenger Cordenons Challenger Segovia Challenger St. Remy Challenger Cali Challenger Tyumen Challenger Sao Paulo Challenger Bucaramanga Challenger Salinas Challenger Pereira Challenger Santiago Challenger Blois Challenger Manta Challenger Medellin Challenger Aptos Challenger Rio De Janeiro Challenger Sao Jose Do Rio Preto Challenger Sao Paulo Challenger Tour Finals Helsinki Challenger Sao Paulo Challenger Heilbronn Challenger Chennai Challenger Kolkata Challenger New Delhi Challenger St. Brieuc Challenger Tunis Challenger Winnetka Challenger Portoroz Challenger Medellin Challenger St. Remy Challenger Bucaramanga Challenger Santiago Challenger Kazan Challenger Raanana Challenger Sarasota Challenger Karshi Challenger Caltanissetta Challenger Moscow Challenger Fergana Challenger Blois Challenger Marburg Challenger Todi Challenger Segovia Challenger Portoroz Challenger Vancouver Challenger Meknes Challenger Medellin Challenger Pereira Challenger Agri Challenger Medellin Challenger Tashkent Challenger Santiago Challenger Lima Challenger Hua Hin Challenger Bogota Challenger Ortisei Challenger Happy Valley Challenger Morelos Challenger Raanana Challenger Leon Challenger Aix En Provence Challenger Astana Challenger Granby Challenger Barranquilla Challenger Stockton Challenger Pune Challenger Guayaquil Challenger Zhuhai Challenger Meknes Challenger Savannah Challenger Marburg Challenger Segovia Challenger Ilkley Challenger Seguros Bolivar Open - Medellin Copa Petrobras Bogota - Bogota Chengdu Challenger Fairfield Challenger Aptos Challenger Kosice Challenger Mersin Challenger Seville Challenger Portoroz Challenger Santiago Challenger Noumea Challenger Tallahassee Challenger Sarasota Challenger Bucaramanga Challenger Granby Challenger Floridablanca Challenger Newport Beach Challenger Cali Challenger Marrakech Challenger Morelos Challenger Monza Challenger San Luis Potosi Challenger Taipei City Challenger Anning Challenger Leon Challenger Geneva Challenger - Geneva Orbetello Challenger L'Aquila Challenger Milan Challenger Furth Challenger Las Vegas Challenger Orlando Challenger Orleans Challenger Mons Challenger Astana Challenger Pozoblanco Challenger Cordenons Challenger Nur-Sultan Challenger Seoul Challenger Heilbronn Challenger Cherbourg Challenger Busan Challenger Guangzhou Challenger Rio De Janeiro Challenger Pune Challenger Shenzhen 2 Challenger Bergamo Challenger Istanbul Challenger M15 Tianjin Nonthaburi 3 Challenger V Manta Open-Trofeo Ricardo Delgado Aray - Manta Guayaquil Challenger Bengaluru Challenger Guayaquil Challenger New Delhi Challenger Loughborough Challenger Nonthaburi 1 Challenger Helsinki Challenger Drummondville Challenger Canberra Challenger Guadalajara Challenger Geneva Challenger - Geneva XIV Challenger ATP Club Premium Open - Quito Recanati Challenger Bucaramanga Challenger Astana Challenger Zhangjiagang Challenger Guangzhou Challenger Guangzhou Challenger San Luis Potosi Challenger Taipei Challenger Pereira Challenger Wroclaw Challenger Zagreb Challenger Manta Challenger Penza Challenger Saransk Challenger Irving Challenger Guadalajara Challenger Como Challenger Bogota Challenger Panama City Challenger Cary Challenger Tiburon Challenger Campinas Challenger Le Gosier Challenger Furth Challenger Helsinki Challenger Heilbronn Challenger Surbiton Challenger Sao Paulo Challenger Kazan Challenger Vicenza Challenger Vancouver Challenger Bogota Challenger Jinan Challenger San Remo Challenger Zagreb Challenger Alessandria Challenger Blois Challenger Kaoshuing Challenger Milan Challenger Orbetello Challenger Recanati Challenger Tashkent Challenger Hamburg Challenger Saransk Challenger San Marino Challenger Buenos Aires Challenger Kazan Challenger Geneva Challenger Montevideo Challenger Bogota Challenger Tyumen Challenger Bucaramanga Challenger Quito Challenger ATP Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg St. Petersburg Open - St. Petersburg Astana Challenger Interwetten Austrian Open - Kitzbuhel St. Petersburg Open - St. Petersburg Serbia Open - Belgrade Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg Heineken Open - Auckland Open Sabadell Atlantico - Barcelona Chennai Challenger Pune Challenger Copa Petrobras Colombia - Bogota Mercedes Cup - Stuttgart BH Tennis Open - Belo Horizonte Credicard Citi Mastercard Tennis Cup 2007 - Campos do Jordao Heineken Open - Auckland IPP Open - Helsinki Open Sabadell Atlantico - Barcelona Bancolombia Open - Bogota BMW Open - Munich Open de Nice Cote d'Azur - Nice St. Petersburg Open - St. Petersburg Copa Petrobras Colombia - Bogota Apia International - Sydney VTR Open - Vina del Mar Brasil Open - Sao Paulo Puerto Vallarta Challenger Seguros Bolivar Open - Cali BRD Nastase Tiriac Trophy - Bucharest Topshelf Open - 's-Hertogenbosch Copa Petrobras-Colombia - Bogota Claro Open Colombia - Bogota Como Challenger Seville Challenger Shenzhen 1 Challenger Winston-Salem Open - Winston-Salem PTT Thailand Open - Bangkok Astana Challenger Kremlin Cup - Moscow Copa Claro - Buenos Aires Rio Open 500 - Rio de Janeiro Barcelona Open BancSabadell - Barcelona US Men's Clay Court Championship - Houston Portugal Open - Oeiras AEGON Championships - London Topshelf Open - 's-Hertogenbosch Claro Open Colombia - Bogota Kazan Challenger Citi Open - Washington Winston-Salem Open - Winston-Salem China Open - Beijing Kremlin Cup - Moscow Bancolombia Open - Cali President's Cup - Astana IV Challenger Ciudad De Guayaquil - Guayaquil Aircel Chennai Open - Chennai Shanghai Challenger Panama City Challenger Heineken Open - Auckland Seguros Bolivar Open - Medellin Ecuador Open - Quito IPP Open - Helsinki Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Dubai Duty Free Tennis Championships - Dubai Salinas Challenger Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest Bucaramanga Challenger Porto Alegre Challenger Medellin Challenger Claro Open Colombia - Bogota Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg Barranquilla Challenger ABN AMRO World Tennis Tournament - Rotterdam Karlsruhe Challenger Sao Paulo Challenger Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona BMW Open - Munich Geneva Open - Geneva Bogota Challenger Sao Paulo Challenger China Open - Beijing Kremlin Cup - Moscow Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Hungarian Open - Budapest Millennium Estoril Open - Estoril Cali Challenger Citi Open - Washington Bet-at-home Open - Hamburg Wuxi Challenger Quito Challenger Sacramento Challenger Sydney International - Sydney Garanti Koza Sofia Open - Sofia Dubai Duty Free Tennis Championships - Dubai Open Parc - Lyon Ricoh Open - 's-Hertogenbosch Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Chengdu Open - Chengdu Tiburon Challenger China Open - Beijing Kremlin Cup - Moscow Pereira Challenger Swiss Indoors Basel - Basel Tata Open Maharashtra - Pune Calabasas Challenger Sydney International - Sydney Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Astana Challenger Cali Challenger Tashkent Challenger St. Petersburg Open - St. Petersburg San Juan Challenger Cordoba Challenger Kremlin Cup - Moscow Tata Open Maharashtra - Pune Dubai Duty Free Tennis Championships - Dubai St. Petersburg Open - St. Petersburg Eckental Challenger Astana Open - Nur-Sultan Sofia Open - Sofia Khanty-Mansiysk Challenger Salinas Challenger Ortisei Challenger Milan Challenger Abierto Mexicano Telcel - Acapulco Dubai Duty Free Tennis Championships - Dubai Serbia Open - Belgrade Guayaquil Challenger Open Parc - Lyon Hall of Fame Open - Newport Sofia Open - Sofia Kremlin Cup - Moscow Anytech365 Andalucia Open - Marbella Astana Open - Nur-Sultan Tata Open Maharashtra - Pune Belgrade Challenger Sarajevo Challenger Pereira Challenger Padova Challenger Barranquilla Challenger Biella Challenger Cremona Challenger Fergana Challenger Cali Challenger Bogota Challenger Kitzbuhel Challenger Medellin Challenger Tashkent Challenger Monterrey Challenger Todi Challenger Cali Challenger Seguros Bogota Open - Bogota Budapest Challenger Shenzhen Challenger Monza Challenger Bordeaux Challenger Brescia Challenger Santo Domingo Challenger Prostejov Challenger Rome Challenger Ostrava Challenger BCR Open Romania - Bucharest IPP Open - Helsinki Rome Challenger Bordeaux Challenger Furth Challenger SAP Open - San Jose Nanchang Challenger Bogota Challenger Perugia Challenger Astana Challenger Orbetello Challenger Batman Challenger Seguros Bolivar Open - Medellin Binghamton Challenger Challenger Ciudad de Guayaquil - Guayaquil Columbus Challenger Calgary Challenger Szczecin Challenger Charlottesville Challenger Eckental Challenger Houston Challenger Seguros Bolivar Open - Bogota Madrid Challenger Braga Challenger Campinas Challenger Iasi Challenger Geneva Challenger Mallorca Challenger Malaga Challenger Marrakech Challenger Troyes Challenger Ismaning Challenger Brest Challenger Nonthaburi 2 Challenger Rome Challenger Grand Prix Hassan II - Casablanca Shenzhen 1 Challenger US Men's Clay Court Championship - Houston ABN AMRO World Tennis Tournament - Rotterdam TEB BNP Paribas Istanbul Open - Istanbul Serbia Open - Belgrade Heilbronn Challenger Milan Challenger Grand Prix Hassan II - Marrakech Gwangju Challenger Skopje Challenger Vicenza Challenger Blois Challenger Geneva Challenger Open de Nice Cote d'Azur - Nice Kremlin Cup - Moscow Montevideo Challenger Citi Open - Washington Lexington Challenger Delray Beach Open - Delray Beach Izmir Challenger BB&T Atlanta Open - Atlanta SAP Open - San Jose ATP Kremlin Cup - Moscow Santo Domingo Challenger Caltanissetta Challenger Bastad Challenger Gatineau Challenger Kremlin Cup - Moscow Millennium Estoril Open - Estoril Ortisei Challenger Rennes Challenger Quimper Challenger Garanti Koza Sofia Open - Sofia Ecuador Open - Quito Vicenza Challenger Medellin Challenger Ilkley Challenger Jinan Challenger Bogota Challenger Tiburon Challenger Kaohsiung Challenger Stockton Challenger Vicenza Challenger Chicago Challenger Bratislava Challenger Knoxville Challenger Mercedes Cup - Stuttgart Columbus Challenger Punta Del Este Challenger Bergamo Challenger Morelos Challenger Indian Wells Challenger Santiago Challenger Phoenix Challenger St. Brieuc Challenger Taipei City Challenger Sarasota Challenger Tallahassee Challenger Seoul Challenger Savannah Challenger Busan Challenger Gwangju Challenger Samarkand Challenger Little Rock Challenger Nottingham Challenger Columbus Challenger Recanati Challenger Winnetka Challenger Nur-Sultan Challenger Binghamton Challenger Vancouver Challenger Cordenons Challenger L'Aquila Challenger Seville Challenger SkiStar Swedish Open - Bastad Orleans Challenger Nur-Sultan Challenger Santo Domingo Challenger Brest Challenger Lima Challenger Eckental Challenger Guayaquil Challenger Montevideo Challenger Canberra Challenger Bengalaru Challenger Morelos Challenger Indian Wells Challenger St. Petersburg Open - St. Petersburg Prostejov Challenger Istanbul Challenger Eckental Challenger Sao Paulo Challenger Biella 2 Challenger Nur-Sultan 1 Challenger Nur-Sultan 2 Challenger Lugano Challenger Marbella Challenger Belgrade Challenger Salinas Challenger Salinas 2 Challenger Zagreb Challenger Nottingham 1 Challenger Nottingham 2 Challenger Istanbul 2 Challenger Quito Challenger Ambato Challenger Delray Beach International Tennis Championships - Delray Beach New York Open - New York Lima Challenger Bogota Challenger Bergamo Challenger Guayaquil Challenger Campinas Challenger Brasilia Challenger Florianopolis Challenger Rio De Janeiro Challenger Bengalaru 1 Challenger Sao Paulo Challenger Bengalaru 2 Challenger Pereira Challenger Mexico City Challenger Chengdu Open - Chengdu San Luis Potosi Challenger Tallahassee Challenger Troisdorf Challenger Prostejov Challenger Bratislava Challenger Porto Challenger Segovia Challenger Nonthaburi 1 Challenger Nonthaburi 2 Challenger Nonthaburi 3 Challenger Istanbul Challenger St. Petersburg Open - St. Petersburg Nonthaburi 1 Challenger Nonthaburi 3 Challenger Sofia Open - Sofia Vilnius Challenger Rovereto Challenger Pau Challenger Delray Beach International Tennis Championships - Delray Beach Portugal Open - Oeiras Power Horse Cup - Dusseldorf BB&T Atlanta Open - Atlanta BCR Open Romania - Bucharest Brasil Open - Sao Paulo BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal BNP Paribas Open - Indian Wells Miami Open - Miami Rogers Cup - Toronto Western & Southern Open - Cincinnati Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Coupe Rogers - Montreal Astana Open - Astana Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Royal Guard Open Chile - Vina del Mar Qatar ExxonMobil Open - Doha St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Kremlin Cup - Moscow Qatar ExxonMobil Open - Doha Gerry Weber Open - Halle Abierto Mexicano de Tenis Mifel - Los Cabos Citi Open - Washington St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Brisbane International - Brisbane Aircel Chennai Open - Chennai U.S. National Indoor Tennis Championships - Memphis St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Aircel Chennai Open - Chennai Aegon Nottingham Open - Nottingham Winston-Salem Open - Winston-Salem Ricoh Open - 's-Hertogenbosch Citi Open - Washington Truist Atlanta Open - Atlanta Shanghai Rolex Masters - Shanghai U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris French Open - Paris Wimbledon - London U.S. Open - New York Nonthaburi 2 Challenger Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open Qualifying - Doha Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York French Open - Paris Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne Wimbledon - London Australian Open - Melbourne French Open - Paris French Open - Paris Wimbledon - London Wimbledon - London French Open - Paris Davis Cup, Group I, 2R, GBR-RUS 3-2 Davis Cup, Group II, 2R, ESA-MEX 3-2 Davis Cup, Group I, 2R, CHI-COL 3-1 Davis Cup, World Group, PO, RUS-KAZ 3-1 Davis Cup, World Group, PO, COL-CRO 1-4 French Open - Paris Davis Cup, Qualifiers, 1R, USA-COL 4-0 Davis Cup, Group I, 2R, COL-BRA 3-2 Salinas Challenger U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) French Open (juniors) Davis Cup, Group I, 1R, RUS-DEN 4-1 Davis Cup, Group I, 2R, URU-COL 2-3 All Lower level tournaments Davis Cup, Group II, 1R, ESA-BAR 4-1 Davis Cup, World Group, PO, CAN-COL 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group I, PO, DOM-COL 1-4 Olympics - Rio de Janeiro Davis Cup, Group I, 2R, RUS-AUT 1-3 Davis Cup, World Group, QR, COL-SWE 4-0 Davis Cup, Finals, Group D Davis Cup, Group I, 1R, BAR-COL 0-4 Davis Cup, Group I, 2R, RUS-ESP 3-2