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 Salzburg Challenger Wimbledon - London Nordea Open - Bastad Hamburg European Open - Hamburg Porto Challenger Seville Challenger Prague 3 Challenger Mallorca Challenger Davis Cup, Group A, Bologna U.S. Open - New York Oeiras 4 Challenger Davis Cup, Group I, 1R, AUT-POR 1-3 Orleans Challenger Braga Challenger Alicante Challenger Bratislava 2 Challenger Lisbon Challenger Malaga Challenger Lima 2 Challenger Stockholm Open - Stockholm Ortisei Challenger Ismaning Challenger Calgary Challenger Guayaquil Challenger Valencia Challenger Montevideo Challenger Drummondville Challenger Naples Challenger Oeiras 2 Challenger Australian Open - Melbourne Oeiras 3 Challenger BNP Paribas Open - Indian Wells Oeiras 1 Challenger Miami Open - Miami Qatar ExxonMobil Open - Doha Manama Challenger Quimper Challenger Davis Cup, World Group, Q, SWE-BRA 1-3 Davis Cup, World Group, Q, FIN-POR 3-1 Wimbledon - London Dubai Duty Free Tennis Championships - Dubai Phoenix Challenger Girona Challenger Ostrava Challenger Mauthausen Challenger Millennium Estoril Open - Estoril French Open - Paris Citi Open - Washington Cary Challenger Sassuolo Challenger Nordea Open - Bastad U.S. Open - New York Istanbul Challenger Orleans Challenger BNP Paribas Nordic Open - Stockholm Zug Challenger Francavilla Challenger Mouilleron-Le-Captif Challenger Seoul Challenger Roanne Challenger Matsuyama Challenger Kobe Challenger Pune Challenger Yokkaichi Challenger Chennai Challenger Yokohama Challenger St. Tropez Challenger Zadar Challenger Grodzisk Mazowiecki Challenger New Delhi Challenger Oeiras 5 Challenger Seoul Challenger Sassuolo Challenger Porto Challenger Mallorca Championships - Mallorca Naples Challenger Rome Challenger Tiriac Open - Bucharest Cassis Challenger Monza Challenger Hamburg Open - Hamburg Perugia Challenger Heilbronn Challenger Braunschweig Challenger Nordea Open - Bastad U.S. Open - New York Seville Challenger Porto 2 Challenger Taipei Challenger Szczecin Challenger Bad Waltersdorf Challenger Braga Challenger Lisbon Challenger BNP Paribas Nordic Open - Stockholm Kobe Challenger 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 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 F4 Spain F14 Spain F15 Spain F36 Spain F37 Spain F38 Portugal F1 Portugal F2 Egypt F1 Egypt F2 Egypt F3 Egypt F4 Canada F6 Sweden F4 Sweden F6 Israel F1 Israel F2 Israel F3 Great Britain F6 Egypt F12 Egypt F13 Egypt F14 Netherlands F2 Netherlands F3 Portugal F3 Sweden F7 Great Britain F5 Great Britain F7 Sweden F2 Romania F3 Netherlands F1 Rabat Challenger Open Sud de France - Montpellier Aircel Chennai Open - Chennai Mamaia Challenger - Constanta Kos Succhetti Tennis Cup - Cordenons 84° Concurso Internacional Tenis San Sebastian - San Sebastian Orbetello Challenger Seville Challenger Tarragona Challenger Rennes Challenger Tanger Challenger Meknes Challenger Marrakech Challenger Leon Challenger Tallahassee Challenger Tunis 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 Guangzhou Challenger Pingguo Challenger St. Brieuc Challenger Rome Challenger Cremona Challenger Furth Challenger Kosice Challenger Marburg Challenger Braunschweig Challenger Tampere Challenger Segovia Challenger San Marino Challenger San Sebastian Challenger Seville Challenger Szczecin Challenger Trnava Challenger Madrid Challenger Eckental Challenger Kazan Challenger Quimper Challenger Bergamo Challenger Meknes Challenger Casablanca 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 Trnava Challenger Madrid Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Eckental Challenger Bordeaux Challenger Furth Challenger Kosice Challenger Todi Challenger San Benedetto Challenger Poznan Challenger Guimaraes Challenger Bratislava Challenger Helsinki Challenger Andria Challenger Tunis Challenger Arad Challenger Poznan Challenger Tampere Challenger Liberec Challenger Cordenons Challenger Bangkok Challenger Shanghai Challenger Napa Challenger Sacramento Challenger Tiburon Challenger Eckental Challenger Helsinki Challenger Drummondville Challenger Turin Challenger Rome Challenger Furth Challenger Caltanissetta Challenger Ilkley Challenger Braunschweig Challenger Poznan Challenger Aptos Challenger Vancouver Challenger Istanbul Challenger Izmir Challenger Mons Challenger Rennes Challenger Bratislava Challenger Brescia Challenger Bergamo Challenger Jonkoping Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Caltanissetta Challenger Perugia Challenger Bastad Challenger Biella Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Rome Challenger Mohammedia Challenger Dallas Challenger San Francisco Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Vicenza Challenger Lyon Challenger Poprad Tatry Challenger Bastad Challenger Tampere Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Tiburon Challenger Stockton Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Rennes Challenger Budapest Challenger Irving Challenger St. Brieuc Challenger Tunis Challenger Aix En Provence Challenger Prostejov Challenger Bastad Challenger Chicago Challenger Cary Challenger Orleans Challenger Brest Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Pune Challenger Rennes Challenger Phoenix Challenger Alicante Challenger Aix En Provence Challenger Heilbronn Challenger Poznan Challenger Lyon Challenger Ludwigshafen Challenger Braunschweig Challenger Tampere Challenger Hamburg Challenger Bratislava Challenger Helsinki Challenger Canberra Challenger Nur-Sultan Challenger Prague Challenger Prague II Challenger Aix En Provence Challenger Split Challenger Istanbul Challenger Cary Challenger Orlando Challenger Antalya 2 Challenger Biella 4 Challenger Marbella Challenger Split 1 Challenger Split 2 Challenger Rome 1 Challenger Ostrava Challenger Prague Challenger Lyon Challenger Aix En Provence Challenger Braunschweig Challenger Mallorca Challenger St. Tropez Challenger Cassis Challenger Rennes Challenger Biel Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Alicante Challenger Brest Challenger Tenerife Challenger Bratislava Challenger Helsinki Challenger Quimper Challenger Marbella Challenger Bordeaux Challenger Prostejov Challenger Perugia Challenger Montechiarugolo - Parma Challenger Salzburg Challenger Vancouver Challenger Toulouse Challenger Tulln Challenger Helsinki Challenger Andria Challenger Maia Challenger Ottignies-Louvain-la-Neuve Challenger Vilnius Challenger Phoenix Challenger Girona Challenger Oeiras 3 Challenger Split Challenger Aix En Provence Challenger Bordeaux Challenger Tunis Challenger Vicenza Challenger Prostejov Challenger Maia 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 If Stockholm Open - Stockholm Kremlin Cup - Moscow Valencia Open - Valencia Qatar ExxonMobil Open - Doha Apia International - Sydney 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 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 If Stockholm Open - Stockholm Valencia Open - Valencia Heineken Open - Auckland Open Sud de France - Montpellier Ecuador Open - Quito ABN AMRO World Tennis Tournament - Rotterdam Brasil Open - Sao Paulo Rio Open - Rio de Janeiro 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 SkiStar Swedish Open - Bastad 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 Aircel Chennai Open - Chennai 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 Suisse Open - Gstaad Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm European Open - Antwerp Erste Bank Open - Vienna Brisbane International - Brisbane ASB Classic - Auckland Argentina Open - Buenos Aires Memphis Open - Memphis Rio Open - Rio de Janeiro Delray Beach Open - Delray Beach Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Gerry Weber Open - Halle Antalya Cup - Antalya SkiStar Swedish Open - Bastad 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 If Stockholm Open - Stockholm Swiss Indoors Basel - Basel Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha 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 Gazprom Hungarian Open - Budapest Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul Open Parc - Lyon Gerry Weber Open - Halle Antalya Cup - Antalya SkiStar Swedish Open - Bastad Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Abierto Mexicano - Los Cabos Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu China Open - Beijing Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel ASB Classic - Auckland Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech 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 Murray River Open - Melbourne 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 Nordea Open - Bastad Abierto Mexicano de Tenis Mifel - Los Cabos Truist Atlanta Open - Atlanta Citi Open - Washington Stockholm Open - Stockholm Kremlin Cup - Moscow Sardegna Open - Cagliari Astana Open - Nur-Sultan Melbourne Summer Set - Melbourne Tata Open Maharashtra - Pune 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 BMW Open - Munich Gonet Geneva Open - Geneva Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Nordea Open - Bastad Swiss Open - Gstaad Generali Open - Kitzbuhel Plava Laguna Croatia Open - Umag Winston-Salem Open - Winston-Salem Moselle Open - Metz Rakuten Japan Open - Tokyo Stockholm Open - Stockholm Erste Bank Open - Vienna Korea Open - Seoul Tel Aviv Watergen Open - Tel Aviv Gijon Open - Gijon Tata Open Maharashtra - Pune ASB Classic - Auckland Cordoba Open - Cordoba ABN AMRO World Tennis Tournament - Rotterdam Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Chile Dove Men+Care Open - Santiago Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Banja Luka Open - Banja Luka All Lower level tournaments 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 Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal 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 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 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 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, PO, SWE-DEN 3-2 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group I, PO, ROU-SWE 3-1 Davis Cup, Group I, 1R, SWE-AUT 2-3 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, SWE-NED 0-5 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, PO, ISR-SWE 3-1 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, Group II, 2R, TUR-SWE 1-4 Davis Cup, World Group, PO, POR-GER 2-3 Davis Cup, Group II, 3R, SWE-LTU 5-0 Davis Cup, Group I, 1R, UKR-SWE 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, World Group, QR, COL-SWE 4-0 Davis Cup, Group I, 1R, BLR-POR 3-2 Davis Cup, World Group, QR, SWE-CHI 3-1 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Finals, Group B Davis Cup, Finals, QF, RUS-SWE 2-0 Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, Group A, Bologna Davis Cup, Group I, 1R, POR-BRA 3-1 Davis Cup, World Group, PO, SWE-BIH 3-1 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Davis Cup, World Group, PO, POR-CZE 1-3 Davis Cup, World Group I, 1R, SWE-IND 4-0 Olympics - Rio de Janeiro Olympics - Tokyo