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 Braunschweig Challenger Wimbledon - London Porto Challenger Prague 3 Challenger Mallorca Challenger U.S. Open - New York Davis Cup, Group I, 1R, AUT-POR 1-3 Braga Challenger Bratislava 2 Challenger Lisbon Challenger Mouilleron-Le-Captif Challenger Bergamo Challenger Moselle Open - Metz Ortisei Challenger Brest Challenger Ismaning Challenger Valencia Challenger Calgary Challenger Danderyd Challenger Drummondville Challenger Open 13 Provence - Marseille Oeiras 2 Challenger Australian Open - Melbourne Nonthaburi 1 Challenger Oeiras 1 Challenger Lugano Challenger Quimper Challenger Davis Cup, World Group, Q, FIN-POR 3-1 Pau Challenger Lille Challenger Naples Challenger Girona Challenger Open Parc - Lyon Mutua Madrid Open - Madrid Millennium Estoril Open - Estoril Boss Open - Stuttgart Aix En Provence Challenger Bordeaux Challenger French Open - Paris Terra Wortmann Open - Halle Karlsruhe Challenger Wimbledon - London Braunschweig Challenger Generali Open - Kitzbuhel U.S. Open - New York St. Tropez Challenger Manacor Challenger Orleans Challenger Roanne Challenger Brest Challenger European Open - Antwerp Bratislava 2 Challenger Moselle Open - Metz Lille Challenger Cherbourg Challenger Bordeaux Challenger Quimper Challenger Rovereto Challenger Pau Challenger Open 13 Provence - Marseille Canberra Challenger Australian Open - Melbourne Aix En Provence Challenger Naples Challenger Grand Prix Hassan II - Marrakech Cassis Challenger Wimbledon - London Monte-Carlo Rolex Masters - Monte-Carlo French Open - Paris Boss Open - Stuttgart Nottingham 2 Challenger EFG Swiss Open - Gstaad National Bank Open - Toronto Plava Laguna Croatia Open - Umag U.S. Open - New York Genova Challenger Orleans Challenger St. Tropez Challenger Mouilleron-Le-Captif Challenger European Open - Brussels Spain F17 Spain F18 Spain F19 Spain F22 Spain F23 Spain F39 Spain F40 Spain F41 Spain F3 Spain F5 Spain F6 Spain F8 Spain F9 Spain F10 Spain F13 Spain F17 Spain F18 Spain F19 Spain F20 Romania F10 Romania F11 Spain F30 Spain F31 Spain F33 Spain F34 France F16 Portugal F7 Portugal F8 Spain F39 Spain F40 Spain F41 Spain F42 Spain F3 Spain F4 Spain F5 Spain F7 Spain F10 Switzerland F3 Spain F11 Turkey F4 Turkey F5 Turkey F6 Spain F17 Spain F18 Spain F20 Spain F21 France F12 Spain F28 Spain F29 Spain F30 Portugal F4 France F14 Portugal F5 Spain F35 Spain F37 Spain F3 Spain F4 France F4 Italy F2 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 France F8 France F9 Italy F17 Germany F9 Italy F18 Italy F19 Germany F12 Poland F5 Poland F6 Spain F31 France F14 Spain F35 France F16 France F17 Spain F36 Dominican Republic F1 Dominican Republic F2 Dominican Republic F3 USA F1 USA F2 Germany F4 France F4 France F5 Italy F3 Italy F4 France F7 Spain F14 Spain F15 Netherlands F1 France F10 Italy F18 Latvia F1 Germany F12 Germany F13 France F14 Spain F36 Germany F16 Spain F37 Spain F38 France F20 China F1 China F2 Greece F3 Bosnia & Herzegovina F1 Germany F7 France F12 France F19 Israel F10 France F2 Germany F4 USA F5 USA F6 Germany F7 France F11 Spain F26 Spain F27 Spain F33 Spain F34 Spain F35 Portugal F4 Portugal F5 Spain F38 United Arab Emirates F1 United Arab Emirates F2 Spain F16 Italy F3 Czech Republic F1 Italy F20 France F8 Lithuania F1 Israel F11 Pozoblanco Challenger Mutua Madrid Open - Madrid Miami Open - Miami Mamaia Challenger - Constanta Kos Succhetti Tennis Cup - Cordenons 84° Concurso Internacional Tenis San Sebastian - San Sebastian St. Brieuc Challenger Orbetello Challenger Seville Challenger Tarragona Challenger Tanger Challenger Meknes Challenger Rabat Challenger Marrakech Challenger Leon Challenger Tallahassee Challenger Tunis Challenger Reggio Emilia Challenger Turin Challenger Recanati Challenger Tampere Challenger Istanbul Challenger Manerbio Challenger St. Remy Challenger Seville Challenger Izmir Challenger Rennes Challenger Orleans Challenger Aachen Challenger Sao Paulo Challenger Heilbronn Challenger Courmayeur Challenger Quimper Challenger Casablanca Challenger Cherbourg Challenger Guangzhou Challenger Pingguo Challenger Barletta Challenger St. Brieuc Challenger Rome Challenger Cremona Challenger Furth Challenger Kosice Challenger Marburg Challenger Braunschweig Challenger Rennes Challenger Scheveningen Challenger Tampere Challenger Segovia Challenger San Marino Challenger San Sebastian Challenger Seville Challenger St. Remy Challenger Szczecin Challenger Trnava Challenger Madrid Challenger Orleans Challenger Eckental Challenger Geneva Challenger Heilbronn Challenger Kazan Challenger Quimper Challenger Bergamo Challenger Meknes Challenger Cherbourg Challenger Casablanca Challenger Rabat Challenger Marrakech Challenger Rimouski Challenger Le Gosier Challenger Tallahassee Challenger Mersin Challenger Leon Challenger Rome Challenger Bordeaux Challenger Nottingham Challenger Furth Challenger Nottingham-2 Challenger Kosice Challenger Milan Challenger San Benedetto Challenger Anning Challenger Tampere Challenger Wuhan Challenger Beijing Challenger Sibiu Challenger Cordenons Challenger Como Challenger Alphen Challenger St. Remy Challenger Petange Challenger Trnava Challenger Orleans Challenger Madrid Challenger Rennes Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Ortisei Challenger Dallas Challenger Sarajevo Challenger Itajai Challenger Santos Challenger Sao Paulo Challenger Napoli Challenger Bordeaux Challenger Furth Challenger Kosice Challenger Todi Challenger San Benedetto Challenger Poznan Challenger Recanati Challenger Guimaraes Challenger Tampere Challenger Segovia Challenger St. Remy Challenger Orleans Challenger Mons Challenger Rennes Challenger Mouilleron-Le-Captif Challenger Ortisei Challenger Yokohama Challenger Toyota Challenger Quimper Challenger Cherbourg Challenger Guadalajara Challenger Leon Challenger Vercelli Challenger Tunis Challenger Aix En Provence Challenger Braunschweig Challenger Scheveningen Challenger Poznan Challenger Como Challenger St. Remy Challenger Seville Challenger Mouilleron-Le-Captif Challenger Bordeaux Challenger Bergamo Challenger Wroclaw Challenger Cherbourg Challenger Orleans Challenger Budapest Challenger Canberra Challenger Orleans Challenger Ortisei Challenger Bordeaux Challenger Granby Challenger Ortisei Challenger Sophia Antipolis Challenger Prague Challenger Prague II Challenger Antalya 2 Challenger Mallorca Challenger Cassis Challenger Biel Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Alicante Challenger Brest Challenger Tenerife Challenger Bratislava Challenger Helsinki Challenger Quimper Challenger Cherbourg Challenger Pau Challenger Biel Challenger Lugano Challenger Sanremo Challenger Bordeaux Challenger Surbiton Challenger Ilkley Challenger Oeiras 1 Challenger Oeiras 2 Challenger Quimper Challenger Lugano Challenger Phoenix Challenger St. Brieuc Challenger Girona Challenger Oeiras 3 Challenger Aix En Provence Challenger Tunis Challenger Oeiras 4 Challenger Vicenza Challenger Surbiton Challenger Segovia Challenger Orleans Challenger Maia Challenger French Open - Paris Estoril Open - Estoril Open de Moselle - Metz Estoril Open - Estoril Estoril Open - Estoril Open de Moselle - Metz If Stockholm Open - Stockholm Open Sud de France - Montpellier Open 13 - Marseille Estoril Open - Estoril German Tennis Championships - Hamburg Aircel Chennai Open - Chennai Heineken Open - Auckland Open Sud de France - Montpellier Open 13 - Marseille Open Sabadell Atlantico - Barcelona Estoril Open - Estoril UNICEF Open - 's Hertogenbosch 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 SAP Open - San Jose Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Power Horse Cup - Dusseldorf Gerry Weber Open - Halle Winston-Salem Open - Winston-Salem Moselle Open - Metz St. Petersburg Open - St. Petersburg Malaysian Open - Kuala Lumpur Kremlin Cup - Moscow Swiss Indoors Basel - Basel Valencia Open - Valencia Brisbane International - Brisbane 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 Portugal Open - Oeiras Power Horse Cup - Dusseldorf Open de Nice Cote d'Azur - Nice 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 Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Valencia Open - Valencia Swiss Indoors Basel - Basel Brisbane International - Brisbane Barcelona Open BancSabadell - Barcelona Heineken Open - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai 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 Moselle Open - Metz Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Valencia Open - Valencia St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril Brisbane International - Brisbane ASB Classic - Auckland Open Sud de France - Montpellier 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 Mercedes Cup - Stuttgart Gerry Weber Open - Halle Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem Moselle Open - Metz St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo European Open - Antwerp Erste Bank Open - Vienna Brisbane International - Brisbane ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Mercedes Cup - Stuttgart Gerry Weber Open - Halle AEGON Championships - London Antalya Cup - Antalya Hall of Fame Tennis Championships - Newport Konzum Croatia Open - Umag Suisse Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo European Open - Antwerp If Stockholm Open - Stockholm Swiss Indoors Basel - Basel Erste Bank Open - Vienna Maharashtra Open - Pune ASB Classic - Auckland Open Sud de France - Montpellier 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 AEGON Championships - London Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Citi Open - Washington Winston-Salem Open - Winston-Salem Moselle Open - Metz St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Shenzhen Open - Shenzhen China Open - Beijing Kremlin Cup - Moscow Swiss Indoors Basel - Basel Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Gazprom Hungarian Open - Budapest Millennium Estoril Open - Estoril Geneva Open - Geneva Open Parc - Lyon Libema Open - 's-Hertogenbosch Noventi Open - Halle Turkish Airlines Open Antalya - Antalya Nature Valley International - Eastbourne SkiStar Swedish Open - Bastad BB&T Atlanta Open - Atlanta Swiss Open - Gstaad Citi Open - Washington Winston-Salem Open - Winston-Salem Moselle Open - Metz St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Generali Open - Kitzbuhel European Open - Antwerp Erste Bank Open - Vienna bett1HULKS Indoors - Cologne bett1HULKS Championships - Cologne Hamburg European Open - Hamburg Antalya Open - Antalya Great Ocean Road Open - Melbourne Cordoba Open - Cordoba ABN AMRO World Tennis Tournament - Rotterdam Argentina Open - Buenos Aires Open 13 Provence - Marseille Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Barcelona Open Banc Sabadell - Barcelona Serbia Open - Belgrade Millennium Estoril Open - Estoril Open Parc - Lyon Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Hall of Fame Open - Newport Winston-Salem Open - Winston-Salem European Open - Antwerp Sardegna Open - Cagliari Melbourne Summer Set - Melbourne Open Sud de France - Montpellier Tata Open Maharashtra - Pune Open 13 Provence - Marseille Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Serbia Open - Belgrade Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva Libema Open - 's-Hertogenbosch 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 Libema Open - 's-Hertogenbosch Barcelona Open Banc Sabadell - Barcelona Gonet Geneva Open - Geneva 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 Rogers Cup - Montreal 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 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 Masters - Paris BNP Paribas Open - Indian Wells 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 Coupe Rogers - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Western & Southern Open - New York Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Rolex Paris 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 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 Internazionali BNL d'Italia - Rome Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York 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 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 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, World Group, 1R, JPN-FRA 1-4 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 Davis Cup, World Group, PO, POR-CZE 1-3 Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) All Lower level tournaments Olympics - Rio de Janeiro Olympics - Tokyo