Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006
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 Porto Challenger Mallorca Challenger U.S. Open - New York Genova Challenger Seville Challenger Braga Challenger Santa Fe 2 Challenger Montevideo Challenger Koblenz Challenger Tenerife 2 Challenger Murcia Challenger Oeiras 3 Challenger Barletta Challenger Rome Challenger Francavilla Challenger Tunis Challenger Poznan Challenger Milan Challenger Sassuolo Challenger Como Challenger Genova Challenger Curitiba Challenger Sibiu Challenger Oeiras 4 Challenger Estoril Challenger Monza Challenger Modena Challenger Trieste Challenger U.S. Open - New York Porto Challenger Como Challenger Genova Challenger Spain F32 Portugal F4 Portugal F5 Portugal F6 Spain F7 Portugal F2 Portugal F3 Spain F17 Spain F18 Italy F17 Italy F29 Sweden F5 USA F26 Mexico F10 Mexico F11 USA F1 USA F3 Canada F1 Usa F7 Italy F7 Usa F15 Great Britain F13 Switzerland F3 Usa F13 Argentina F12 Argentina F14 Brazil F22 Argentina F20 Brazil F31 Brazil F32 Chile F5 Chile F8 Brazil F1 Colombia F2 USA F7 Italy F18 Italy F19 Argentina F21 Argentina F24 Chile F8 Chile F9 Argentina F26 Italy F12 Italy F18 Italy F19 Argentina F17 Argentina F18 Egypt F2 Egypt F3 Egypt F4 Italy F3 Egypt F8 Egypt F9 Egypt F10 Italy F8 Italy F9 Italy F10 Italy F20 Italy F23 Italy F24 Tunisia F5 Egypt F4 Italy F10 Italy F11 Italy F12 Italy F17 Germany F8 Italy F23 Italy F28 Italy F29 Italy F33 Morocco F4 Morocco F5 Tunisia F3 Italy F21 Italy F22 Serbia F4 Serbia F5 Italy F27 Italy F28 Italy F29 Italy F30 Italy F32 Italy F33 Italy F34 Italy F35 Italy F36 Spain F2 (Manacor) Spain F3 (Paguera) Spain F4 (Paguera) Tunisia F7 (Hammamet) Tunisia F8 (Hammamet) Tunisia F10 (Hammamet) Portugal F1 Spain F9 (Madrid) USA F2 Argentina F22 Italy F22 Italy F3 Argentina F23 Chile F10 M15 Sintra M25 Porto M25 Vale Do Lobo M25 Villena M25 Vale do Lobo Chile 11 M25 Faro Argentina F27 Italy F29 Italy F11 Mexico F1 Costa Rica F1 Colombia F2 Italy F2 Canada F2 Canada F3 Italy F5 Italy F6 Usa F8 Italy F9 Czech Rep. F2 Czech Rep. F3 Spain F18 Italy F12 Italy F13 Usa F14 Italy F17 Usa F18 Serbia F5 Serbia F7 Italy F25 Great Britain F12 Germany F19 Germany F18 Usa F5 Portugal F3 Spain F11 Italy F5 Argentina F5 Argentina F6 Brazil F9 Argentina F9 Usa F15 Argentina F11 Argentina F13 Argentina F15 Argentina F16 Argentina F17 Bolivia F1 Argentina F21 Argentina F22 Brazil F33 Chile F6 Chile F7 Chile F9 Colombia F1 El Salvador F1 Panama F1 Chile F1 Chile F2 Argentina F2 Argentina F3 Italy F12 Brazil F26 Brazil F33 Italy F10 Italy F9 Tunisia F4 Italy F31 Naples Challenger - Naples Tunis Challenger Asuncion Challenger Bordeaux Challenger Milan Challenger San Benedetto Challenger Kosice Challenger M25 Quinta Do Lago San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Sao Leopoldo Challenger M25 Figueira da Foz ATP Challenger Tour Finals Bucaramanga Challenger Salinas Challenger Pereira Challenger Itajai Challenger Santos Challenger Campinas Challenger Sao Jose Do Rio Preto Challenger San Juan Challenger M15 Sintra Bogota Challenger Guayaquil Challenger Andria Challenger Sao Paulo Challenger M25 Vale do Lobo Bucaramanga Challenger Panama City Challenger Barranquilla Challenger Itajai Challenger Santos Challenger Vercelli Challenger Aix En Provence Challenger M25 Vila Real de Santo Antonio M25 Vila Real de Santo Antonio Mestre Challenger Blois Challenger Milan Challenger Marburg Challenger Braunschweig Challenger San Benedetto Challenger M25 Quinta do Lago Santos Challenger Meknes Challenger Kenitra Challenger Porto Alegre Challenger Indore Challenger Pune Challenger Knoxville Challenger Brescia Challenger Champaign Challenger Andria Challenger Bucaramanga Challenger M25 Porto Santo Domingo Challenger M25 Vale do Lobo M25 Reus Rome Challenger Mestre Challenger Caltanissetta Challenger Perugia Challenger Braunschweig Challenger Abierto Internacional Varonil Ciudad de Cancun - Cancun Como Challenger Meknes Challenger Campinas Challenger Porto Alegre Challenger Corrientes Challenger Santiago Challenger Lima Challenger Guayaquil Challenger Sao Paulo Challenger Bangkok Challenger Jonkoping Challenger Kazan Challenger Turin Challenger Bordeaux Challenger Mestre Challenger Milan Challenger Guayaquil Challenger Andria Challenger Barletta Challenger Francavilla Challenger Todi Challenger Biella Challenger Floridablanca Challenger Como Challenger Rome Challenger Campinas Challenger Buenos Aires Challenger Lima Challenger Mouilleron-Le-Captif Challenger Montevideo Challenger Santiago Challenger Santiago Challenger Marbella Challenger Rome Challenger Barletta Challenger Tunis Challenger Francavilla Challenger Braga Challenger Vicenza Challenger Como Challenger Biella Challenger Campinas Challenger Brest Challenger Mouilleron-Le-Captif Challenger Buenos Aires Challenger Playford Challenger Orlando Challenger Columbus Challenger Chennai Challenger Cherbourg Challenger St. Brieuc Challenger Barletta Challenger Sarasota Challenger Tunis Challenger Francavilla Challenger Ostrava Challenger Aix En Provence Challenger Heilbronn Challenger Lisbon Challenger Shymkent Challenger Parma Challenger Ludwigshafen Challenger Nur-Sultan Challenger Sopot Challenger Como Challenger Orleans Challenger Campinas Challenger Santo Domingo Challenger Mouilleron-Le-Captif Challenger Sao Paulo Challenger Bratislava Challenger Ann Arbor Challenger Bendigo Challenger Bengalaru Challenger Prostejov Challenger Sao Paulo Challenger Sao Paulo Challenger Oeiras 1 Challenger M25 Palmanova Oeiras 2 Challenger Oeiras 3 Challenger Oeiras 4 Challenger Biella 7 Challenger Milan Challenger Porto Challenger Amersfoort Challenger Tampere Challenger Poznan Challenger San Marino Challenger Verona Challenger Szczecin Challenger Bucharest Challenger Sibiu Challenger Napoli Challenger Bratislava Challenger Maia 1 Challenger JSM Challenger of Champaign - Urbana Maia 2 Challenger Bendigo Challenger Furth Challenger Bengalaru 1 Challenger Cherbourg Challenger Roseto Degli Abruzzi 1 Challenger Zadar Challenger Oeiras 1 Challenger Oeiras 2 Challenger Montevideo Challenger Tampere Challenger Bordeaux Challenger Forli 6 Challenger Perugia Challenger Braunschweig Challenger Dallas Challenger Blois Challenger Cordenons Challenger Campinas Challenger Lima Challenger Porto Alegre Challenger Sao Paulo Challenger Buenos Aires Challenger Como Challenger Prostejov Challenger Turin Challenger Marburg Challenger Sao Paulo Challenger Campinas Challenger Vancouver Challenger Ostrava Challenger Todi Challenger M25 Mataro Seville Challenger St. Tropez Challenger Bordeaux Challenger Andria Challenger Happy Valley Challenger Napoli Challenger Vilnus Challenger Las Vegas Challenger Vicenza Challenger Braunschweig Challenger Ortisei Challenger Braunschweig Challenger Lima Challenger Bratislava Challenger Helsinki Challenger Ilkley Challenger Recanati Challenger Irving Challenger Sao Leopoldo Challenger Braunschweig Challenger Andria Challenger Le Gosier Challenger Lisbon Challenger San Marino Challenger Nonthaburi 1 Challenger Sarasota Challenger Nonthaburi 2 Challenger Vancouver Challenger Savannah Challenger Perugia Challenger Nonthaburi 3 Challenger Tenerife 2 Challenger Manama Challenger Rovereto Challenger Waco Challenger Puerto Vallarta Challenger Antalya Challenger Split Challenger Cagliari Challenger Francavilla Challenger Vicenza Challenger Perugia Challenger Amersfoort Challenger Split Challenger Oeiras 4 Challenger Zagreb Challenger Perugia Challenger Buenos Aires Challenger Modena Challenger Oeiras 1 Challenger Oeiras 2 Challenger Trieste Challenger Bonn Challenger Valencia Challenger Luedenscheid Challenger Porto 2 Challenger Lima 2 Challenger Montevideo Challenger Seville Challenger Lisbon Challenger Montevideo Challenger Rome Challenger Vicenza Challenger Las Franquesas del Valles Challenger Francavilla Challenger Roseto Degli Abruzzi Challenger Oeiras 5 Challenger Montechiarugolo Challenger Milan Challenger Lisbon Challenger Estoril Open - Estoril Estoril Open - Estoril Gerry Weber Open - Halle Delray Beach International Tennis Championships - Delray Beach Pilot Pen Tennis - New Haven Estoril Open - Estoril Bratislava 2 Challenger Estoril Open - Estoril Helsinki Challenger Nonthaburi 1 Challenger Manama Challenger Tenerife 3 Challenger Lugano Challenger Zadar Challenger Naples Challenger Girona Challenger Estoril Open - Estoril Open de Nice Cote d'Azur - Nice VTR Open - Vina del Mar Brasil Open - Sao Paulo Estoril Open - Estoril VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Delray Beach International Tennis Championships - Delray Beach Portugal Open - Oeiras U.S. National Indoor Tennis Championships - Memphis Delray Beach Open - Delray Beach Brasil Open - Sao Paulo Bet-at-home Open - Hamburg Erste Bank Open - Vienna Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Apia International - Sydney 2007 Knoxville Challenger - Knoxville BB&T Atlanta Open - Atlanta Sao Paulo Challenger Todi Challenger Bancolombia Open - Bogota Sibiu Challenger Rio De Janeiro Challenger Abierto Internacional de Salinas 'Dario Expreso' - Salinas Campinas Challenger Argentina Open - Buenos Aires Brasil Open - Sao Paulo SkiStar Swedish Open - Bastad Roma Open Challenger - Rome Konzum Croatia Open - Umag Shenzhen Open - Shenzhen If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Apia International - Sydney San Remo Tennis Cup - San Remo Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Open Parc - Lyon Bet-at-home Open - Hamburg European Open - Antwerp Ecuador Open - Quito Challenger Banque Nationale - Granby Argentina Open - Buenos Aires New York Open - New York Rio Open - Rio de Janeiro Brasil Open - Sao Paulo M25 Palmanova Millennium Estoril Open - Estoril Moncton Men's Challenger - Moncton Plava Laguna Croatia Open - Umag DIEMA XTRA Sofia Open - Sofia Millennium Estoril Open - Estoril Plava Laguna Croatia Open - Umag Swiss Open - Gstaad St. Petersburg Open - St. Petersburg Intrum Stockholm Open - Stockholm Tata Open Maharashtra - Pune Open 13 Provence - Marseille Levene Gouldin & Thompson Tennis Challenger - Binghamton Forte Village Sardegna Open - Sardinia Astana Open - Nur-Sultan Antalya Open - Antalya Great Ocean Road Open - Melbourne Serbia Open - Belgrade Gonet Geneva Open - Geneva Generali Open - Kitzbuhel Sardegna Open - Cagliari Emilia-Romagna Open - Parma Melbourne Summer Set - Melbourne Sydney Tennis Classic - Sydney Tata Open Maharashtra - Pune Open 13 Provence - Marseille Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril III Challenger Isla de Gran Canaria Ciudad de Telde - Telde Le Gosier Challenger Hamburg European Open - Hamburg Plava Laguna Croatia Open - Umag Lille Challenger Sofia Open - Sofia Semgroup Challenger - Tulsa Nielsen USTA Pro Tennis Championship - Winnetka Prostejov Challenger Sacramento Challenger - Sacramento Tampere Challenger Oldum Brown Vancouver Open - Vancouver GHI Bronx Tennis Classic - Bronx National Bank Men's Rimouski Challenger - Rimouski Challenger Britania Zavaleta - Puebla Pozoblanco Challenger Salinas Challenger Amersfoort Challenger Ford Tennis Championships - Louisville San Benedetto Challenger Olbia Challenger Valencia Challenger Tenerife 1 Challenger Ortisei Challenger Milan Challenger Lexington Challenger Campos do Jordao Challenger Brasilia Challenger Salvador Challenger Santo Domingo Challenger Belo Horizonte Challenger Montevideo Challenger Barletta Challenger Buenos Aires Challenger Santiago Challenger Sao Paulo Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Salinas Challenger Santiago Challenger Recife Challenger Prague Challenger Campos do Jordao Challenger Campinas Challenger Recife Challenger Belo Horizonte Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Buenos Aires Challenger Guayaquil Challenger Montevideo Challenger Sao Paulo Challenger Bucaramanga Challenger Florianopolis Challenger Le Gosier Challenger Dallas Challenger Blumenau Challenger Cordenons Challenger Sao Paulo Challenger Sony Ericsson Open - Miami Bordeaux Challenger Caltanissetta Challenger Sony Ericsson Open - Miami Arad Challenger BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Timisoara Challenger BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Tampere Challenger Mutua Madrid Open - Madrid St. Remy Challenger Internazionali BNL d'Italia - Rome Madrid Challenger Vicenza Challenger BNP Paribas Open - Indian Wells Brasov Challenger Porto Challenger San Benedetto Challenger Belem Challenger Tunis Challenger Zug Challenger Luedenscheid Challenger Liberec Challenger San Marino Challenger Lisbon Challenger Danderyd Challenger Charlottesville Challenger Dallas Challenger Bordeaux Challenger Vicenza Challenger Prostejov Challenger Padova Challenger Aptos Challenger Buenos Aires Challenger Montevideo Challenger Roanne Challenger Bucaramanga Challenger Rovereto Challenger Barletta Challenger Genova Challenger Oeiras 2 Challenger San Benedetto Challenger Aix En Provence Challenger Western & Southern Open - Cincinnati Caltanissetta Challenger Brescia Challenger Braunschweig Challenger Scheveningen Challenger Sibiu Challenger Guayaquil Challenger Brescia Challenger Rennes Challenger Le Gosier Challenger Alicante Challenger BNP Paribas Open - Indian Wells Genova Challenger Miami Open - Miami Florence Challenger Santo Domingo Challenger Barcelona Challenger Ismaning Challenger Guayaquil Challenger Montevideo Challenger Verona Challenger Bangkok Challenger Bangkok Challenger Yokohama Challenger Rome Challenger Bordeaux Challenger Braga Challenger Milan Challenger Braunschweig Challenger San Benedetto Challenger Lyon Challenger Genova Challenger Buenos Aires Challenger Oeiras 3 Challenger Lima Challenger Miami Open - Miami Girona Challenger Skopje Challenger Lisbon Challenger Monte-Carlo Rolex Masters - Monte-Carlo Maia Challenger Sassuolo Challenger Mutua Madrid Open - Madrid Bunschoten Challenger Rogers Cup - Toronto Newport Beach Challenger Forli Challenger Forli 4 Challenger Aix En Provence Challenger Olbia Challenger Amersfoort Challenger Genova Challenger Parma Challenger Rio De Janeiro Challenger Canberra Challenger Tenerife 3 Challenger Monterrey Challenger Prague 2 Challenger Rio Open - Rio de Janeiro Lima 2 Challenger Brest Challenger Nonthaburi 3 Challenger Montechiarugolo - Parma Challenger Girona Challenger Lyon Challenger Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Internazionali BNL d'Italia - Rome Portugal Open - Oeiras Western & Southern Open - New York Rolex Paris Masters - Paris Miami Open - Miami Braga Challenger Monte-Carlo Rolex Masters - Monte-Carlo Guayaquil Challenger Mutua Madrid Open - Madrid Modena Challenger Internazionali BNL d'Italia - Rome Oeiras 1 Challenger Rolex Paris Masters - Paris Generali Open - Kitzbuhel Estoril Open - Estoril Perugia Challenger Monte-Carlo Rolex Masters - Monte-Carlo Cordenons Challenger Todi Challenger Forli 5 Challenger Qatar ExxonMobil Open - Doha Biella Challenger Braga Challenger Lisbon Challenger Roseto Degli Abruzzi 2 Challenger Campinas Challenger Madrid Challenger Rome Challenger Braga Challenger Campbells Hall of Fame Tennis Championships - Newport Copa Claro - Buenos Aires Mercedes Cup - Stuttgart Abierto Mexicano Telcel - Acapulco Millennium Estoril Open - Estoril Millennium Estoril Open - Estoril Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Abierto Mexicano - Los Cabos St. Petersburg Open - St. Petersburg US Men's Clay Court Championship - Houston Erste Bank Open - Vienna Abierto Mexicano Telcel - Acapulco Mallorca Championships - Mallorca Plava Laguna Croatia Open - Umag Winston-Salem Open - Winston-Salem Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva Braunschweig Challenger Open 13 Provence - Marseille cinch Championships - London U.S. Open - New York Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne Australian Open - Melbourne French Open - Paris U.S. Open - New York French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London Australian Open - Melbourne Australian Open - Melbourne Wimbledon - London Bergamo Challenger Australian Open - Melbourne French Open - Paris Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, World Group, QR, ITA-KOR 4-0 Davis Cup, Group I, 1R, ROU-POR 3-1 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) U.S. Open (juniors) Wimbledon (juniors) All Lower level tournaments Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Olympics - Rio de Janeiro ATP Cup - Brisbane, Perth, Sydney Davis Cup, Group I, PO, POR-POL 4-0 French Open (juniors)