Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006
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 Karlsruhe Challenger San Benedetto Challenger Wimbledon - London Luedenscheid Challenger Genova Challenger Como Challenger U.S. Open - New York Calgary Challenger Brest Challenger Lisbon Challenger Alicante Challenger Malaga Challenger Olbia Challenger Charlottesville Challenger Drummondville Challenger Noumea Challenger Tenerife 1 Challenger Miami Open - Miami Pau Challenger Ottignies-Louvain-la-Neuve Challenger Cherbourg Challenger Open Sud de France - Montpellier BNP Paribas Open - Indian Wells Lille Challenger Phoenix Challenger Madrid Challenger Trieste Challenger US Men's Clay Court Championship - Houston French Open - Paris Modena Challenger U.S. Open - New York Grodzisk Mazowiecki Challenger Wimbledon - London Infosys Hall of Fame Open - Newport Zug Challenger Como Challenger Rennes Challenger Taipei 2 Challenger Villena Challenger Olbia Challenger Valencia Challenger Matsuyama Challenger Spain F6 Banja Luka Challenger Quimper Challenger Lille Challenger Aix En Provence Challenger Royan Challenger Manama Challenger Open Occitanie - Montpellier Noumea Challenger Nonthaburi 2 Challenger Troyes Challenger Abidjan 1 Challenger Abidjan 2 Challenger Francavilla Challenger Tunis Challenger Cassis Challenger Rennes Challenger Orleans Challenger Brazil F5 Brazil F6 Portugal F1 Morocco F2 Morocco F8 USA F2 USA F3 USA F4 Spain F2 Spain F3 Portugal F1 Italy F20 USA F2 Portugal F1 Portugal F2 Croatia F5 Croatia F6 Portugal F4 Portugal F5 Portugal F6 Spain F38 France F2 Portugal F1 Portugal F2 Portugal F3 Morocco F2 Morocco F3 Spain F9 Tunisia F1 Tunisia F2 Tunisia F3 Tunisia F4 Tunisia F7 Tunisia F9 Tunisia F10 Tunisia F11 Tunisia F12 Tunisia F17 Tunisia F18 Tunisia F19 Portugal F7 Netherlands F1 Italy F16 Tunisia F3 (Hammamet) Portugal F7 (Carcavelos) France F8 France F10 France F11 Italy F26 France F15 Portugal F4 France F17 Portugal F5 France F19 Portugal F1 Portugal F2 Spain F7 Portugal F4 Spain F8 Turkey F1 France F6 Great Britain F7 Great Britain F8 Italy F17 Netherlands F2 Netherlands F3 France F10 Spain F25 France F11 Great Britain F10 Italy F24 Luxembourg F1 Netherlands F4 Netherlands F5 France F13 Sweden F1 Sweden F2 Portugal F7 Portugal F8 Dominican Republic F2 France F1 France F2 Portugal F2 Portugal F3 France F5 France F6 Spain F13 France F7 Great Britain F7 Slovenia F3 France F8 Spain F22 France F9 Great Britain F8 France F12 Spain F23 Spain F25 Spain F26 Austria F7 Italy F25 Italy F26 Italy F27 Portugal F4 Portugal F5 France F17 Brazil F22 Germany F18 Brazil F23 Brazil F24 France F20 Usa F1 Usa F2 Morocco F1 Usa F3 Portugal F1 Portugal F2 Portugal F3 France F7 Spain F14 Italy F4 Italy F11 Italy F12 Italy F13 Portugal F4 France F12 Portugal F5 M25 Vila Real de Santo Antonio M25 Vila Real de Santo Antonio M25 Faro Brazil F4 Challenger 42 - Andrezieux Open Prevadies St. Brieuc Cotes D'Amor - St. Brieuc Trofeo Cassa di Risparmio di Alessandria - Alessandria Noumea Challenger Besancon Challenger Cherbourg Challenger Rabat Challenger Napoli Challenger Monza Challenger Tunis Challenger Turin Challenger San Benedetto Challenger Cordenons Challenger San Sebastian Challenger Seville Challenger Orleans Challenger Jersey Challenger Guayaquil Challenger Cancun Challenger Puebla Challenger Salzburg Challenger Tanger Challenger Meknes Challenger St. Brieuc Challenger San Remo Challenger Bordeaux Challenger Cremona Challenger Marburg Challenger Turin Challenger Arad Challenger San Benedetto Challenger Cordenons Challenger San Marino Challenger Trani Challenger San Sebastian Challenger Geneva Challenger Seville Challenger Todi Challenger Trnava Challenger Ljubljana Challenger Napoli Challenger Tarragona Challenger Rennes Challenger Sao Paulo Challenger Medellin Challenger Guayaquil Challenger Cancun Challenger Noumea Challenger Courmayeur Challenger Casablanca Challenger Cherbourg Challenger Rabat Challenger Marrakech Challenger Caltanissetta Challenger St. Brieuc Challenger Napoli Challenger Ostrava Challenger Rome Challenger Bordeaux Challenger Rijeka Challenger Braunschweig Challenger San Benedetto Challenger Orbetello Challenger Tampere Challenger Trani Challenger San Marino Challenger San Sebastian Challenger Como Challenger Seville Challenger Brasov Challenger Todi Challenger Campinas Challenger Napoli Challenger Recife Challenger Palermo Challenger Orleans Challenger Quito Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Buenos Aires Challenger Guayaquil Challenger Salzburg Challenger Montevideo Challenger Helsinki Challenger Le Gosier Challenger Barranquilla Challenger Barletta Challenger Rome Challenger Napoli Challenger Bordeaux Challenger Marburg Challenger Orbetello Challenger San Marino Challenger Alphen Challenger Trnava Challenger Madrid Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Medellin Challenger Guayaquil Challenger Sao Paulo Challenger Bucaramanga Challenger Sarajevo Challenger Le Gosier Challenger Barranquilla Challenger Panama City Challenger Bordeaux Challenger Tanger Challenger Todi Challenger San Benedetto Challenger Campinas Challenger Orleans Challenger Porto Alegre Challenger Sao Paulo Challenger Sao Jose Do Rio Preto Challenger Buenos Aires Challenger Montevideo Challenger Bogota Challenger Guayaquil Challenger Sao Paulo Challenger Genova Challenger Biella Challenger Bergamo Challenger Cherbourg Challenger Quimper Challenger Le Gosier Challenger Mestre Challenger Caltanissetta Challenger Blois Challenger Milan Challenger Padova Challenger San Benedetto Challenger Biella Challenger Cortina Challenger Meknes Challenger Kenitra Challenger Porto Alegre Challenger Sao Paulo Challenger Corrientes Challenger Brest Challenger Mouilleron-Le-Captif Challenger Turin Challenger Poznan Challenger Tampere Challenger Scheveningen Challenger Liberec Challenger Como Challenger Alphen Challenger Kenitra Challenger Campinas Challenger Buenos Aires Challenger Santiago Challenger Lima Challenger Guayaquil Challenger Mouilleron-Le-Captif Challenger Zhuhai Challenger Quanzhou Challenger Sophia Antipolis Challenger Barletta Challenger Francavilla Challenger Aix En Provence Challenger Bordeaux Challenger Lisbon Challenger Blois Challenger Perugia Challenger San Benedetto Challenger Tampere Challenger Liberec Challenger Como Challenger Alphen Challenger Rome Challenger Mouilleron-Le-Captif Challenger Punta Del Este Challenger Santiago Challenger Marbella Challenger Barletta Challenger Tunis Challenger Braga Challenger Lisbon Challenger Poznan Challenger Lyon Challenger Milan Challenger Marburg Challenger Tampere Challenger Liberec Challenger Pullach Challenger Meerbusch Challenger Como Challenger Seville Challenger Sibiu Challenger Barcelona Challenger Lima Challenger Guayaquil Challenger Mouilleron-Le-Captif Challenger Montevideo Challenger Buenos Aires Challenger Rennes Challenger Marbella Challenger Sophia Antipolis Challenger Alicante Challenger Murcia Challenger Tunis Challenger Vicenza Challenger Poznan Challenger Lyon Challenger Blois Challenger Milan Challenger Ludwigshafen Challenger Perugia Challenger Tampere Challenger Meerbusch Challenger Como Challenger Sibiu Challenger Florence Challenger Barcelona Challenger Lima Challenger Guayaquil Challenger Maia Challenger Punta Del Este Challenger Aix En Provence Challenger Split Challenger Barcelona Challenger Lisbon Challenger Marbella Challenger Guayaquil Challenger Lima Challenger Maia Challenger Santiago Challenger Marbella Challenger Split 1 Challenger Biella 5 Challenger Zagreb Challenger Oeiras 3 Challenger Braunschweig Challenger Roanne Challenger Phoenix Challenger Oeiras 1 Challenger Oeiras 2 Challenger Madrid Challenger Bordeaux Challenger Milan Challenger Porto Challenger Liberec Challenger Tulln Challenger Rennes Challenger Braga Challenger Lisbon Challenger Bad Waltersdorf Challenger Brest Challenger Matsuyama Challenger Valencia Challenger Maia Challenger Noumea Challenger Oeiras 1 Challenger Oeiras 2 Challenger Tenerife 1 Challenger Quimper Challenger Tenerife 2 Challenger Monterrey Challenger Waco Challenger Puerto Vallarta Challenger Phoenix Challenger Lille Challenger Barletta Challenger Oeiras 3 Challenger Aix En Provence Challenger Francavilla Challenger Bordeaux Challenger Oeiras 4 Challenger Lyon Challenger Orleans Challenger Maia Challenger Estoril Open - Estoril Estoril Open - Estoril Open 13 - Marseille Estoril Open - Estoril Grand Prix de Tennis de Lyon - Lyon Heineken Open - Auckland Open 13 - Marseille Grand Prix Hassan II - Casablanca Estoril Open - Estoril Brasil Open - Costa do Sauipe Estoril Open - Estoril Gerry Weber Open - Halle If Stockholm Open - Stockholm Open Sud de France - Montpellier Open de Tenis Comunidad Valenciana - Valencia Heineken Open - Auckland ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Open de Nice Cote d'Azur - Nice AEGON Championships - London Mercedes Cup - Stuttgart Open de Moselle - Metz Open de Tenis Comunidad Valenciana - Valencia Aircel Chennai Open - Chennai Heineken Open - Auckland Brasil Open - Sao Paulo Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Serbia Open - Belgrade Open de Nice Cote d'Azur - Nice UNICEF Open - 's Hertogenbosch Mercedes Cup - Stuttgart Credit Agricole Suisse Open - Gstaad Farmers Classic - Los Angeles Citi Open - Washington Winston-Salem Open - Winston-Salem Moselle Open - Metz Rakuten Japan Open - Tokyo Erste Bank Open - Vienna Swiss Indoors Basel - Basel Aircel Chennai Open - Chennai Heineken Open - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras AEGON Championships - London Topshelf Open - 's-Hertogenbosch Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg Winston-Salem Open - Winston-Salem Moselle Open - Metz If Stockholm Open - Stockholm Valencia Open - Valencia Aircel Chennai Open - Chennai Heineken Open - Auckland Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona AEGON Championships - London Topshelf Open - 's-Hertogenbosch Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg Vegeta Croatia Open - Umag Citi Open - Washington Winston-Salem Open - Winston-Salem Open Sud de France - Montpellier Open 13 - Marseille Barcelona Open BancSabadell - Barcelona TEB BNP Paribas Istanbul Open - Istanbul Open de Nice Cote d'Azur - Nice Topshelf Open - 's-Hertogenbosch Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo 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 Brasil Open - Sao Paulo US Men's Clay Court Championship - Houston Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open de Nice Cote d'Azur - Nice AEGON Championships - London Bet-at-home Open - Hamburg Citi Open - Washington Moselle Open - Metz Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo European Open - Antwerp Swiss Indoors Basel - Basel Aircel Chennai Open - Chennai Apia International - Sydney 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 Parc - Lyon Mercedes Cup - Stuttgart Gerry Weber Open - Halle Konzum Croatia Open - Umag Bet-at-home Open - Hamburg Moselle Open - Metz Rakuten Japan Open - Tokyo European Open - Antwerp Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Maharashtra Open - Pune Sydney International - Sydney Open Sud de France - Montpellier Rio Open - Rio de Janeiro Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Mercedes Cup - Stuttgart Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Plava Laguna Croatia Open - Umag German Tennis Championships - Hamburg Citi Open - Washington Winston-Salem Open - Winston-Salem Moselle Open - Metz Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Swiss Indoors Basel - Basel Tata Open Maharashtra - Pune ASB Classic - Auckland Sydney International - Sydney Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Rio Open - Rio de Janeiro Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril BMW Open - Munich Open Parc - Lyon Noventi Open - Halle Turkish Airlines Open Antalya - Antalya Plava Laguna Croatia Open - Umag German Tennis Championships - Hamburg Citi Open - Washington Winston-Salem Open - Winston-Salem Moselle Open - Metz Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Swiss Indoors Basel - Basel ASB Classic - Auckland Cordoba Open - Cordoba Tata Open Maharashtra - Pune ABN AMRO World Tennis Tournament - Rotterdam Argentina Open - Buenos Aires Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Santiago Open - Santiago bett1HULKS Indoors - Cologne Astana Open - Nur-Sultan 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 Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva cinch Championships - London Hamburg European Open - Hamburg Nordea Open - Bastad Swiss Open - Gstaad Truist Atlanta Open - Atlanta Citi Open - Washington Winston-Salem Open - Winston-Salem Sofia Open - Sofia European Open - Antwerp Emilia-Romagna Open - Parma Astana Open - Nur-Sultan Melbourne Summer Set - Melbourne Adelaide International 2 - Adelaide Cordoba Open - Cordoba Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva Mercedes Cup - Stuttgart Nordea Open - Bastad Hamburg European Open - Hamburg Swiss Open - Gstaad Truist Atlanta Open - Atlanta Citi Open - Washington Open Sud de France - Montpellier Millennium Estoril Open - Estoril Barcelona Open Banc Sabadell - Barcelona Gonet Geneva Open - Geneva USA F1 BNP Paribas Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Shanghai Rolex Masters - Shanghai 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 - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Rogers Cup - Toronto Western & Southern Open - Cincinnati Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati 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 - 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 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 Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Coupe Rogers - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Western & Southern Open - New York Rolex Paris Masters - Paris 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 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 Western & Southern Open - Cincinnati Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Davis Cup, Group 1, PO, MAR-POR 2-3 French Open - Paris 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 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 1, 1R, GEO-POR 3-2 Shenzhen Challenger Davis Cup, Group 2, 1R, POR-DEN 4-1 Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group II, 2R, POR-LTU 5-0 Hopman Cup - Perth 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, SF, FRA-ESP 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, Finals, Group A ATP Cup - Brisbane, Perth, Sydney Davis Cup, World Group I, PO, LTU-POR 0-4 ATP Cup - Melbourne Seoul Challenger French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) All Lower level tournaments Blois Challenger San Marino Challenger Olympics - Rio de Janeiro BNP Paribas Open - Indian Wells Australian Open - Melbourne Davis Cup, World Group, PO, POR-GER 2-3 Olympics - Tokyo