Career 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008
All Surfaces Clay Grass Hard I.hard
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 Tournaments Orleans Challenger Wimbledon - London EFG Swiss Open - Gstaad Rennes Challenger U.S. Open - New York Winston-Salem Open - Winston-Salem Porto Challenger Winnipeg Challenger U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Open Sabadell Atlantico - Barcelona Meknes Challenger Bytom Challenger Cassis Challenger Pozoblanco Challenger San Sebastian Challenger Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Estoril Open - Estoril If Stockholm Open - Stockholm Rabat Challenger Caltanissetta Challenger Rome Challenger Rome Challenger Cremona Challenger Alessandria Challenger Milan Challenger Pozoblanco Challenger Segovia Challenger San Sebastian Challenger Manerbio Challenger Como Challenger Banja Luka Challenger Ljubljana Challenger Napoli Challenger Plava Laguna Croatia Open - Umag Palermo Challenger Medellin Challenger Buenos Aires Challenger Open Sud de France - Montpellier Heilbronn Challenger Quimper Challenger Bergamo Challenger Meknes Challenger Casablanca Challenger Rabat Challenger Marrakech Challenger Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras French Open - Paris French Open (juniors) Wimbledon (juniors) Malaysian Open - Kuala Lumpur China Open - Beijing If Stockholm Open - Stockholm Valencia Open - Valencia BNP Paribas Masters - Paris Rome Challenger Bordeaux Challenger Caltanissetta Challenger Blois Challenger Tanger Challenger Timisoara Challenger Poznan Challenger Orbetello Challenger Segovia Challenger Cordenons Challenger Como Challenger Genova Challenger Aircel Chennai Open - Chennai Heineken Open - Auckland Australian Open - Melbourne Royal Guard Open Chile - Vina del Mar Copa Claro - Buenos Aires Rio Open 500 - Rio de Janeiro BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Grand Prix Hassan II - Casablanca Monte-Carlo Rolex Masters - Monte-Carlo Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Power Horse Cup - Dusseldorf French Open - Paris Wimbledon - London SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Vegeta Croatia Open - Umag Bet-at-home Cup - Kitzbuhel Winston-Salem Open - Winston-Salem U.S. Open - New York If Stockholm Open - Stockholm Valencia Open - Valencia Caltanissetta Challenger Mohammedia Challenger Braunschweig Challenger Seville Challenger Meknes Challenger Aircel Chennai Open - Chennai Heineken Open - Auckland Australian Open - Melbourne Brasil Open - Sao Paulo Rio Open - Rio de Janeiro Argentina Open - Buenos Aires BNP Paribas Open - Indian Wells Miami Open - Miami Grand Prix Hassan II - Casablanca Monte-Carlo Rolex Masters - Monte-Carlo Barcelona Open BancSabadell - Barcelona Internazionali BNL d'Italia - Rome Open de Nice Cote d'Azur - Nice French Open - Paris Aegon Nottingham Open - Nottingham Wimbledon - London Vegeta Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Austrian Open - Kitzbuhel Winston-Salem Open - Winston-Salem U.S. Open - New York Moselle Open - Metz If Stockholm Open - Stockholm Valencia Open - Valencia BNP Paribas Masters - Paris Prostejov Challenger Perugia Challenger Millennium Estoril Open - Estoril Braunschweig Challenger Poznan Challenger Seville Challenger Szczecin Challenger Mohammedia Challenger Qatar ExxonMobil Open - Doha Australian Open - Melbourne Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo BNP Paribas Open - Indian Wells Miami Open - Miami Grand Prix Hassan II - Marrakech Monte-Carlo Rolex Masters - Monte-Carlo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Mutua Madrid Open - Madrid Geneva Open - Geneva French Open - Paris Aegon Nottingham Open - Nottingham Wimbledon - London Konzum Croatia Open - Umag Abierto Mexicano - Los Cabos Western & Southern Open - Cincinnati Winston-Salem Open - Winston-Salem U.S. Open - New York Chengdu Open - Chengdu China Open - Beijing Shanghai Rolex Masters - Shanghai Kremlin Cup - Moscow Swiss Indoors Basel - Basel BNP Paribas Masters - Paris France F1 France F2 Kooyong Classic - Kooyong France F3 Tunisia F5 Tunisia F6 France F4 France F5 France F6 France F7 Qatar F1 Qatar F2 Qatar F3 Tunisia F18 Todi Challenger San Benedetto Challenger France F10 Germany F4 Italy F21 Davis Cup, Group I, 2R, ROU-ESP 1-4 Spain F25 Netherlands F5 Netherlands F6 Tunisia F22 Tunisia F23 Tunisia F25 Tunisia F26 Tunisia F27 France F23 Egypt F30 Egypt F31 Apia International - Sydney Australian Open - Melbourne Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome French Open - Paris SkiStar Swedish Open - Bastad Rogers Cup - Montreal Western & Southern Open - Cincinnati Winston-Salem Open - Winston-Salem U.S. Open - New York China Open - Beijing Shanghai Rolex Masters - Shanghai Kremlin Cup - Moscow Erste Bank Open - Vienna BNP Paribas Masters - Paris Nitto ATP Finals - London Budapest Challenger Tunisia F1 (Hammamet) Tunisia F2 (Hammamet) Tunisia F3 (Hammamet) Davis Cup, World Group, 1R, CRO-ESP 2-3 Egypt F5 (Sharm El Sheikh) Egypt F6 (Sharm El Sheikh) France F4 (Lille) France F5 (Toulouse) Bordeaux Challenger Blois Challenger Greece F3 (Heraklion) Greece F4 (Heraklion) Greece F5 (Heraklion) Davis Cup, World Group, QF, SRB-ESP 4-1 Tunisia F15 (Hammamet) Tunisia F16 (Hammamet) Tunisia F17 (Hammamet) Marburg Challenger Perugia Challenger San Benedetto Challenger Segovia Challenger Vancouver Challenger France F13 (Montauban) Istanbul Challenger Izmir Challenger Orleans Challenger Brest Challenger France F22 (Nevers) Qatar ExxonMobil Open - Doha Australian Open - Melbourne Open Sud de France - Montpellier Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro BNP Paribas Open - Indian Wells Miami Open - Miami Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome French Open - Paris Wimbledon - London SkiStar Swedish Open - Bastad German Tennis Championships - Hamburg Rogers Cup - Toronto Western & Southern Open - Cincinnati Winston-Salem Open - Winston-Salem U.S. Open - New York Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Rennes Challenger Cherbourg Challenger Bergamo Challenger Mubadala World Tennis Championship Drummondville Challenger Le Gosier Challenger Barletta Challenger Tunis Challenger Ostrava Challenger Canada F2 (Sherbrooke) Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Lyon Challenger Blois Challenger San Benedetto Challenger Padova Challenger Liberec Challenger Portoroz Challenger Cassis Challenger Istanbul Challenger Orleans Challenger Ortisei Challenger Ismaning Challenger Brest Challenger Eckental Challenger Davis Cup, World Group, SF, FRA-ESP 3-2 ASB Classic - Auckland Australian Open - Melbourne Open Sud de France - Montpellier Cordoba Open - Cordoba Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome French Open - Paris Turkish Airlines Open Antalya - Antalya Wimbledon - London SkiStar Swedish Open - Bastad German Tennis Championships - Hamburg Generali Open - Kitzbuhel Western & Southern Open - Cincinnati Winston-Salem Open - Winston-Salem U.S. Open - New York Moselle Open - Metz Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Shanghai Rolex Masters - Shanghai Intrum Stockholm Open - Stockholm Erste Bank Open - Vienna Orlando Challenger Columbus Challenger Newport Beach Challenger Cleveland Challenger Cherbourg Challenger Bergamo Challenger Pau Challenger Lille Challenger St. Brieuc Challenger Murcia Challenger Tunis Challenger Ostrava Challenger Braga Challenger Lisbon Challenger Lyon Challenger Ludwigshafen Challenger M25+H Toulouse Cordenons Challenger Seville Challenger Florence Challenger M25+H Appiano M25 Schlieren M25 Oviedo M25 Madrid Brest Challenger M25+H Rodez M25 Saint Dizier Davis Cup, Finals, QF, ARG-ESP 1-2 Adelaide International - Adelaide Australian Open - Melbourne Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Internazionali BNL d'Italia - Rome French Open - Paris Western & Southern Open - New York U.S. Open - New York European Open - Antwerp Erste Bank Open - Vienna Rolex Paris Masters - Paris Rennes Challenger Quimper Challenger Bengalaru Challenger Pau Challenger M15 Manacor M25 Nonthaburi Potchefstroom Challenger M25 Potchefstroom All Lower level tournaments Cordenons Challenger Aix En Provence Challenger Lisbon Challenger Istanbul Challenger Hamburg Challenger Australian Open Qualifying - Doha ATP Cup - Melbourne Australian Open - Melbourne Istanbul Challenger Quimper Challenger Quimper 2 Challenger Open Sud de France - Montpellier Open 13 Provence - Marseille BNP Paribas Open - Indian Wells Dubai Duty Free Tennis Championships - Dubai Monte-Carlo Rolex Masters - Monte-Carlo Barcelona Open Banc Sabadell - Barcelona Serbia Open - Belgrade Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Open Parc - Lyon French Open - Paris Mallorca Championships - Mallorca Wimbledon - London Hamburg European Open - Hamburg Olympics - Tokyo Rogers Cup - Toronto Western & Southern Open - Cincinnati Winston-Salem Open - Winston-Salem U.S. Open - New York Moselle Open - Metz St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Erste Bank Open - Vienna Rolex Paris Masters - Paris Potchefstroom 1 Challenger Potchefstroom 2 Challenger Anytech365 Andalucia Open - Marbella Biella 4 Challenger Lille Challenger Belgrade Challenger Emilia-Romagna Open - Parma Ostrava Challenger Zagreb Challenger Lyon Challenger Nottingham 2 Challenger Pozoblanco Challenger Segovia Challenger St. Tropez Challenger Astana Open - Nur-Sultan Cassis Challenger Rennes Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Davis Cup, Finals, Group A ATP Cup - Sydney Adelaide International 1 - Adelaide Adelaide International 2 - Adelaide Australian Open - Melbourne Open Sud de France - Montpellier Rio Open - Rio de Janeiro Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Open Parc - Lyon French Open - Paris Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Wimbledon - London Cherbourg Challenger Nordea Open - Bastad Hall of Fame Open - Newport Hamburg European Open - Hamburg Citi Open - Washington National Bank Open - Montreal Western & Southern Open - Cincinnati Winston-Salem Open - Winston-Salem U.S. Open - New York Moselle Open - Metz Sofia Open - Sofia Stockholm Open - Stockholm Swiss Indoors Basel - Basel Rolex Paris Masters - Paris Davis Cup, Qualifiers, 1R, FRA-ECU 4-0 Aix En Provence Challenger Bordeaux Challenger Gijon Open - Gijon Tennis Napoli Open - Naples Davis Cup, Group C, Hamburg Brest Challenger Davis Cup, Finals, QF, CRO-ESP 2-0 Tata Open Maharashtra - Pune Adelaide International 2 - Adelaide Australian Open - Melbourne Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Grand Prix Hassan II - Marrakech Monte-Carlo Rolex Masters - Monte-Carlo Boss Open - Stuttgart Terra Wortmann Open - Halle Davis Cup, World Group, PO, HUN-FRA 2-3 Spain F31 Spain F38 Spain F6 Spain F7 Egypt F5 Egypt F6 Spain F13 Spain F14 Spain F15 Spain F22 Spain F28 Spain F29 Spain F30 Spain F31 Spain F32 Spain F34 Spain F33 Spain F35 Spain F36 Spain F37 Tanger Challenger Spain F1 Spain F2 Spain F4 Spain F7 Spain F9 Spain F10 Spain F11 Spain F14 Alessandria Challenger Spain F15 Marburg Challenger Spain F23 Trani Challenger Geneva Challenger Spain F27 Spain F31 Spain F32 Spain F35 Spain F36 Spain F37 Spain F38 Spain F39 Spain F2 Spain F3 Spain F5 Spain F6 Kosice Challenger Spain F28 Morocco F6 Morocco F7 Morocco F9 Morocco F10 Turkey F2 Turkey F3 Spain F1 Spain F2 Spain F3 Spain F4 Spain F6 Spain F7 Greece F2 Greece F4 France F12 France F13 France F2 France F1 France F3 Portugal F2 Portugal F3 France F6 France F7 Spain F10 Belgium F5 Switzerland F3 Belgium F13 France F17 Spain F26 Spain F27 Turkey F33 Turkey F34 France F23 Greece F9 Greece F10 France F2 France F4 France F5 Spain F6 Spain F7 Spain F9 France F8 Turkey F17 Turkey F18 Portugal F7 Portugal F8 France F10 Turkey F25 Turkey F26 Portugal F9 Portugal F10 Portugal F11 Turkey F32 Turkey F33 Egypt F28 France F17 Tunisia F23 Tunisia F26 Tunisia F27 Tunisia F29 Tunisia F30