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 Rolex Paris Masters - Paris Next Gen ATP Finals - Jeddah Miami Open - Miami 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 Spain F10 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 M15+H Bagnoles-de-l'Orne M15 Antalya M15 Antalya M15 Antalya M15 Antalya M15 Antalya M25 La Nucia M25 Reus M25 Angers M15 Las Palmas de Gran Canaria M15 Majadahonda M25 Uriage M25+H Rodez M25 Toulouse M15 Antalya Spain F33 Spain F3 Spain F17 Romania F11 Romania F10 Spain F33 Mamaia Challenger - Constanta Kos Succhetti Tennis Cup - Cordenons M25 Bagneres-De-Bigorre Orbetello Challenger M15 Antalya Tarragona Challenger Tallahassee Challenger Istanbul Challenger Manerbio Challenger Seville Challenger Izmir Challenger Sao Paulo Challenger Courmayeur Challenger Furth Challenger M15 La Nucia Tampere Challenger San Marino Challenger San Sebastian Challenger Szczecin Challenger M15 Antalya Kazan Challenger Meknes Challenger Casablanca Challenger Marrakech Challenger Mersin Challenger Milan Challenger Tampere Challenger Sibiu Challenger Cordenons Challenger Como Challenger Alphen Challenger M15 Antalya Rio De Janeiro Challenger M25+H Plaisir Bordeaux Challenger Furth Challenger Kosice Challenger Todi Challenger San Benedetto Challenger Poznan Challenger Guimaraes Challenger Rennes Challenger Tanger Challenger Leon Challenger Seville Challenger Rabat Challenger Quimper Challenger Marburg Challenger Reggio Emilia Challenger Casablanca Challenger Recanati Challenger Tampere Challenger Eckental Challenger Kosice Challenger Rabat Challenger Kosice Challenger Trnava Challenger Heilbronn Challenger Guangzhou Challenger Pingguo Challenger Cassis Challenger Cherbourg Challenger Braunschweig Challenger Orleans Challenger Quimper Challenger Pau Challenger Savannah Challenger Lyon Challenger Segovia Challenger Andria Challenger Sarasota Challenger Forli 6 Challenger Trnava Challenger Porto Challenger Madrid Challenger Bratislava 2 Challenger Oeiras 1 Challenger Oeiras 2 Challenger Girona Challenger Quimper Challenger Bordeaux Challenger Prague 3 Challenger Mallorca Challenger Biel Challenger Mouilleron-Le-Captif Challenger Tenerife Challenger Helsinki Challenger Lille Challenger St. Brieuc Challenger Turin Challenger Tallahassee Challenger Blois Challenger Tampere Challenger Prague 3 Challenger Toulouse Challenger Orleans Challenger Brest Challenger Roanne Challenger Helsinki Challenger Oeiras 2 Challenger Pau Challenger Phoenix Challenger Girona Challenger Aix En Provence Challenger Calgary Challenger Estoril Open - Estoril Estoril Open - Estoril 84° Concurso Internacional Tenis San Sebastian - San Sebastian If Stockholm Open - Stockholm Antalya 2 Challenger St. Brieuc Challenger Open 13 - Marseille Rome Challenger Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Credit Agricole Suisse Open - Gstaad Aircel Chennai Open - Chennai Apia International - Sydney Cremona Challenger Alicante Challenger Brasil Open - Sao Paulo Quimper Challenger Bergamo Challenger Power Horse Cup - Dusseldorf San Juan Challenger Bordeaux Challenger Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Porto Alegre Challenger M15+H Bressuire Montevideo Challenger Open Sud de France - Montpellier Rio Open 500 - Rio de Janeiro Meknes Challenger Portugal Open - Oeiras Topshelf Open - 's-Hertogenbosch Troyes Challenger Vegeta Croatia Open - Umag Winston-Salem Open - Winston-Salem China Open - Beijing Braunschweig Challenger Marrakech Challenger Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva SkiStar Swedish Open - Bastad Winston-Salem Open - Winston-Salem Erste Bank Open - Vienna Geneva Open - Geneva Rakuten Japan Open - Tokyo European Open - Antwerp Millennium Estoril Open - Estoril Gerry Weber Open - Halle St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Dubai Duty Free Tennis Championships - Dubai European Open - Antwerp Mercedes Cup - Stuttgart Tata Open Maharashtra - Pune Generali Open - Kitzbuhel Erste Bank Open - Vienna Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Abierto Mexicano Telcel - Acapulco Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille ASB Classic - Auckland Tunis Challenger Gerry Weber Open - Halle St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril Grand Prix Hassan II - Marrakech SkiStar Swedish Open - Bastad Millennium Estoril Open - Estoril ASB Classic - Auckland Rio Open - Rio de Janeiro Gerry Weber Open - Halle Barcelona Open Banc Sabadell - Barcelona Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Grand Prix Hassan II - Marrakech Antalya Cup - Antalya Turin Challenger ASB Classic - Auckland Lisbon Challenger Geneva Open - Geneva Libema Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Swiss Open - Gstaad Winston-Salem Open - Winston-Salem ASB Classic - Auckland Sardegna Open - Cagliari Melbourne Summer Set - Melbourne Qatar ExxonMobil Open - Doha Serbia Open - Belgrade Mallorca Championships - Mallorca Swiss Open - Gstaad Moselle Open - Metz ASB Classic - Auckland Rio Open - Rio de Janeiro Libema Open - 's-Hertogenbosch Estoril Open - Estoril European Open - Antwerp Hong Kong Tennis Open - Hong Kong Rio Open - Rio de Janeiro Barcelona Open Banc Sabadell - Barcelona Movistar Chile Open - Santiago German Tennis Championships - Hamburg Hamburg Open - Hamburg Aircel Chennai Open - Chennai Heineken Open - Auckland Gerry Weber Open - Halle Studena Croatia Open - Umag Seville Challenger Dubai Duty Free Tennis Championships - Dubai Rome Challenger Topshelf Open - 's-Hertogenbosch Valencia Open - Valencia Open Parc - Lyon Apia International - Sydney Bordeaux Challenger Furth Challenger Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Power Horse Cup - Dusseldorf Bet-at-home Open - Hamburg Moselle Open - Metz Malaysian Open - Kuala Lumpur If Stockholm Open - Stockholm Cordoba Open - Cordoba Madrid Challenger Heineken Open - Auckland Dubai Duty Free Tennis Championships - Dubai 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 ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam 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 St. Petersburg Open - St. Petersburg Brest Challenger Rakuten Japan Open - Tokyo Roanne Challenger Argentina Open - Buenos Aires Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Troisdorf Challenger Konzum Croatia Open - Umag Suisse Open - Gstaad Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Mouilleron-Le-Captif Challenger Brasil Open - Sao Paulo Hong Kong Tennis Open - Hong Kong Chengdu Open - Chengdu China Open - Beijing Oeiras 3 Challenger Rio Open - Rio de Janeiro Mallorca Challenger Millennium Estoril Open - Estoril Noventi Open - Halle Turkish Airlines Open Antalya - Antalya Open Parc - Lyon Tel Aviv Watergen Open - Tel Aviv Intrum Stockholm Open - Stockholm ABN AMRO World Tennis Tournament - Rotterdam Generali Open - Kitzbuhel Cordoba Open - Cordoba Argentina Open - Buenos Aires Amersfoort Challenger Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Swiss Indoors Basel - Basel 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 Stockholm Open - Stockholm Open Sud de France - Montpellier Argentina Open - Buenos Aires Open 13 Provence - Marseille Chile Dove Men+Care Open - Santiago Millennium Estoril Open - Estoril Banja Luka Open - Banja Luka ASB Classic - Auckland Libema Open - 's-Hertogenbosch ABN AMRO Open - Rotterdam Ortisei Challenger Gijon Open - Gijon Ismaning Challenger Argentina Open - Buenos Aires Drummondville Challenger Millennium Estoril Open - Estoril Maia Challenger Terra Wortmann Open - Halle Japan Open Tennis Championships - Tokyo BNP Paribas Masters - Paris Valencia Open - Valencia Open 13 - Marseille Internazionali BNL d'Italia - Rome Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Swiss Indoors Basel - Basel Argentina Open - Buenos Aires Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Rolex Paris Masters - Paris Millennium Estoril Open - Estoril VTR Open - Vina del Mar BNP Paribas Open - Indian Wells Miami Open - Miami Rolex Paris Masters - Paris cinch Championships - London EFG Swiss Open - Gstaad Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Bratislava Challenger Bordeaux Challenger St. Tropez Challenger Winston-Salem Open - Winston-Salem Estoril Open - Estoril Internazionali BNL d'Italia - Rome Copa Claro - Buenos Aires Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Qatar ExxonMobil Open - Doha Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai Miami Open - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Winston-Salem Open - Winston-Salem BNP Paribas Open - Indian Wells Erste Bank Open - Vienna Miami Open - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Kremlin Cup - Moscow Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Masters - Paris Open 13 Provence - Marseille 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 BNP Paribas Open - Indian Wells Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Monte-Carlo Rolex Masters - Monte-Carlo Hamburg European Open - Hamburg Western & Southern Open - New York BNP Paribas Open - Indian Wells Western & Southern Open - Cincinnati Monte-Carlo Rolex Masters - Monte-Carlo Open Parc - Lyon BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid National Bank Open - Montreal Miami Open - Miami Rogers Cup - Toronto Western & Southern Open - Cincinnati Next Gen ATP Finals - Jeddah BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Dubai Duty Free Tennis Championships - Dubai BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Rolex Paris Masters - Paris Shanghai Rolex Masters - Shanghai Monte-Carlo Rolex Masters - Monte-Carlo National Bank Open - Montreal Mutua Madrid Open - Madrid 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 Internazionali BNL d'Italia - Rome Mutua Madrid Open - Madrid Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati National Bank Open - Toronto 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 Wimbledon - London U.S. Open - New York Open Sud de France - Montpellier Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York U.S. Open - New York U.S. Open - New York French Open - Paris Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London French Open - Paris Wimbledon - London Australian Open - Melbourne 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 U.S. Open - New York French Open - Paris Australian Open - Melbourne Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London Internazionali BNL d'Italia - Rome U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne Wimbledon - London Wimbledon - London U.S. Open - New York French Open - Paris Rogers Cup - Montreal Wimbledon - London U.S. Open - New York Rogers Cup - Toronto Monte-Carlo Rolex Masters - Monte-Carlo Australian Open - Melbourne French Open - Paris French Open - Paris Cassis Challenger Australian Open - Melbourne Davis Cup, Group B, Valencia French Open - Paris Davis Cup, Group 2, 2R, POR-CYP 5-0 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, 3R, POR-BLR 3-2 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, World Group, QR, KAZ-POR 3-1 Davis Cup, Group I, 1R, POR-BRA 3-1 Davis Cup, Group B, Manchester Davis Cup, Group I, 1R, POR-ISR 5-0 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, Group I, PO, POR-SLO 5-0 Davis Cup, World Group, PO, POR-CZE 1-3 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 All Lower level tournaments Davis Cup, Group I, 2R, SUI-POR 5-0 Laver Cup - Vancouver 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 French Open (juniors) Wimbledon (juniors) 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 Olympics - Rio de Janeiro Davis Cup, Group I, PO, UKR-POR 3-1 Davis Cup, World Group, Q, FRA-BRA 4-0 Shanghai Rolex Masters - Shanghai French Open (juniors) Olympics - Paris Olympics - Tokyo Davis Cup, Group I, PO, POR-RSA 4-0