Career 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 Porto Challenger Prague 3 Challenger Mallorca Challenger Davis Cup, Group I, 1R, AUT-POR 1-3 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 Cassis Challenger Italy F8 Spain F17 Spain F18 Spain F19 Spain F22 Spain F23 Spain F26 Spain F27 Spain F33 Spain F34 Spain F35 Portugal F4 Portugal F5 Spain F38 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 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 Italy F18 Italy F19 France F12 Spain F28 Spain F29 Italy F25 Spain F30 Italy F27 Portugal F4 Portugal F5 Italy F30 Spain F35 Spain F37 Spain F3 Spain F4 Bosnia/Herzegovina F1 Italy F2 Italy F3 Spain F11 Spain F12 Italy F6 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 Spain F22 Spain F23 Italy F17 Italy F20 Italy F23 Spain F31 Italy F25 Spain F35 Spain F36 Italy F30 Greece F3 Dominican Republic F1 Dominican Republic F2 Dominican Republic F3 France F4 Switzerland F1 Switzerland F3 Italy F4 Turkey F16 Spain F14 Turkey F17 Spain F15 Turkey F19 Bosnia & Herzegovina F5 Italy F16 Romania F5 Romania F6 Turkey F21 Turkey F22 Latvia F1 Italy F24 Hungary F1 Hungary F2 Italy F29 Italy F30 Spain F36 Italy F31 Spain F37 Spain F38 Kuwait F2 Kuwait F3 Croatia F1 France F4 Switzerland F1 United Arab Emirates F1 Spain F8 Great Britain F6 Bulgaria F2 Bulgaria F3 Slovenia F1 Italy F14 Romania F5 Romania F6 Italy F20 Latvia F1 Serbia F9 Spain F29 Italy F28 Bahrain F1 Great Britain F2 Ukraine F1 Slovenia F3 Ukraine F2 Netherlands F6 Italy F26 Switzerland F3 Italy F1 Sweden F2 Mexico F12 Mexico F13 Mexico F14 Great Britain F3 Italy F9 Slovenia F1 Italy F14 Italy F13 Portugal F4 Qatar F1 Qatar F2 Estonia F1 Spain F10 Great Britain F10 Italy F19 Italy F12 Switzerland F5 Italy F28 Israel F14 Israel F15 France F3 France F4 Great Britain F7 USA F9 Italy F10 Italy F11 Italy F14 Italy F15 USA F8 Italy F20 Italy F22 Italy F23 Spain F32 Italy F1 Italy F2 Romania F12 Switzerland F3 Switzerland F5 Italy F16 Italy F34 Qatar F4 Turkey F9 Israel F4 Tunisia F18 Tunisia F19 Italy F12 Romania F5 Romania F6 Spain F9 (Madrid) Tunisia F13 (Hammamet) Spain F11 (Majadahonda) Italy F15 (Reggio Emilia) Italy F17 (Bergamo) Italy F19 (Basilicanova) Italy F20 (Albinea) Austria F6 (Innsbruck) Finland F3 (Helsinki) Italy F28 (Trieste) Spain F30 (Madrid) Tunisia F28 (Hammamet) USA F1 (Los Angeles) Egypt F1 (Sharm El Sheikh) Egypt F2 (Sharm El Sheikh) Tunisia F5 (Jerba) Italy F1 (Trento) Israel F1 (Ramat Gan) Israel F2 (Ramat Hasharon) Israel F3 (Tel Aviv) Turkey F13 (Antalya) Turkey F14 (Antalya) Italy F12 (Reggio Emilia) Romania F8 (Bucharest) Spain F28 Israel F14 La Rinascente Tennis Cup Harbour Club Milano - Milan Zenith Tennis Cup-Harbour Club - Milan Mamaia Challenger - Constanta Kos Succhetti Tennis Cup - Cordenons 84° Concurso Internacional Tenis San Sebastian - San Sebastian Milan Challenger Orbetello Challenger Seville Challenger Tarragona Challenger Rennes Challenger Bergamo Challenger Tanger Challenger Meknes Challenger Rabat Challenger Marrakech Challenger Leon Challenger Tallahassee Challenger Tunis Challenger San Remo Challenger Milan Challenger Reggio Emilia Challenger Turin Challenger Recanati Challenger Tampere Challenger Istanbul Challenger Manerbio Challenger Seville Challenger Izmir Challenger Sao Paulo Challenger Heilbronn Challenger Courmayeur Challenger Quimper Challenger Casablanca Challenger Pingguo Challenger St. Brieuc Challenger Rome Challenger Cremona Challenger Furth Challenger Kosice Challenger Milan Challenger Marburg Challenger Braunschweig Challenger Orbetello Challenger Tampere Challenger Segovia Challenger San Marino Challenger San Sebastian Challenger Como Challenger Seville Challenger Szczecin Challenger Trnava Challenger Madrid Challenger Eckental Challenger Kazan Challenger Quimper Challenger Bergamo Challenger Meknes Challenger Cherbourg Challenger Casablanca Challenger Rabat Challenger Mersin Challenger Rome Challenger Athens Challenger Bordeaux Challenger Furth Challenger Kosice Challenger Milan Challenger Tampere Challenger Orbetello Challenger Sibiu Challenger Cordenons Challenger Como Challenger Alphen Challenger Trnava Challenger Madrid Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Bergamo Challenger Bordeaux Challenger Furth Challenger Kosice Challenger Todi Challenger San Benedetto Challenger Poznan Challenger Guimaraes Challenger Tampere Challenger San Marino Challenger Cordenons Challenger Genova Challenger Meknes Challenger Kenitra Challenger Sibiu Challenger Andria Challenger Bergamo Challenger Mestre Challenger Prague Challenger Milan Challenger Todi Challenger Oberstaufen Challenger Cortina Challenger San Marino Challenger Brasov Challenger Szczecin Challenger Ortisei Challenger Helsinki Challenger Andria Challenger Glasgow Challenger Bergamo Challenger Quimper Challenger Guangzhou Challenger Shenzhen Challenger Napoli Challenger Vercelli Challenger Rome Challenger Vicenza Challenger Mestre Challenger Caltanissetta Challenger Perugia Challenger San Benedetto Challenger Biella Challenger Cortina Challenger Pereira Challenger Medellin Challenger Ortisei Challenger Brescia Challenger Andria Challenger Bangkok Challenger Manila Challenger Bergamo Challenger New Delhi Challenger Raanana Challenger Turin Challenger Milan Challenger Rome Challenger Heilbronn Challenger Bastad Challenger San Benedetto Challenger Cortina Challenger Biella Challenger Como Challenger Lima Challenger Guayaquil Challenger Montevideo Challenger Francavilla Challenger Ostrava Challenger Rome Challenger Lisbon Challenger Mestre Challenger Poznan Challenger Lyon Challenger Blois Challenger Milan Challenger Perugia Challenger Tampere Challenger Sopot Challenger Como Challenger Szczecin Challenger Florence Challenger Barcelona Challenger Eckental Challenger Bratislava Challenger Andria Challenger Noumea Challenger Koblenz Challenger Newport Beach Challenger Cleveland Challenger Budapest Challenger Bergamo Challenger Marbella Challenger Sophia Antipolis Challenger Barletta Challenger Tunis Challenger Bordeaux Challenger Rome Challenger Lisbon Challenger Vicenza Challenger Recanati Challenger Perugia Challenger San Benedetto Challenger Liberec Challenger Istanbul Challenger Glasgow Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Hamburg Challenger Bratislava Challenger Ortisei Challenger Maia Challenger Noumea Challenger Bangkok Challenger Cherbourg Challenger Bergamo Challenger Indian Wells Challenger Todi Challenger Trieste Challenger Cordenons Challenger Aix En Provence Challenger Istanbul Challenger Hamburg Challenger Parma Challenger Bratislava Challenger Ortisei Challenger Quimper Challenger Antalya 2 Challenger Quimper 2 Challenger Biella 1 Challenger Biella 2 Challenger Biella 4 Challenger Lugano Challenger Marbella Challenger Rome 1 Challenger Rome 2 Challenger Prague Challenger Porto Challenger Poznan Challenger Cordenons Challenger San Marino Challenger Mallorca Challenger Cassis Challenger Istanbul 2 Challenger Biel Challenger Orleans Challenger Alicante Challenger Brest Challenger Bergamo Challenger Tenerife Challenger Bratislava Challenger Ortisei Challenger Pau Challenger Helsinki Challenger Bari Challenger Quimper Challenger Malaga Challenger St. Tropez Challenger Noumea Challenger Tenerife 2 Challenger Phoenix Challenger Girona Challenger Oeiras 3 Challenger Aix En Provence Challenger Tunis Challenger Vicenza Challenger Estoril Open - Estoril Estoril Open - Estoril Estoril Open - Estoril 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 Sabadell Atlantico - Barcelona Estoril Open - Estoril Studena Croatia Open - Umag Credit Agricole Suisse Open - Gstaad If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Apia International - Sydney VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Power Horse Cup - Dusseldorf SkiStar Swedish Open - Bastad 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 Open 13 - Marseille 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 Brisbane International - Brisbane 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 Barcelona Open BancSabadell - Barcelona TEB BNP Paribas Istanbul Open - Istanbul 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 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 Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril 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 Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Gazprom Hungarian Open - Budapest 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 Kremlin Cup - Moscow Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel ASB Classic - Auckland Open Sud de France - Montpellier Tata Open Maharashtra - Pune ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai 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 cinch Championships - London Noventi Open - Halle Mallorca Championships - Mallorca Hall of Fame Open - Newport Nordea Open - Bastad Swiss Open - Gstaad Moselle Open - Metz Singapore Tennis Open - Singapore Anytech365 Andalucia Open - Marbella 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 Citi Open - Washington 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 Guangzhou Challenger Marrakech Challenger Biella 7 Challenger Braga 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 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 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 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 Internazionali BNL d'Italia - Rome National Bank Open - Montreal BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Maia Challenger Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Generali Open - Kitzbuhel Mutua Madrid Open - Madrid Rolex Paris Masters - Paris Shenzhen Open - Shenzhen 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 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 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 All Lower level tournaments Olympics - Rio de Janeiro Olympics - Tokyo Davis Cup, World Group, PO, POR-CZE 1-3