Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
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 Davis Cup, Group I, 1R, AUT-POR 1-3 French Open - Paris Spain F17 Spain F18 Spain F19 Spain F22 Spain F23 Spain F26 Spain F27 Spain F34 Spain F35 Portugal F4 Portugal F5 Spain F38 Spain F39 Spain F40 Spain F41 Spain F5 Spain F6 Spain F8 Spain F9 Spain F10 Spain F13 Spain F18 Spain F19 Spain F20 Spain F30 Spain F31 Spain F34 Portugal F7 Portugal F8 Spain F39 Spain F40 Spain F41 Spain F42 United Arab Emirates F1 United Arab Emirates F2 Spain F3 Spain F4 Spain F5 Spain F7 Spain F10 Spain F11 Turkey F4 Turkey F5 Turkey F6 Spain F16 Spain F17 Spain F18 Spain F20 Spain F21 France F12 Spain F28 Spain F29 Spain F30 Portugal F4 Portugal F5 Spain F35 Spain F37 Spain F3 Spain F4 Italy F2 Italy F3 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 Italy F17 Spain F31 Spain F35 Spain F36 France F3 France F4 Spain F12 Spain F14 Spain F15 France F8 France F11 Turkey F25 Spain F36 Turkey F26 Spain F37 Spain F38 Kuwait F1 Kuwait F2 France F4 Argentina F6 France F8 France F9 Sweden F3 Serbia F13 France F13 France F14 Serbia F12 Serbia F14 USA F29 Mexico F12 Mexico F13 Mexico F14 Israel F3 Turkey F5 Vietnam F1 Vietnam F2 Vietnam F3 Spain F12 Bulgaria F4 Bulgaria F5 Bulgaria F6 Estonia F1 Estonia F2 Egypt F24 Egypt F25 Armenia F1 Armenia F2 Egypt F29 Egypt F30 India F1 Croatia F13 Romania F4 Bulgaria F3 Bulgaria F5 Bulgaria F6 Romania F9 Romania F10 Italy F35 Peru F9 Brazil F11 Brazil F12 Iran F12 Tunisia F5 Iran F4 Iran F5 Croatia F5 Croatia F6 France F8 Lithuania F1 Tunisia F26 France F22 (Nevers) Spain F13 USA F7 (Bakersfield) USA F8 (Calabasas) India F4 M25+H Nevers M25+H Rodez M25 Vogau India F5 Spain F33 Spain F3 Spain F17 Romania F11 Romania F10 Spain F33 M25 Sabadell M25 Split Orbetello Challenger M25 Angers M25 Lesa Brasov Challenger M15 Ceuta M25 Hazebrouck M25 Creteil M25 Angers Mamaia Challenger - Constanta M25 Glasgow Seville Challenger Tarragona Challenger Rennes Challenger Leon Challenger Tallahassee Challenger Reggio Emilia Challenger Tampere Challenger Istanbul Challenger Manerbio Challenger Seville Challenger Izmir Challenger Sao Paulo Challenger Courmayeur Challenger Casablanca Challenger Tampere Challenger San Marino Challenger San Sebastian Challenger Szczecin Challenger Eckental Challenger Tanger Challenger Kazan Challenger Meknes Challenger Casablanca Challenger Marrakech Challenger Sibiu Challenger Cordenons Challenger Como Challenger Alphen Challenger Trnava Challenger Bordeaux Challenger Arad Challenger Furth Challenger Kosice Challenger Poznan Challenger Guimaraes Challenger M15 Bucharest Kolkata Challenger New Delhi Challenger Santiago Challenger Santos Challenger Cali Challenger Bordeaux Challenger Arad Challenger Brasov Challenger Szczecin Challenger Montevideo Challenger Ostrava Challenger Aix En Provence Challenger Todi Challenger Poznan Challenger Liberec Challenger Vancouver Challenger Meknes Challenger Banja Luka Challenger Mohammedia Challenger Lima Challenger Noumea Challenger Bucaramanga Challenger Santo Domingo Challenger Guadalajara Challenger San Luis Potosi Challenger Nanjing Challenger Aix En Provence Challenger Bordeaux Challenger Lyon Challenger Liberec Challenger Fano Challenger St. Remy Challenger Szczecin Challenger Rome Challenger Santiago Challenger Lima Challenger Noumea Challenger Rennes Challenger Quimper Challenger Cherbourg Challenger Santiago Challenger Sophia Antipolis Challenger Qingdao Challenger M25 Monastir M25 Sintra Bordeaux Challenger Mestre Challenger Lyon Challenger Blois Challenger M25 Esch/Alzette Meerbusch Challenger Manerbio Challenger M25 Carnac Rabat Challenger Brest Challenger Eckental Challenger Noumea Challenger Rennes Challenger Quimper Challenger Cherbourg Challenger M15 Lannion Punta Del Este Challenger Santiago Challenger M25 Saint-Dizier Le Gosier Challenger M15 Dubrovnik Ostrava Challenger Braga Challenger Heilbronn Challenger Bordeaux Challenger M15 Poitiers Poznan Challenger Lyon Challenger Blois Challenger Milan Challenger Biella Challenger Almaty Challenger Tashkent Challenger Calgary Challenger Las Vegas Challenger Mouilleron-Le-Captif Challenger Guangzhou Challenger Orlando Challenger Columbus Challenger Quimper Challenger Meerbusch Challenger Zhangjiagang Challenger Pingguo Challenger M25 Santa Margherita di Pula Bratislava Challenger Biella 1 Challenger Biella 4 Challenger Lille Challenger Oeiras 4 Challenger Aix En Provence Challenger Pozoblanco Challenger Segovia Challenger Budapest Challenger Mallorca Challenger Roanne Challenger Helsinki Challenger Bendigo Challenger Furth Challenger Quimper Challenger Gran Canaria Challenger Roseto Degli Abruzzi 1 Challenger Cherbourg Challenger Roseto Degli Abruzzi 2 Challenger Oeiras 1 Challenger Madrid Challenger Aix En Provence Challenger Bordeaux Challenger Francavilla Challenger Pau Challenger Marburg Challenger Braunschweig Challenger Braga Challenger Mouilleron-Le-Captif Challenger Brest Challenger Roanne Challenger Cherbourg Challenger Rovereto Challenger Pau Challenger Shenzhen Challenger Phoenix Challenger Girona Challenger Ostrava Challenger Aix En Provence Challenger Olbia Challenger Calgary Challenger Oeiras 1 Challenger Quimper Challenger Lugano Challenger Segovia Challenger Murcia Challenger Trnava Challenger Milan Challenger Iasi Challenger Madrid Challenger Biel Challenger Napoli 2 Challenger Bergamo Challenger Tenerife Challenger St. Tropez Challenger Bengalaru 1 Challenger Bengalaru 2 Challenger Lyon Challenger St. Tropez Challenger Murcia Challenger Verona Challenger Porto Challenger Como Challenger Seville Challenger Cassis Challenger Tampere Challenger Girona Challenger Blois Challenger Trieste Challenger Mouilleron-Le-Captif Challenger Bratislava 2 Challenger Quimper Challenger Lyon Challenger St. Brieuc Challenger Kenitra Challenger Kos Succhetti Tennis Cup - Cordenons 84° Concurso Internacional Tenis San Sebastian - San Sebastian Orleans Challenger Aix En Provence Challenger Brest Challenger Bratislava Challenger Rabat Challenger Cherbourg Challenger Recanati Challenger Mersin Challenger Kosice Challenger Estoril Open - Estoril Estoril Open - Estoril Split Challenger Barcelona Challenger If Stockholm Open - Stockholm Quimper Challenger Antalya 2 Challenger Open 13 - Marseille Quimper 2 Challenger St. Brieuc Challenger Estoril Open - Estoril Split 2 Challenger Ostrava Challenger St. Tropez Challenger Orleans Challenger Rome Challenger Todi Challenger Kosice Challenger German Tennis Championships - Hamburg Murcia Challenger Heineken Open - Auckland Milan Challenger Santiago Challenger Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Studena Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Open 13 - Marseille Copa Claro - Buenos Aires Cremona Challenger Power Horse Cup - Dusseldorf Alicante Challenger Quimper Challenger Bergamo Challenger Winston-Salem Open - Winston-Salem Ismaning Challenger Pau Challenger Malaysian Open - Kuala Lumpur Cherbourg Challenger Valencia Open - Valencia Todi Challenger San Benedetto Challenger Apia International - Sydney Open Sud de France - Montpellier Tampere Challenger Rio Open 500 - Rio de Janeiro Abierto Mexicano Telcel - Acapulco San Juan Challenger Grand Prix Hassan II - Casablanca Rio De Janeiro Challenger Power Horse Cup - Dusseldorf Lyon Challenger Bordeaux Challenger Gerry Weber Open - Halle Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Padova Challenger Vegeta Croatia Open - Umag Porto Alegre Challenger Winston-Salem Open - Winston-Salem Moselle Open - Metz Malaysian Open - Kuala Lumpur China Open - Beijing If Stockholm Open - Stockholm Heineken Open - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Montevideo Challenger Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva Topshelf Open - 's-Hertogenbosch Aegon Nottingham Open - Nottingham Vegeta Croatia Open - Umag Meknes Challenger 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 Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam 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 Orleans Challenger Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Rakuten Japan Open - Tokyo Marrakech Challenger Erste Bank Open - Vienna Apia International - Sydney Garanti Koza Sofia Open - Sofia Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Gerry Weber Open - Halle 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 Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Antalya Cup - Antalya Chengdu Open - Chengdu ASB Classic - Auckland Rio Open - Rio de Janeiro 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 Intrum Stockholm Open - Stockholm ASB Classic - Auckland Dubai Duty Free Tennis Championships - Dubai Generali Open - Kitzbuhel European Open - Antwerp Cordoba Open - Cordoba Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade 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 Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva Noventi Open - Halle Mallorca Championships - Mallorca Nordea Open - Bastad Swiss Open - Gstaad Generali Open - Kitzbuhel Aircel Chennai Open - Chennai Apia International - Sydney Winston-Salem Open - Winston-Salem Aircel Chennai Open - Chennai Tunis Challenger Moselle Open - Metz Stockholm Open - Stockholm Erste Bank Open - Vienna Helsinki Challenger St. Brieuc Challenger Tel Aviv Watergen Open - Tel Aviv ASB Classic - Auckland Cordoba Open - Cordoba Barcelona Open BancSabadell - Barcelona Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Millennium Estoril Open - Estoril Prague 3 Challenger Turin Challenger Lisbon Challenger Oeiras 2 Challenger ASB Classic - Auckland Anning Challenger Abierto Mexicano Telcel - Acapulco Casablanca Challenger AEGON Championships - London Moselle Open - Metz Seville Challenger St. Tropez Challenger Dubai Duty Free Tennis Championships - Dubai Blois Challenger Portugal Open - Oeiras Rome Challenger Guayaquil Challenger Bordeaux Challenger Cassis Challenger Furth Challenger ASB Classic - Auckland China Open - Beijing Guayaquil Challenger Buenos Aires Challenger SkiStar Swedish Open - Bastad Anning Challenger Madrid Challenger Bastad Challenger Quimper Challenger Glasgow Challenger Mouilleron-Le-Captif Challenger ABN AMRO World Tennis Tournament - Rotterdam Ortisei Challenger San Benedetto Challenger Quimper Challenger Mouilleron-Le-Captif Challenger Trieste Challenger Gerry Weber Open - Halle Prague Challenger Francavilla Challenger Blois Challenger Como Challenger Losinj Challenger Brest Challenger Meknes Challenger Noumea Challenger Mersin Challenger Mestre Challenger Blois Challenger Scheveningen Challenger Mercedes Cup - Stuttgart Brasil Open - Sao Paulo Bergamo Challenger Oeiras 3 Challenger Porto Challenger Parma Challenger Mallorca Challenger Open Parc - Lyon Szekesfehervar Challenger Cassis Challenger Rennes Challenger Rakuten Japan Open - Tokyo Swiss Indoors Basel - Basel Tunis Challenger Skopje Challenger Vicenza Challenger Blois Challenger Moselle Open - Metz Orleans Challenger Braga Challenger Hamburg European Open - Hamburg Open Parc - Lyon Ortisei Challenger Gijon Open - Gijon Rio Open - Rio de Janeiro Drummondville Challenger Millennium Estoril Open - Estoril Grand Prix Hassan II - Marrakech Maia Challenger Koblenz Challenger Tenerife 3 Challenger Heilbronn Challenger BNP Paribas Open - Indian Wells Sony Open Tennis - Miami 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 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 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 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 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 Valencia Open - Valencia Open 13 - Marseille Antalya Cup - Antalya Western & Southern Open - Cincinnati Naples Challenger ASB Classic - Auckland Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Shanghai Rolex Masters - Shanghai Swiss Indoors Basel - Basel Argentina Open - Buenos Aires Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Internazionali BNL d'Italia - Rome Western & Southern Open - New York Open 13 Provence - Marseille Millennium Estoril Open - Estoril VTR Open - Vina del Mar Tunis Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Serbia Open - Belgrade Quimper Challenger Lille Challenger Monte-Carlo Rolex Masters - Monte-Carlo Bordeaux Challenger Noumea Challenger Modena Challenger BNP Paribas Open - Indian Wells Lisbon Challenger Miami Open - Miami Rome 1 Challenger Mouilleron-Le-Captif Challenger Monte-Carlo Rolex Masters - Monte-Carlo Cassis Challenger Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal Bratislava Challenger Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Bordeaux Challenger Brasil Open - Sao Paulo Winston-Salem Open - Winston-Salem Trieste Challenger Bordeaux Challenger Estoril Open - Estoril Monte-Carlo Rolex Masters - Monte-Carlo Copa Claro - Buenos Aires Mutua Madrid Open - Madrid Qatar ExxonMobil Open - Doha Kremlin Cup - Moscow Open 13 Provence - Marseille Internazionali BNL d'Italia - Rome St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu European Open - Antwerp Open Sud de France - Montpellier Shenzhen Open - Shenzhen Swiss Indoors Basel - Basel Barcelona Open BancSabadell - Barcelona Open 13 - Marseille St. Petersburg Open - St. Petersburg Open Sud de France - Montpellier Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Rogers Cup - Toronto Australian Open - Melbourne 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 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 Australian Open Qualifying - Doha 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 II, 1R, POR-MAR 4-1 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, PO, RUS-POR 4-1 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, 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, 1R, POR-BRA 3-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, World Group, PO, POR-CZE 1-3 Davis Cup, World Group, Q, FIN-POR 3-1 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, UKR-POR 3-1 French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) French Open (juniors) Wimbledon (juniors) All Lower level tournaments Olympics - Rio de Janeiro Olympics - Tokyo Davis Cup, Group I, PO, POR-RSA 4-0