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 Wimbledon - London Buenos Aires Challenger Manama Challenger Murcia Challenger M25 Mataro M25 Montauban Curitiba Challenger Oeiras 2 Challenger Estoril Challenger Ilkley Challenger Spain F32 Portugal F4 Portugal F5 Portugal F6 Spain F7 Portugal F1 Portugal F2 Portugal F3 Spain F17 Spain F18 Sweden F5 USA F26 Mexico F10 Mexico F11 USA F1 USA F2 USA F3 Mexico F1 Costa Rica F1 Colombia F2 Canada F1 Canada F2 Canada F3 Usa F7 Usa F8 Czech Rep. F2 Czech Rep. F3 Spain F18 Usa F14 Usa F15 Usa F18 Usa F5 Portugal F3 Switzerland F3 Spain F11 Italy F5 Usa F13 Usa F15 Brazil F22 France F13 Brazil F31 Brazil F32 Brazil F33 Brazil F1 Colombia F1 Colombia F2 USA F7 France F11 Brazil F26 France F16 Brazil F33 France F4 France F5 France F6 France F14 Greece F7 Hong Kong F1 France F3 Portugal F1 Portugal F2 Portugal F3 Vietnam F1 Vietnam F2 Vietnam F3 France F8 Greece F5 Bulgaria F2 Bulgaria F3 Slovenia F2 Slovenia F3 France F10 France F11 France F12 France F13 Finland F1 Austria F7 Austria F8 France F12 France F20 France F1 France F2 France F3 Spain F2 Spain F3 Spain F4 France F8 Spain F5 Croatia F5 Croatia F7 Italy F11 France F9 France F17 France F21 France F22 Belarus F3 Cyprus F2 Croatia F6 Italy F10 France F16 France F21 France F22 Greece F11 Israel F1 Israel F2 Italy F6 Italy F7 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 France F11 France F12 France F16 Switzerland F3 Switzerland F4 France F18 Sweden F4 Sweden F5 Canada F2 (Sherbrooke) Italy F9 (Santa Margherita Di Pula) France F9 (Angers) Tunisia F4 (Jerba) Tunisia F5 (Jerba) Italy F8 Italy F25 (Piombino) Italy F26 (Trieste) France F13 M15 Manacor M15 Manacor M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Faro M15 Loule M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25+H Ajaccio M15 Manacor M25 Nonthaburi M15 Sintra M25 Porto M25 Vale Do Lobo M25 Vale do Lobo M15 Monastir Switzerland F1 (Oberentfelden) M25 Koksijde Canada F1 (Gatineau) M25 Portimao M25 Monastir M25 Monastir M15 Monastir M25 Faro M25 Santa Margherita di Pula M25 Santa Margherita di Pula M25 La Nucia M25 Grasse France F15 (Ajaccio) Ireland F2 (Dublin) Greece F7 (Heraklion) Tunisia F6 (Jerba) Canada F1 (Gatineau) Canada F2 (Sherbrooke) USA F7 (Bakersfield) USA F8 (Calabasas) M15 Monastir Italy F9 (Santa Margherita Di Pula) France F9 (Grasse) Czech Republic F1 (Prague) France F13 (Ajaccio) Belgium F4 (Knokke) M25 Villeneuve-Loubet M25 Santa Margherita Di Pula M25 Skopje M25+H Toulouse M25 Bakio M25 Vogau M25+H Bydgoszcz M25 Santa Margherita Di Pula M25 Nonthaburi M15 Toulouse M15 Sintra M25 Villena M15 Monastir M15 Monastir M25 Faro M15 Monastir M25 Vale do Lobo M15 Monastir Naples Challenger - Naples M25 Vic M25 Trier M25 Figueira da Foz M25 Setubal M25 Loule M25 Quinta Do Lago M25 Vale do Lobo M25 Portimao M25 Huelva GHI Bronx Tennis Classic - Bronx M25 Santa Margherita di Pula Semgroup Challenger - Tulsa Ford Tennis Championships - Louisville M25 Casinalbo Abierto Internacional Varonil Ciudad de Cancun - Cancun Sao Paulo Challenger Salinas Challenger Oldum Brown Vancouver Open - Vancouver M25 Heraklion M25 Monastir M25 Quinta Do Lago JSM Challenger of Champaign - Urbana M25+H Ajaccio M25 Carnac Tunis Challenger Lexington Challenger M25 Santa Margherita di Pula M15 Monastir M25 Vila Real de Santo Antonio M25 Vila Real de Santo Antonio M25 Quinta do Lago M15 Torello M25 Vale do Lobo M25 Santa Margherita di Pula M25 Reus M25 Santa Margherita di Pula M25 Santa margherita di Pula Buenos Aires Challenger M25 Bol M25 Mataro M25 Bol Asuncion Challenger M25 Grasse M25 Villeneuve-Loubet Santiago Challenger M25+H Ajaccio Le Gosier Challenger M25 Porto Santos Challenger Kosice Challenger Marburg Challenger Campinas Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Sao Leopoldo Challenger ATP Challenger Tour Finals Sao Paulo Challenger Bucaramanga Challenger Itajai Challenger Braunschweig Challenger Meknes Challenger Campinas Challenger Kenitra Challenger Porto Alegre Challenger Sao Paulo Challenger Sao Jose Do Rio Preto Challenger Montevideo Challenger Bogota Challenger Guayaquil Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Panama City Challenger Barranquilla Challenger Itajai Challenger Sao Paulo Challenger Santos Challenger Aix En Provence Challenger Bordeaux Challenger Furth Challenger Blois Challenger Padova Challenger Marburg Challenger Braunschweig Challenger Todi Challenger Portoroz Challenger M25 Monastir Tampere Challenger Liberec Challenger Prague Challenger Meerbusch Challenger Campinas Challenger Orleans Challenger Porto Alegre Challenger Charlottesville Challenger Knoxville Challenger Champaign Challenger Noumea Challenger Bucaramanga Challenger Bergamo Challenger Santo Domingo Challenger Cherbourg Challenger Quimper Challenger Kazan Challenger Le Gosier Challenger Napoli Challenger Sarasota Challenger Savannah Challenger Mestre Challenger Caltanissetta Challenger Braunschweig Challenger Vancouver Challenger Como Challenger Meknes Challenger Campinas Challenger Corrientes Challenger Lima Challenger Guayaquil Challenger Bangkok Challenger Rio De Janeiro Challenger Jonkoping Challenger Kazan Challenger Napoli Challenger Barletta Challenger Turin Challenger Bordeaux Challenger Mestre Challenger Vicenza Challenger Prostejov Challenger Lyon Challenger 2007 Knoxville Challenger - Knoxville Milan Challenger Braunschweig Challenger Sao Paulo Challenger St. Remy Challenger Bancolombia Open - Bogota Brest Challenger Guayaquil Challenger Abierto Internacional de Salinas 'Dario Expreso' - Salinas Quimper Challenger Drummondville Challenger Sophia Antipolis Challenger Barletta Challenger Francavilla Challenger Bordeaux Challenger Mestre Challenger Todi Challenger Milan Challenger Segovia Challenger Floridablanca Challenger Santo Domingo Challenger Como Challenger Seville Challenger Rome Challenger Campinas Challenger Ortisei Challenger Buenos Aires Challenger Lima Challenger Montevideo Challenger Santiago Challenger Roma Open Challenger - Rome Santiago Challenger Le Gosier Challenger Barletta Challenger Tunis Challenger III Challenger Isla de Gran Canaria Ciudad de Telde - Telde Aix En Provence Challenger Mestre Challenger Shymkent Challenger Caltanissetta Challenger San Remo Tennis Cup - San Remo Como Challenger Tiburon Challenger Campinas Challenger Santo Domingo Challenger Nielsen USTA Pro Tennis Championship - Winnetka Calgary Challenger Challenger Banque Nationale - Granby Las Vegas Challenger Moncton Men's Challenger - Moncton Guayaquil Challenger Brasilia Challenger Buenos Aires Challenger Levene Gouldin & Thompson Tennis Challenger - Binghamton Orlando Challenger Columbus Challenger Chennai Challenger Cherbourg Challenger Francavilla Challenger Sacramento Challenger - Sacramento Nur-Sultan Challenger Tampere Challenger National Bank Men's Rimouski Challenger - Rimouski Seville Challenger Challenger Britania Zavaleta - Puebla Sibiu Challenger Campinas Challenger Santo Domingo Challenger Ann Arbor Challenger Bengalaru Challenger Sao Paulo Challenger Oeiras 1 Challenger Oeiras 3 Challenger Oeiras 4 Challenger Lyon Challenger Milan Challenger Porto Challenger Poznan Challenger San Marino Challenger Verona Challenger Maia 1 Challenger Maia 2 Challenger Oeiras 1 Challenger Oeiras 2 Challenger Amersfoort Challenger Tampere Challenger Lima Challenger Vancouver Challenger Mallorca Challenger Istanbul Challenger Vilnus Challenger Brest Challenger Sao Leopoldo Challenger Noumea Challenger Vilnius Challenger Pau Challenger Las Franquesas del Valles Challenger Aix En Provence Challenger Prague 2 Challenger Nottingham Challenger Oeiras 1 Challenger Oeiras 2 Challenger Tenerife 3 Challenger Girona Challenger Campos do Jordao Challenger Salvador Challenger Cassis Challenger Olbia Challenger Campinas Challenger Belo Horizonte Challenger Montevideo Challenger Bordeaux Challenger Sao Paulo Challenger Bucaramanga Challenger Cherbourg Challenger Dallas Challenger Irving Challenger Columbus Challenger Cassis Challenger Santos Challenger Bordeaux Challenger Francavilla Challenger Recife Challenger Porto Challenger Porto 2 Challenger Villena Challenger Prague Challenger Oeiras 1 Challenger Tenerife 1 Challenger Buenos Aires Challenger Charlottesville 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 Cherbourg Challenger Florianopolis Challenger Zagreb Challenger Blois Challenger Le Gosier Challenger Dallas Challenger Blumenau Challenger Porto Alegre Challenger Sao Paulo Challenger Santiago Challenger Sao Paulo Challenger Biella Challenger Bordeaux Challenger Caltanissetta Challenger Tiburon Challenger Arad Challenger Sarasota Challenger Tenerife 2 Challenger Timisoara Challenger Tampere Challenger Lima Challenger Sopot Challenger St. Remy Challenger St. Brieuc Challenger Lyon Challenger Lisbon Challenger Las Vegas Challenger Sao Paulo Challenger Belem Challenger Braga Challenger Oeiras 2 Challenger Biella 7 Challenger Forli Challenger Amersfoort Challenger Tampere Challenger Dallas Challenger Barletta Challenger Istanbul 2 Challenger Lisbon Challenger Bordeaux Challenger Aptos Challenger Bendigo Challenger Buenos Aires Challenger Montevideo Challenger Bucaramanga Challenger Zadar Challenger Forli 6 Challenger Genova Challenger Bordeaux Challenger Perugia Challenger Oeiras 3 Challenger Kobe Challenger Toyota Challenger Aix En Provence Challenger Aix En Provence Challenger Orleans Challenger Braunschweig Challenger Cassis Challenger Scheveningen Challenger St. Tropez Challenger Rio De Janeiro Challenger Biel Challenger Las Vegas Challenger Montevideo Challenger Guayaquil Challenger Puerto Vallarta Challenger Rennes Challenger Cherbourg Challenger Tunis Challenger Genova Challenger Montevideo Challenger Mallorca Challenger Seville Challenger Bangkok Challenger Bangkok Challenger Yokohama Challenger Rome Challenger Bordeaux Challenger Santa Fe 2 Challenger Braga Challenger Estoril Open - Estoril Koblenz Challenger Montevideo Challenger Waco Challenger Nonthaburi 1 Challenger Buenos Aires Challenger Lima Challenger Porto Challenger Lisbon Challenger Maia Challenger Braga Challenger Charleston Challenger Newport Beach Challenger Lisbon Challenger Naples Challenger Madrid Challenger Lima 2 Challenger Oeiras 3 Challenger Aix En Provence Challenger Forli 4 Challenger Oeiras 4 Challenger Aix En Provence Challenger Todi Challenger Lyon Challenger Poznan Challenger Grodzisk Mazowiecki Challenger Cassis Challenger Milan Challenger Brasov Challenger Valencia Challenger Pozoblanco Challenger Canberra Challenger Segovia Challenger Monterrey Challenger Manacor Challenger Seville Challenger Rennes Challenger Braga Challenger Sibiu Challenger Lisbon Challenger Roanne Challenger Guayaquil Challenger Lima 2 Challenger Oeiras 4 Challenger Montevideo Challenger Aix En Provence Challenger Oeiras 5 Challenger Oeiras 3 Challenger Montechiarugolo - Parma Challenger Girona Challenger Estoril Open - Estoril Barletta Challenger Girona Challenger Pilot Pen Tennis - New Haven Hersonissos 3 Challenger Manacor Challenger Sassuolo Challenger Pozoblanco Challenger Porto Challenger Hersonissos 4 Challenger Estoril Open - Estoril Estoril Open - Estoril Forli 5 Challenger VTR Open - Vina del Mar Brasil Open - Sao Paulo Portugal Open - Oeiras Delray Beach Open - Delray Beach Brasil Open - Sao Paulo Portugal Open - Oeiras Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg Moselle Open - Metz Lisbon Challenger Swiss Indoors Basel - Basel Open Sud de France - Montpellier Abierto Mexicano Telcel - Acapulco Brasil Open - Sao Paulo Konzum Croatia Open - Umag St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Apia International - Sydney Copa Claro - Buenos Aires Millennium Estoril Open - Estoril Bet-at-home Open - Hamburg Roseto Degli Abruzzi 2 Challenger Abierto Mexicano - Los Cabos Lille Challenger Millennium Estoril Open - Estoril Campinas Challenger Open 13 Provence - Marseille St. Brieuc Challenger Madrid Challenger Braunschweig Challenger Estoril Open - Estoril Gerry Weber Open - Halle Delray Beach International Tennis Championships - Delray Beach Braga Challenger Cherbourg Challenger Campbells Hall of Fame Tennis Championships - Newport Estoril Open - Estoril Open de Nice Cote d'Azur - Nice VTR Open - Vina del Mar Brasil Open - Sao Paulo Estoril Open - Estoril Copa Claro - Buenos Aires Delray Beach International Tennis Championships - Delray Beach Open Sud de France - Montpellier U.S. National Indoor Tennis Championships - Memphis Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha BB&T Atlanta Open - Atlanta Millennium Estoril Open - Estoril US Men's Clay Court Championship - Houston Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Argentina Open - Buenos Aires Open Parc - Lyon Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Argentina Open - Buenos Aires Generali Open - Kitzbuhel Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Millennium Estoril Open - Estoril Millennium Estoril Open - Estoril Sony Ericsson Open - Miami Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Miami Open - Miami Mutua Madrid Open - Madrid French Open - Paris French Open - Paris Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, SWE-POR 3-2 Wimbledon - London U.S. Open - New York Wimbledon - London U.S. Open - New York U.S. Open (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) French Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open - New York Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group II, 3R, POR-BLR 3-2 All Lower level tournaments Olympics - Rio de Janeiro Australian Open (juniors) Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group I, 2R, POR-UKR 4-1 Wimbledon (juniors) Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, PO, POR-POL 4-0