Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005
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 Prague 3 Challenger Mallorca Challenger Davis Cup, Group I, 1R, AUT-POR 1-3 Braga Challenger Bratislava 2 Challenger Lisbon Challenger Ortisei Challenger Ismaning Challenger Calgary Challenger Drummondville Challenger Oeiras 2 Challenger Oeiras 1 Challenger Davis Cup, World Group, Q, FIN-POR 3-1 Girona Challenger Millennium Estoril Open - Estoril Orleans Challenger Mouilleron-Le-Captif Challenger Francavilla Challenger Cassis Challenger France F19 France F2 France F3 France F6 France F8 France F9 France F10 France F11 France F13 France F14 France F16 France F17 France F3 Spain F12 France F7 Spain F16 Spain F17 Spain F18 Spain F19 Spain F22 Spain F23 France F10 Spain F26 France F11 Spain F27 Spain F31 Spain F33 Spain F34 France F14 Spain F35 Spain F36 Portugal F4 Spain F37 Portugal F5 Tunisia F4 Spain F38 Tunisia F5 Spain F39 Tunisia F6 Spain F40 Spain F41 Spain F42 Portugal F1 Portugal F2 Spain F3 Portugal F3 France F3 Spain F5 Spain F6 Spain F8 Spain F9 Italy F4 Spain F10 Italy F6 Italy F7 Spain F13 Spain F14 Turkey F4 Turkey F5 Spain F17 Turkey F6 Spain F18 Spain F19 Spain F20 France F9 France F10 Romania F10 France F11 Romania F11 Spain F30 Spain F31 Spain F33 Spain F34 Portugal F7 Portugal F8 Spain F39 Spain F40 Spain F41 Spain F42 United Arab Emirates F1 United Arab Emirates F2 Great Britain F1 Great Britain F2 Spain F3 France F2 Spain F4 France F3 Spain F5 Spain F7 Spain F10 Spain F11 Turkey F4 Turkey F5 France F7 Turkey F6 Italy F8 Spain F16 Spain F17 Spain F18 Spain F20 Spain F21 France F11 France F12 Germany F12 Spain F28 Russia F4 Russia F3 Spain F29 Spain F30 Portugal F4 Portugal F5 Usa F25 Spain F35 Usa F26 Spain F37 Germany F1 Germany F2 Spain F3 Germany F3 Spain F4 France F2 France F4 Italy F2 Italy F3 Brazil F1 Brazil F2 Brazil F3 Brazil F4 Great Britain F6 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 France F8 France F9 France F10 France F11 Italy F17 Italy F18 Belgium F2 Spain F31 Morocco F6 Spain F35 France F16 France F17 Spain F36 France F19 France F20 Rodez Spain F1 Spain F2 France F1 Turkey F5 Turkey F6 France F4 France F7 Spain F14 Spain F15 France F9 France F10 Italy F22 Netherlands F5 Netherlands F6 Spain F36 France F17 Spain F37 France F18 Spain F38 Great Britain F17 USA F1 USA F2 France F6 Italy F3 France F7 France F9 Italy F7 Italy F8 France F11 France F12 Belgium F7 Italy F23 Germany F16 Spain F30 Spain F32 France F22 France F4 France F5 France F9 Spain F13 France F1 France F2 France F3 France F4 Italy F4 France F23 France F24 France F4 France F5 France F6 France F7 France F8 France F3 France F18 Brazil F7 Brazil F8 France F5 Italy F13 France F10 France F13 Belgium F6 France F15 France F21 France F6 Italy F2 Italy F3 France F10 Croatia F2 France F9 France F13 France F14 France F21 France F23 Norway F3 USA F8 France F6 France F8 France F11 France F12 France F13 France F15 Italy F24 Italy F25 Kos Succhetti Tennis Cup - Cordenons USA F9 Switzerland F2 (Bellevue) Tunisia F10 (Hammamet) Spain F8 (Reus) Spain F9 (Madrid) Italy F9 (Santa Margherita Di Pula) France F22 (Nevers) M25 Bourg-En-Bresse M25 Gandia M25 Troyes M15 Eupen M25 Bagneres-De-Bigorre M25+H Mulhouse M25+H Plaisir M25 Jounieh M25 Jounieh M15 Tabarka M15 Antalya M15 Antalya M15+H Bagnoles-de-l'Orne M15 Antalya M15 Antalya M15 Palmanova M15 Paguera M15 Monastir M15 Monastir M25+H Plaisir M25+H Rodez M15 Heraklion M15+H Bressuire M15 Bratislava M15 Bratislava M15 Valldoreix M15 Helsinki M25 Montauban M25 Bourg-en-Bresse Rogers Cup - Toronto Open de Montauban - Montauban Open de L'Isere-Trophee BNP Paribas - Grenoble Internationaux de Doubs Open de Franchie-Comte - Besancon Geneva Challenger - Geneva Open D'Orleans - Orleans Internationaux du Doubs - Besancon Challenger DCNS de Cherbourg - Cherbourg BNP Paribas Primrose - Bordeaux Polska Energia Open - Bytom Mamaia Challenger - Constanta Moncton Men's Challenger - Moncton Akbank Private Banking TED Open - Istanbul 84° Concurso Internacional Tenis San Sebastian - San Sebastian Open D'Orleans - Orleans Open des Alpes Trophee BNP Paribas - Grenoble Open de Rennes - Rennes Kobstaedernes ATP Challenger - Kolding Cherbourg Challenger Caltanissetta Challenger Barletta Challenger Blumenau Challenger Orbetello Challenger San Sebastian Challenger Como Challenger Seville Challenger St. Remy Challenger Ljubljana Challenger Napoli Challenger Tarragona Challenger Rennes Challenger Charlottesville Challenger Knoxville Challenger Tanger Challenger Meknes Challenger Cherbourg Challeger Rabat Challenger Marrakech Challenger Napoli Challenger Leon Challenger Tallahassee Challenger Tunis Challenger Bordeaux Challenger Lugano Challenger Reggio Emilia Challenger Turin Challenger Recanati Challenger Tampere Challenger Kitzbuhel Challenger Istanbul Challenger Manerbio Challenger Geneva Challenger Seville Challenger Alphen Challenger Izmir Challenger Trnava Challenger Sao Paulo Challenger Heilbronn Challenger Courmayeur Challenger Quimper Challenger Casablanca Challenger Cherbourg Challenger Caltanissetta Challenger Pingguo Challenger St. Brieuc Challenger Rome Challenger Ostrava Challenger Prague Challenger Bordeaux Challenger Cremona Challenger Furth Challenger Rijeka Challenger Kosice Challenger Marburg Challenger Braunschweig Challenger San Benedetto Challenger Orbetello Challenger Tampere Challenger Segovia Challenger San Marino Challenger San Sebastian Challenger Alphen Challenger Seville Challenger Szczecin Challenger Todi Challenger Guangzhou Challenger Trnava Challenger Madrid Challenger Eckental Challenger Bucaramanga Challenger Kazan Challenger Dallas Challenger Quimper Challenger Bergamo Challenger Meknes Challenger Casablanca Challenger Salinas Challenger Rabat Challenger Marrakech Challenger Mersin Challenger Rome Challenger Bordeaux Challenger Furth Challenger Kosice Challenger Milan Challenger Tampere Challenger Sibiu Challenger Cordenons Challenger Como Challenger Alphen Challenger Petange Challenger Trnava Challenger Madrid Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Geneva Challenger Montevideo Challenger Maui Challenger Burnie Challenger West Lakes Challenger Cherbourg Challenger Ostrava Challenger Bordeaux Challenger Arad Challenger Furth Challenger Blois Challenger Kosice Challenger Timisoara Challenger Todi Challenger San Benedetto Challenger Poznan Challenger Guimaraes Challenger San Marino Challenger Quimper Challenger Panama City Challenger Barranquilla Challenger Le Gosier Challenger Mersin Challenger Vercelli Challenger Aix En Provence Challenger Bordeaux Challenger Blois Challenger Scheveningen Challenger Oberstaufen Challenger Liberec Challenger Como Challenger Brasov Challenger Seville Challenger Sibiu Challenger Reunion Island Challenger Noumea Challenger Hong Kong Challenger Glasgow Challenger Bergamo Challenger Cherbourg Challenger Aix En Provence Challenger Bordeaux Challenger Furth Challenger Moscow Challenger Blois Challenger Milan Challenger Tampere Challenger Portoroz Challenger St. Remy Challenger Nanchang Challenger Kaohsiung Challenger Rennes Challenger Mouilleron-Le-Captif Challenger Mendoza Challenger Buenos Aires Challenger Rio De Janeiro Challenger Santo Domingo Challenger St. Brieuc Challenger Ostrava Challenger Aix En Provence Challenger Bordeaux Challenger Lyon Challenger Blois Challenger Liberec Challenger Manerbio Challenger Szczecin Challenger Sibiu Challenger Ningboo Challenger Suzhou Challenger Mouilleron-Le-Captif Challenger Bangkok Challenger Quimper Challenger Wroclaw Challenger Francavilla Challenger Aix En Provence Challenger Bordeaux Challenger Blois Challenger Milan Challenger Perugia Challenger Poznan Challenger Liberec Challenger Genova Challenger Istanbul Challenger Orleans Challenger Brest Challenger Recanati Challenger Le Gosier Challenger Bordeaux Challenger Szczecin Challenger Orleans Challenger Cherbourg Challenger Blois Challenger Antalya 2 Challenger Cherbourg Challenger Lyon Challenger Iasi Challenger Mallorca Challenger Cassis Challenger Kyiv Challenger Biel Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Alicante Challenger Brest Challenger Tenerife Challenger Bratislava Challenger Helsinki Challenger Quimper Challenger Turin Challenger Rome 1 Challenger Aix En Provence Challenger Trieste Challenger Vancouver Challenger Granby Challenger Roanne Challenger Quimper Challenger Pau Challenger Phoenix Challenger St. Brieuc Challenger Girona Challenger Sarasota Challenger Oeiras 3 Challenger Aix En Provence Challenger Tunis Challenger Vicenza Challenger Maia Challenger Grand Prix de Tennis de Lyon - Lyon Open 13 - Marseille Generali Open - Kitzbuhel Estoril Open - Estoril Grand Prix de Tennis de Lyon - Lyon Open 13 - Marseille Estoril Open - Estoril Estoril Open - Estoril Open de Nice Cote dAzur - Nice If Stockholm Open - Stockholm Open Sud de France - Montpellier Open 13 - Marseille Estoril Open - Estoril Open de Nice Cote d'Azur - Nice AEGON Championships - London German Tennis Championships - Hamburg BCR Open Romania - Bucharest Aircel Chennai Open - Chennai Heineken Open - Auckland Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Open de Nice Cote d'Azur - Nice Studena Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Moselle Open - Metz Aircel Chennai Open - Chennai Apia International - Sydney VTR Open - Vina del Mar Brasil Open - Sao Paulo Open 13 - Marseille Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Open de Nice Cote d'Azur - Nice Power Horse Cup - Dusseldorf Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Malaysian Open - Kuala Lumpur Kremlin Cup - Moscow Valencia Open - Valencia Qatar ExxonMobil Open - Doha Apia International - Sydney Open Sud de France - Montpellier Copa Claro - Buenos Aires Rio Open 500 - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras Power Horse Cup - Dusseldorf Gerry Weber Open - Halle Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Vegeta Croatia Open - Umag Winston-Salem Open - Winston-Salem Moselle Open - Metz Malaysian Open - Kuala Lumpur China Open - Beijing If Stockholm Open - Stockholm Valencia Open - Valencia Heineken Open - Auckland Apia International - Sydney Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva Topshelf Open - 's-Hertogenbosch AEGON Championships - London Aegon Nottingham Open - Nottingham Vegeta Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Valencia Open - Valencia St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril ASB Classic - Auckland Open Sud de France - Montpellier Ecuador Open - Quito ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open de Nice Cote d'Azur - Nice Gerry Weber Open - Halle Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo European Open - Antwerp Erste Bank Open - Vienna ASB Classic - Auckland Open Sud de France - Montpellier Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Open 13 - Marseille Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril BMW Open - Munich Geneva Open - Geneva Gerry Weber Open - Halle Antalya Cup - Antalya Konzum Croatia Open - Umag Suisse Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Rakuten Japan Open - Tokyo European Open - Antwerp Swiss Indoors Basel - Basel ASB Classic - Auckland Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open Parc - Lyon Gerry Weber Open - Halle Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu China Open - Beijing Swiss Indoors Basel - Basel ASB Classic - Auckland Open Sud de France - Montpellier Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Libema Open - 's-Hertogenbosch Noventi Open - Halle Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad Swiss Open - Gstaad Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Generali Open - Kitzbuhel European Open - Antwerp Hamburg European Open - Hamburg Cordoba Open - Cordoba Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Millennium Estoril Open - Estoril Open Parc - Lyon Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Hall of Fame Open - Newport Sardegna Open - Cagliari Melbourne Summer Set - Melbourne Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Serbia Open - Belgrade Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Nordea Open - Bastad Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz Stockholm Open - Stockholm Erste Bank Open - Vienna Tel Aviv Watergen Open - Tel Aviv Gijon Open - Gijon ASB Classic - Auckland Cordoba Open - Cordoba Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Chile Dove Men+Care Open - Santiago Millennium Estoril Open - Estoril Masters Series Monte-Carlo - Monte Carlo BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome French Open - Paris French Open - Paris French Open - Paris French Open - Paris Australian Open - Melbourne 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 Wimbledon - London U.S. Open - New York Shenzhen Open - Shenzhen Australian Open - Melbourne 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 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 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 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 Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Group I, 2R, SUI-POR 5-0 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, 2R, POR-FIN 4-1 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 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, World Group, PO, POR-GER 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, PO, UKR-POR 3-1 Davis Cup, Group I, PO, POR-RSA 4-0 Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Group I, 1R, BLR-POR 3-2 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, Group I, 1R, POR-BRA 3-1 French Open (juniors) U.S. Open (juniors) Australian Open (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) French Open (juniors) All Lower level tournaments Davis Cup, World Group, PO, POR-CZE 1-3 Olympics - Rio de Janeiro Olympics - Tokyo