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 BNP Paribas Open - Indian Wells 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 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 F10 Spain F35 France F20 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 F4 Spain F14 Spain F15 France F9 Spain F36 Spain F37 Spain F38 France F1 France F2 France F5 France F9 France F11 France F12 France F14 Belgium F7 France F15 France F21 France F1 France F2 France F3 Great Britain F4 France F4 France F5 France F6 France F7 France F8 Spain F10 Spain F11 Spain F15 Spain F16 Belgium F1 France F10 France F12 Germany F12 Belgium F8 Belgium F9 Belgium F10 Germany F16 Sweden F5 France F21 Germany F3 Great Britain F3 Great Britain F5 France F4 Ukraine F1 Egypt F13 Egypt F14 France F8 France F9 Ukraine F4 Ukraine F5 Portugal F6 France F11 France F12 France F13 Belgium F10 Romania F13 France F1 France F2 France F3 Egypt F6 France F4 France F6 France F7 Ukraine F3 Italy F14 France F11 France F14 France F12 France F13 Belgium F8 Belgium F9 Italy F22 Netherlands F6 France F1 France F2 Germany F3 France F6 France F12 France F15 Ukraine F2 France F1 (Bagnoles-de-l'Orne) Hungary F4 (Gyula) France F14 (Bourg-en-Bresse) France F20 (Plaisir) France F22 (Nevers) France F23 (Saint-Dizier) France F24 (Rodez) Czech Republic F12 (Prague) France F1 (Bagnoles-de-l'Orne) France F2 (Bressuire) Sweden F2 Belgium F9 Ukraine F3 Netherlands F5 Sweden F3 France F11 Sweden F6 France F1 Kos Succhetti Tennis Cup - Cordenons Italy F27 Spain F33 Spain F3 Spain F17 Romania F11 Romania F10 Spain F33 Tarragona Challenger Rennes Challenger Tanger Challenger Leon Challenger Istanbul Challenger Manerbio Challenger Seville Challenger Sao Paulo Challenger Courmayeur Challenger Quimper Challenger Furth Challenger Marburg Challenger Tampere Challenger San Marino Challenger San Sebastian Challenger Szczecin Challenger Eckental Challenger Kazan Challenger Meknes Challenger Casablanca Challenger Marrakech Challenger Mersin Challenger Milan Challenger Tampere Challenger Sibiu Challenger Cordenons Challenger Como Challenger Alphen Challenger Rio De Janeiro Challenger St. Brieuc Challenger Bordeaux Challenger Furth Challenger Kosice Challenger Todi Challenger San Benedetto Challenger Poznan Challenger Guimaraes Challenger Petange Challenger Egypt F7 Rennes Challenger Quimper Challenger Istanbul Challenger Alphen Challenger Ostrava Challenger Scheveningen Challenger Alphen Challenger Sophia Antipolis Challenger Barletta Challenger Francavilla Challenger Ostrava Challenger Blois Challenger Biella Challenger Como Challenger Mamaia Challenger - Constanta Szczecin Challenger Orbetello Challenger Seville Challenger Rabat Challenger Budapest Challenger Cherbourg Challenger St. Brieuc Challenger Tallahassee Challenger Reggio Emilia Challenger Casablanca Challenger Recanati Challenger Prague Challenger Tampere Challenger Portoroz Challenger Izmir Challenger Portoroz Challenger Gran Canaria 1 Challenger Cherbourg Challenger Pau Challenger Kosice Challenger Nottingham Challenger Malaga Challenger Vancouver Challenger Bratislava 2 Challenger Oeiras 2 Challenger Rennes Challenger Bratislava 2 Challenger Yokohama Challenger Nottingham 2 Challenger Netherlands F5 St. Brieuc Challenger Rabat Challenger Kosice Challenger Trnava Challenger Manerbio Challenger Lyon Challenger Orleans Challenger Heilbronn Challenger Aix En Provence Challenger Aix En Provence Challenger Guangzhou Challenger Pingguo Challenger Marburg Challenger Bastad Challenger Orleans Challenger Ortisei Challenger Braunschweig Challenger St. Brieuc Challenger St. Tropez Challenger Meerbusch Challenger Quimper Challenger Quimper Challenger Prague Challenger Pau Challenger Porto Challenger Liberec Challenger Drummondville Challenger Segovia Challenger Szczecin Challenger Oeiras 1 Challenger Luedenscheid Challenger Barletta Challenger Orleans Challenger Ostrava Challenger Ilkley Challenger Trnava Challenger Madrid Challenger Prostejov Challenger Milan Challenger Villena Challenger Blois Challenger Orleans Challenger Girona Challenger Brest Challenger Rennes Challenger Quimper Challenger Bergamo Challenger Bordeaux Challenger Blois Challenger Liberec Challenger Mouilleron-Le-Captif Challenger Playford Challenger Rennes Challenger Quimper Challenger Prague 3 Challenger Lyon Challenger Ludwigshafen Challenger Szczecin Challenger Maia Challenger Cherbourg Challenger Biella 2 Challenger Lyon Challenger Blois Challenger Meerbusch Challenger Mallorca Challenger St. Tropez Challenger Kyiv Challenger Rennes Challenger Biel Challenger Tenerife Challenger Pau Challenger Helsinki Challenger Lille Challenger St. Brieuc Challenger Cassis Challenger Prague 1 Challenger Aix En Provence Challenger Heilbronn Challenger Olbia Challenger Segovia Challenger Aix En Provence Challenger Phoenix Challenger Girona Challenger Aix En Provence Challenger Surbiton Challenger Nottingham Challenger Estoril Open - Estoril St. Tropez Challenger Olbia Challenger Calgary Challenger Quimper Challenger Phoenix Challenger Manama Challenger Estoril Open - Estoril Glasgow Challenger San Diego Challenger Guangzhou Challenger Cap Cana Challenger Morelia Challenger Gwangju Challenger Wuxi Challenger 84° Concurso Internacional Tenis San Sebastian - San Sebastian If Stockholm Open - Stockholm Orleans Challenger Ismaning Challenger Brest Challenger Bratislava Challenger Maia Challenger Rennes Challenger Quimper Challenger Cherbourg Challenger Split Challenger Hamburg Challenger Open Sabadell Atlantico - Barcelona Quimper Challenger Antalya 2 Challenger Estoril Open - Estoril St. Brieuc Challenger Ostrava Challenger Quimper Challenger Credit Agricole Suisse Open - Gstaad Rome Challenger Jonkoping Challenger Lisbon Challenger Mouilleron-Le-Captif Challenger Aircel Chennai Open - Chennai Apia International - Sydney Brasil Open - Sao Paulo Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Alphen Challenger Cremona Challenger Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Alicante Challenger Quimper Challenger Bergamo Challenger Open Sud de France - Montpellier Le Gosier Challenger Rio Open 500 - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Cherbourg Challenger Todi Challenger San Benedetto Challenger Portugal Open - Oeiras Topshelf Open - 's-Hertogenbosch Gran Canaria 2 Challenger Vegeta Croatia Open - Umag Rennes Challenger San Juan Challenger China Open - Beijing Porto Alegre Challenger Open Sud de France - Montpellier Montevideo Challenger Noumea Challenger ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Meknes Challenger Open 13 - Marseille Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva Poznan Challenger Marrakech Challenger St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril Grand Prix Hassan II - Marrakech BRD Nastase Tiriac Trophy - Bucharest SkiStar Swedish Open - Bastad Winston-Salem Open - Winston-Salem Erste Bank Open - Vienna Porto Challenger ASB Classic - Auckland Rio Open - Rio de Janeiro Geneva Open - Geneva Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Generali Open - Kitzbuhel Power Horse Cup - Dusseldorf Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Rakuten Japan Open - Tokyo European Open - Antwerp ASB Classic - Auckland Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Gerry Weber Open - Halle Antalya Cup - Antalya Mersin Challenger Moselle Open - Metz European Open - Antwerp ASB Classic - Auckland Open 13 Provence - Marseille Geneva Open - Geneva SkiStar Swedish Open - Bastad Swiss Open - Gstaad St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu ASB Classic - Auckland Dubai Duty Free Tennis Championships - Dubai Mercedes Cup - Stuttgart Winston-Salem Open - Winston-Salem Millennium Estoril Open - Estoril If Stockholm Open - Stockholm Melbourne Summer Set - Melbourne Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Serbia Open - Belgrade Mallorca Championships - Mallorca Swiss Indoors Basel - Basel Tunis Challenger Erste Bank Open - Vienna Adelaide International 1 - Adelaide ASB Classic - Auckland Open Sud de France - Montpellier Gerry Weber Open - Halle ABN AMRO World Tennis Tournament - Rotterdam Rio Open - Rio de Janeiro Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Generali Open - Kitzbuhel Moselle Open - Metz San Diego Open - San Diego Tel Aviv Watergen Open - Tel Aviv Libema Open - 's-Hertogenbosch Open Occitanie - Montpellier European Open - Antwerp Turin Challenger Le Gosier Challenger Lisbon Challenger Malaga Challenger Swiss Open - Gstaad Sardegna Open - Cagliari Mestre Challenger Infosys Hall of Fame Open - Newport Delray Beach Open - Delray Beach Estoril Open - Estoril German Tennis Championships - Hamburg Aircel Chennai Open - Chennai Heineken Open - Auckland Gerry Weber Open - Halle Studena Croatia Open - Umag Mouilleron-Le-Captif Challenger Seville Challenger Dubai Duty Free Tennis Championships - Dubai Bordeaux Challenger Furth Challenger Dubai Duty Free Tennis Championships - Dubai Augsburg Challenger Rome Challenger Topshelf Open - 's-Hertogenbosch Valencia Open - Valencia Open Parc - Lyon Apia International - Sydney Bordeaux Challenger Furth Challenger Trnava Challenger Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Power Horse Cup - Dusseldorf Bet-at-home Open - Hamburg Kobe Challenger Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Moselle Open - Metz Heilbronn Challenger Aix En Provence Challenger Malaysian Open - Kuala Lumpur If Stockholm Open - Stockholm Cordoba Open - Cordoba Madrid Challenger Heineken Open - Auckland Dubai Duty Free Tennis Championships - Dubai Alphen Challenger AEGON Championships - London Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Vegeta Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Moselle Open - Metz Malaysian Open - Kuala Lumpur Mouilleron-Le-Captif Challenger Rakuten Japan Open - Tokyo Brescia Challenger Kremlin Cup - Moscow Andria Challenger Valencia Open - Valencia ASB Classic - Auckland Open Sud de France - Montpellier Lille Challenger ABN AMRO World Tennis Tournament - Rotterdam Forli 6 Challenger Heilbronn Challenger Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona Open de Nice Cote d'Azur - Nice Gonet Geneva Open - Geneva Aegon Nottingham Open - Nottingham Konzum Croatia Open - Umag Moselle Open - Metz St. Petersburg Open - St. Petersburg Brest Challenger Rakuten Japan Open - Tokyo Roanne Challenger Istanbul Challenger Argentina Open - Buenos Aires Citi Open - Washington Brest Challenger Forli 4 Challenger Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Stanford Challenger Konzum Croatia Open - Umag Alicante Challenger Suisse Open - Gstaad Segovia Challenger Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Brasil Open - Sao Paulo Mouilleron-Le-Captif Challenger Chengdu Open - Chengdu China Open - Beijing Bergamo Challenger Oeiras 3 Challenger Parma Challenger Ismaning Challenger Parma Challenger Rio Open - Rio de Janeiro Mallorca Challenger Millennium Estoril Open - Estoril Noventi Open - Halle Turkish Airlines Open Antalya - Antalya Open Parc - Lyon Pozoblanco Challenger Moselle Open - Metz Intrum Stockholm Open - Stockholm ABN AMRO World Tennis Tournament - Rotterdam Cassis Challenger Generali Open - Kitzbuhel Cordoba Open - Cordoba Argentina Open - Buenos Aires Open 13 Provence - Marseille Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Noventi Open - Halle Mallorca Championships - Mallorca Hall of Fame Open - Newport Rakuten Japan Open - Tokyo Swiss Indoors Basel - Basel Tunis Challenger Dubai Duty Free Tennis Championships - Dubai Vicenza Challenger Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Mercedes Cup - Stuttgart Noventi Open - Halle Nordea Open - Bastad Braga Challenger Hamburg European Open - Hamburg Winston-Salem Open - Winston-Salem ASB Classic - Auckland European Open - Antwerp Stockholm Open - Stockholm Belgrade Open - Belgrade Argentina Open - Buenos Aires Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Chile Dove Men+Care Open - Santiago Brest Challenger ABN AMRO Open - Rotterdam Ortisei Challenger Gijon Open - Gijon Ismaning Challenger BMW Open - Munich Drummondville Challenger Millennium Estoril Open - Estoril Maia Challenger Open Parc - Lyon Bordeaux Challenger Valencia Open - Valencia Open 13 - Marseille Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Swiss Indoors Basel - Basel Open Sud de France - Montpellier Argentina Open - Buenos Aires Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril VTR Open - Vina del Mar cinch Championships - London Open Sud de France - Montpellier Noumea Challenger Abierto Mexicano Telcel - Acapulco Lisbon Challenger Terra Wortmann Open - Halle Rennes Challenger Cassis Challenger Bratislava Challenger Winston-Salem Open - Winston-Salem Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Miami Open - Miami Mutua Madrid Open - Madrid Shanghai Rolex Masters - Shanghai Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Estoril Open - Estoril Copa Claro - Buenos Aires Moselle Open - Metz Miami Open - Miami Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Miami Open - Miami National Bank Open - Montreal Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Qatar ExxonMobil Open - Doha Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Kremlin Cup - Moscow Miami Open - Miami BNP Paribas Masters - Paris Open 13 Provence - Marseille Monte-Carlo Rolex Masters - Monte-Carlo Winston-Salem Open - Winston-Salem Australian Open - Melbourne Mifel Tennis Open - Los Cabos Mallorca Championships - Mallorca Mallorca Championships - Mallorca Monte-Carlo Rolex Masters - Monte-Carlo Wimbledon - London BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Miami Open - Miami Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Infosys Hall of Fame Open - Newport Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Shanghai Rolex Masters - Shanghai Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rolex Paris Masters - Paris Mutua Madrid Open - Madrid 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 St. Petersburg Open - St. Petersburg Open Sud de France - Montpellier Australian Open - Melbourne Wimbledon - London U.S. Open - New York French Open - Paris U.S. Open - New York French Open - Paris 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 French Open - Paris Wimbledon - London French Open - Paris National Bank Open - Toronto Davis Cup, Group I, PO, RUS-POR 4-1 Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris U.S. Open - New York Wimbledon - London Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne Wimbledon - London Internazionali BNL d'Italia - Rome Australian Open Qualifying - Doha French Open - Paris U.S. Open - New York Wimbledon - London French Open - Paris Australian Open - Melbourne Wimbledon - London Rogers Cup - Montreal Rogers Cup - Toronto French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Cassis Challenger Australian Open - Melbourne French Open - Paris Davis Cup, Group II, 1R, POR-BEN 5-0 Dallas Open - Dallas Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group 2, 2R, POR-CYP 5-0 Winston-Salem Open - Winston-Salem Davis Cup, Group II, 1R, POR-MAR 4-1 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, 1R, BLR-POR 3-2 Davis Cup, Group I, 1R, POR-BRA 3-1 Davis Cup, World Group, PO, POR-CZE 1-3 Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group I, PO, SVK-POR 3-1 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, 2R, SUI-POR 5-0 Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, 1R, AUT-POR 1-3 Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, World Group, Q, FIN-POR 3-1 Davis Cup, Group I, 1R, POR-AUT 1-4 All Lower level tournaments Davis Cup, Group I, PO, UKR-POR 3-1 Busan Challenger Olympics - Rio de Janeiro Truist Atlanta Open - Atlanta U.S. Open - New York BNP Paribas Open - Indian Wells Olympics - Tokyo Davis Cup, Group I, PO, POR-RSA 4-0 Noumea Challenger