Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002
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 Milan Challenger Wimbledon - London Pozoblanco Challenger U.S. Open - New York Alicante Challenger Bergamo Challenger Malaga Challenger European Open - Antwerp Moselle Open - Metz Open 13 Provence - Marseille Barcelona Open Banc Sabadell - Barcelona Australian Open - Melbourne BNP Paribas Open - Indian Wells Miami Open - Miami Noumea Challenger Qatar ExxonMobil Open - Doha Open Sud de France - Montpellier Dubai Duty Free Tennis Championships - Dubai Phoenix Challenger Rome Challenger Lexington Challenger Madrid Challenger Chicago Challenger French Open - Paris Winnipeg Challenger Bordeaux Challenger Prague Challenger Lyon Challenger U.S. Open - New York Ilkley Challenger Wimbledon - London Granby Challenger Cary Challenger Rennes Challenger Orleans Challenger St. Tropez Challenger Villena Challenger Nonthaburi 3 Challenger Roanne Challenger Brest Challenger Belgrade Open - Belgrade Lyon Challenger Lille Challenger Glasgow Challenger Thionville Challenger Lugano Challenger Bordeaux Challenger Open 13 Provence - Marseille Open Occitanie - Montpellier Hong Kong Tennis Open - Hong Kong Australian Open - Melbourne Guangzhou Challenger Gwangju Challenger Porto Challenger Morelia Challenger Cuernavaca Challenger Grodzisk Mazowiecki Challenger Wuxi Challenger French Open - Paris Boss Open - Stuttgart Birmingham Challenger Wimbledon - London Nottingham 2 Challenger Nottingham 3 Challenger Pozoblanco Challenger U.S. Open - New York Segovia Challenger Istanbul Challenger Villena Challenger St. Tropez Challenger Orleans Challenger Brest Challenger Olbia Challenger Matsuyama Challenger Kobe Challenger Portugal F1 Bulgaria-w1 Bulgaria-w4 Portugal F2 Portugal F3 Bulgaria-w2 Romania F8 Romania F9 Romania F10 Spain F17 Spain F18 Portugal #1-w1 Portugal #1-w2 Bulgaria-w3 Portugal #1-w3 Portugal #1-w4 Brazil F10 Brazil F11 Tunisia F5 Tunisia F6 Portugal F1 Portugal F3 Italy F5 Italy F6 Italy F7 Bulgaria-w1 Bulgaria-w2 Bulgaria-w3 Bulgaria-w4 France F8 France F9 Venezuela F5 Venezuela F6 Nigeria F1 Nigeria F2 France F4 France F5 Portugal F3 Morocco F5 Poland F4 Romania F4 Morocco F1 Portugal F7 Morocco F2 France F12 France F18 France F19 France F21 France F2 Portugal F2 France F5 Turkey F7 Turkey F9 Portugal F1 Turkey F16 Portugal F3 France F4 France F7 Turkey F8 Italy F20 France F14 Turkey F15 Portugal F6 Turkey F25 Spain F21 Spain F22 Italy F28 Turkey F31 Turkey F32 France F20 Portugal F8 Portugal F9 Portugal F10 Tunisia F9 Tunisia F10 Tunisia F11 Tunisia F1 Tunisia F2 France F3 Tunisia F5 Tunisia F6 Portugal F1 France F4 Portugal F2 Switzerland F1 Portugal F3 Morocco F2 Morocco F3 Spain F7 Greece F3 Greece F4 Italy F5 Italy F6 Tunisia F15 Israel F4 Israel F5 Portugal F4 Portugal F5 Turkey F19 Portugal F6 Turkey F20 India F8 India F9 France F20 Kuwait F1 Kuwait F2 Germany F1 Tunisia F2 India F10 Tunisia F4 Tunisia F5 Great Britain F3 Tunisia F6 Portugal F1 Italy F1 Italy F2 Tunisia F12 France F14 Tunisia F13 Tunisia F14 Tunisia F15 Portugal F9 Portugal F4 Portugal F5 Portugal F6 Portugal F7 Spain F15 Portugal F10 Spain F18 Slovakia F2 Germany F5 Spain F19 Spain F20 Turkey F27 Portugal F8 Portugal F9 Portugal F10 Portugal F11 Serbia F7 Spain F24 Romania F12 Italy F25 Switzerland F3 Italy F26 France F18 Tunisia F23 France F19 France F20 France F21 Portugal F12 Tunisia F27 Tunisia F28 Norway F2 Tunisia F29 Norway F3 Tunisia F30 Tunisia F31 Tunisia F32 Turkey F47 France F3 (Veigy-Foncenex) Great Britain F1 (Glasgow) Great Britain F2 (Tipton) Italy F2 (Trento) Portugal F1 (Vale Do Lobo) Italy F3 (Basiglio) Portugal F2 (Faro) Portugal F3 (Loule) Portugal F4 (Lisbon) Portugal F5 (Quinta Da Marinha) Portugal F6 (Porto) France F8 (La Grande Motte) Portugal F7 (Carcavelos) Italy F10 (Santa Margherita Di Pula) Sweden F1 (Karlskrona) Sweden F2 (Bastad) Spain F16 (Huelva) Israel F10 (Kiryat Shmona) Portugal F8 (Lisbon) Israel F11 (Herzlia) Israel F12 (Tel Aviv) Portugal F9 (Setubal) Portugal F10 (Torres Vedras) Portugal F11 (Povoa de Varzim) Spain F22 (Denia) Ireland F2 (Dublin) Spain F23 (Xativa) Portugal F14 (Porto) Belarus F2 (Minsk) Belarus F3 (Minsk) Portugal F17 (Sintra) Italy F27 (Piombino) Portugal F18 (Sintra) France F19 (Mulhouse) Spain F29 (Sevilla) France F20 (Plaisir) Portugal F19 (Castelo Branco) Portugal F20 (Oliveira De Azemeis) France F21 (Forbach) Portugal F21 (Idanha-a-Nova) Italy F34 (Santa Margherita Di Pula) Italy F35 (Santa Margherita Di Pula) Italy F36 (Santa Margherita Di Pula) Malaysia F3 (Kuala Lumpur) Tunisia F36 (Hammamet) Tunisia F37 (Hammamet) USA F3 (Naples) USA F4 (Sunrise) France F3 (Veigy-Foncenex) USA F5 (Weston) USA F6 (Palm Coast) Switzerland F2 (Bellevue) Portugal F1 (Vale Do Lobo) Italy F1 (Trento) Portugal F2 (Faro) Portugal F3 (Loule) Portugal F5 (Vilamoura) Portugal F6 (Lisbon) Portugal F7 (Porto) Portugal F8 (Cascais) Italy F11 (Napoli) Romania F2 (Bacau) Spain F14 (Huelva) Italy F13 (Padova) Portugal F9 (Povoa de Varzim) Portugal F10 (Setubal) Spain F17 (Bakio) Italy F23 Portugal F11 (Castelo Branco) France F13 (Ajaccio) Portugal F12 (Porto) Portugal F13 (Caldas Da Rainha) Portugal F14 (Sintra) Portugal F15 (Sintra) Portugal F16 (Sintra) Tunisia F31 (Monastir) Portugal F17 (Setubal) Portugal F18 (Oliveira De Azemeis) Portugal F19 (Idanha-a-Nova) Portugal F20 (Idanha-a-Nova) Portugal F21 (Sao Bras de Alportel) Portugal F22 (Tavira) Tunisia F41 (Monastir) Tunisia F42 (Monastir) Tunisia F43 (Monastir) Tunisia F44 (Monastir) Tunisia F45 (Monastir) M15 Veigy-Foncenex M25 Barnstaple M15 Vale Do Lobo M25 Trento M15 Faro M15 Toulouse M15 Loule M15 Poitiers M15 Portimao M15 Quinta Do Lago M15 Cancun M15 Reus M15 Cancun M15 Madrid M15 Cancun M25 Vic M25 Gyula M15 Majadahonda M15 Tabarka M25 Huelva M15 Setubal M25 Bakio M15 Idanha-A-Nova M25+H Ajaccio M15 Idanha-A-Nova M15 Castelo Branco M25 Porto M15 Sintra M15 Sintra M15 Sao Bras Alportel M25+H Oliveira De Azemeis M25 Tavira M25 Saint Dizier M25 Bakio M25 Setubal M25 Quinta Do Lago M25 Portimao Portugal F13 Italy F24 Switzerland F4 France F3 Germany F15 Tunisia F1 Maia Open 2002 - Maia Copa Sevilla Internacionales de Andalucia - Seville Open Castilla y Leon - Segovia Open de Montauban - Montauban Stella Artois Clay Court Championships - Budaors Togliatti Cup - Togliatti Mordovia Cup 2005 - Saransk Samarkand Challenger - Samarkand Bukhara Challenger - Bukhara Challenger Copa Sevilla - Seville Copa Petrobras - Bogota Challenger Cudad de Guayaquil - Guayaquil Challenger Britania Zavaleta - Puebla Open de la Ville de Saint Denis - Reunion Island Aberto de Santa Catarina - Florianopolis 5° Sporting Challenger - Turin Memorial Manfredini - Sassuolo Bancastato Challenger Lugano - Lugano Harbour Tennis Cup Regione Lombardia - Milan 12° Tornea B. Camparini Arpa Ceramic Cup - Reggio Emilia Open de Montauban - Montauban Porsche Open - Poznan Akbank Private Banking TED Open 2006 - Istanbul Concurso Internacional de Vigo - Vigo Kos-Zucchetti Tennis Cup - Cordenons Antonio Savoldi-Marco Co. - Manerbio Challenger Copa Sevilla - Seville Seguros Bolivar Open - Medellin Copa Petrobras Colombia - Bogota Copa Petrobras Uruguray - Montevideo Copa Petrobras Brazil - Aracaju Copa Petrobras Argentina - Buenos Aires Copa Petrobras Paraguay - Asuncion Challenger Britania Zavaleta - Puebla Internationaux de Doubs Open de Franchie-Comte - Besancon Challenger DCN de Cherbourg - Cherbourg Bancolombia Open - Bogota Morocco Tennis Tour - Rabat Tennis Napoli Cup 2007 - Napoli Mitsubishi Electric Europe Cup - Monza Morocco Tennis Tour - Casablanca Morocco Tennis Tour - Marrakech Unique Zagreb Open - Zagreb Baden Open - Karlsruhe Schickedanz Open 2007 - Furth Nord LB Open 2007 - Braunschweig Arpa Ceramic Cup - Reggio Emilia Open de Montauban - Montauban 9° Trani Cup - Trani San Marino Cepu Open - San Marino Kos-Zucchetti Tennis Cup - Cordenons XXXIV Edizione 'A. Savoldi-Marco Co.' Trofeo Dimmidisi - Manerbio Copa Sevilla 2007 - Seville Open Costa Daurada - Tarragona Copa Petrobras Uruguay - Montevideo Copa Petrobras Paraguay - Asuncion Copa Petrobras Argentina - Buenos Aires Lima Challenger 2007 - Lima South African Airways Open - East London Internationaux du Doubs - Besancon Challenger DCNS de Cherbourg - Cherbourg Morocco Tennis Tour - Tanger Tennis Napoli Cup - Napoli Tunis Open - Tunis Morocco Tennis Tour - Rabat Morocco Tennis Tour - Marrakech Memorial A. Manfredini Sassuolo Challenger - Sassuolo Zenith Tennis Cup-Harbour Club - Milan Sporting Challenger '08-Trofeo Regione Piemonte - Turin Siemens Open - Scheveningen Porsche Open - Poznan ATP Open Castilla y Leon - Segovia Akbank Private Banking TED Open - Istanbul Genova Open Challenger - Genova Copa Petrobras-Argentina - Buenos Aires Bancolombia Open - Cali Seguros Bolivar Open - Medellin Challenger Britania Zavaleta - Puebla Abierto Internacional Varonil Ciudad de Cancun - Cancun Besancon Challenger Bogota Challenger Tunis Challenger Prostejov Challenger Turin Challenger Istanbul Challenger Szczecin Challenger Napoli Challenger Orleans Challenger Rome Challenger Tunis Challenger Alessandria Challenger Prostejov Challenger Lugano Challenger Milan Challenger Turin Challenger Poznan Challenger San Marino Challenger Istanbul Challenger Napoli Challenger Tarragona Challenger Tashkent Challenger Seoul Challenger Le Gosier Challenger Napoli Challenger Braunschweig Challenger Poznan Challenger Trani Challenger Genova Challenger Napoli Challenger Palermo Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Buenos Aires Challenger Dallas Challenger Caltanissetta Challenger Milan Challenger Braunschweig Challenger Pozoblanco Challenger Como Challenger Genova Challenger Quito Challenger San Juan Challenger Rio De Janeiro Challenger Buenos Aires Challenger Medellin Challenger Guayaquil Challenger Pereira Challenger Rome Challenger Samarkand Challenger Itajai Challenger Sao Paulo Challenger Heilbronn Challenger Milan Challenger St. Remy Challenger Seville Challenger Reunion Island Challenger Caltanissetta Challenger Perugia Challenger Milan Challenger Marburg Challenger Braunschweig Challenger St. Remy Challenger Cherbourg Challenger Blois Challenger Portoroz Challenger St. Remy Challenger Bergamo Challenger St. Brieuc Challenger Lisbon Challenger Astana Challenger Segovia Challenger Santo Domingo Challenger Ortisei Challenger Ho Chi Minh City Challenger Pune Challenger Bangalore Challenger Playford Challenger Canberra Challenger Budapest Challenger Drummondville Challenger Lille Challenger Taipei City Challenger Nanchang Challenger Anning Challenger Braga Challenger Bordeaux Challenger Lisbon Challenger France F2 Blois Challenger Milan Challenger Astana Challenger Binghamton Challenger Tunisia F21 Lexington Challenger Cordenons Challenger Mallorca Challenger Seville Challenger Cassis Challenger Bulgaria F4 Istanbul Challenger Orleans Challenger Las Vegas Challenger Charlottesville Challenger Mouilleron-Le-Captif Challenger Noumea Challenger Canberra Challenger Budapest Challenger St. Brieuc Challenger Puerto Vallarta Challenger Braga Challenger Lyon Challenger Bratislava Challenger Segovia Challenger Mallorca Challenger Cassis Challenger Istanbul Challenger Seville Challenger Glasgow Challenger Nur-Sultan Challenger Mouilleron-Le-Captif Challenger Ismaning Challenger Brest Challenger Helsinki Challenger Bendigo Challenger Bangkok Challenger Cherbourg Challenger Bergamo Challenger Pau Challenger Potchefstroom Challenger Todi Challenger Prague II Challenger Cordenons Challenger Parma Challenger Iasi Challenger Split Challenger Lisbon Challenger Ismaning Challenger Hamburg Challenger Ortisei Challenger Maia Challenger Quimper Challenger Quimper 2 Challenger Potchefstroom 1 Challenger Nur-Sultan 1 Challenger Nur-Sultan 2 Challenger Biella 3 Challenger Lugano Challenger Oeiras 2 Challenger Rome 1 Challenger Ostrava Challenger Oeiras 3 Challenger Biella 7 Challenger Lyon Challenger Forli Challenger Milan Challenger Nur-Sultan 3 Challenger Nur-Sultan 4 Challenger Segovia Challenger St. Tropez Challenger Cassis Challenger Istanbul 2 Challenger Biel Challenger Orleans Challenger Alicante Challenger Brest Challenger Bergamo Challenger Roanne Challenger Bendigo Challenger Bengalaru 1 Challenger Bengalaru 2 Challenger Forli 5 Challenger Phoenix Challenger Lugano Challenger Sanremo Challenger Rome 1 Challenger Aix En Provence Challenger Bordeaux Challenger Troisdorf Challenger Poznan Challenger Lyon Challenger Ilkley Challenger Porto Challenger Pozoblanco Challenger Segovia Challenger Cassis Challenger Rennes Challenger Mouilleron-Le-Captif Challenger St. Tropez Challenger Brest Challenger Roanne Challenger Noumea Challenger Quimper Challenger Koblenz Challenger Cherbourg Challenger Lugano Challenger Las Franquesas del Valles Challenger Lille Challenger Madrid Challenger Surbiton Challenger Nottingham Challenger Estoril Open - Estoril Portugal F3 Estoril Open - Estoril Grand Prix Hassan II - Casablanca Estoril Open - Estoril Estoril Open - Estoril SA Tennis Open - Johannesburg Brasil Open - Costa do Sauipe Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Interwetten Austrian Open - Kitzbuhel AEGON Championships - London Catella Swedish Open - Bastad ATP Studena Croatia Open Umag - Umag Legg Mason Tennis Classic - Washington Pilot Pen Tennis - New Haven BCR Open Romania - Bucharest Bank Austria Tennis Trophy - Vienna Davidoff Swiss Indoors Basel - Basel Qatar Exxon Mobil Open - Doha Medibank International - Sydney Brasil Open - Costa do Sauipe Copa Telmex - Buenos Aires Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Estoril Open - Estoril Allianz Suisse Open Gstaad - Gstaad Pilot Pen Tennis - New Haven Open Sud de France - Montpellier Open de Tenis Comunidad Valenciana - Valencia Aircel Chennai Open - Chennai Medibank International - Sydney Movistar Open - Santiago Brasil Open - Costa do Sauipe Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Estoril Open - Estoril Open de Nice Cote d'Azur - Nice AEGON International - Eastbourne Allianz Suisse Open - Gstaad Winston Salem - Winston Salem BCR Open Romania - Bucharest Aircel Chennai Open - Chennai Apia International - Sydney VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Open Sabadell Atlantico - Barcelona Estoril Open - Estoril AEGON Championships - London SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires BRD Nastase Tiriac Trophy - Bucharest Portugal Open - Oeiras Portugal Open - Oeiras Power Horse Cup - Dusseldorf Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel Grand Prix Hassan II - Casablanca Millennium Estoril Open - Estoril Millennium Estoril Open - Estoril Open Parc - Lyon Antalya Open - Antalya Tata Open Maharashtra - Pune Barcelona Open Banc Sabadell - Barcelona Tel Aviv Watergen Open - Tel Aviv Tennis Napoli Open - Naples Open Sud de France - Montpellier Open 13 Provence - Marseille Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Open Parc - Lyon cinch Championships - London Sony Ericsson Open - Miami BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrilena Madrid Open - Madrid St. Tropez Challenger Porto Challenger Orleans Challenger Segovia Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rolex Paris Masters - Paris French Open - Paris French Open - Paris Wimbledon - London U.S. Open - New York 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 French Open - Paris 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 Davis Cup, Group 2, 2R, SCG-POR 5-0 Davis Cup, Group 2, 2R, POR-ALG 3-2 Davis Cup, Group 2, 3R, POR-SLO 4-1 Davis Cup, Group 1, 1R, LUX-POR 4-1 Davis Cup, Group 1, PO, MAR-POR 2-3 Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 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, Group 2, 1R, POR-DEN 4-1 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, 2R, SUI-POR 5-0 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group I, 1R, POR-SVK 4-1 Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) All Lower level tournaments