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 U.S. Open - New York Australian Open - Melbourne French Open - Paris Bordeaux Challenger Prague Challenger Lyon Challenger Wimbledon - London U.S. Open - New York Open 13 Provence - Marseille Australian Open - Melbourne Portugal F1 Portugal F2 Portugal F3 Bulgaria-w1 Bulgaria-w2 Bulgaria-w3 Bulgaria-w4 Romania F8 Romania F10 Spain F17 Spain F18 Portugal #1-w2 Portugal #1-w3 Brazil F10 Brazil F11 Portugal F3 Italy F5 Italy F6 Italy F7 Bulgaria-w2 Bulgaria-w3 France F8 France F9 Venezuela F5 Venezuela F6 France F4 France F5 Romania F4 Portugal F7 Morocco F1 Morocco F2 France F18 France F19 France F21 France F2 Portugal F2 Portugal F3 France F4 France F5 Turkey F7 Turkey F8 Turkey F9 Turkey F15 Turkey F16 Portugal F6 Italy F20 France F14 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 F1 Tunisia F2 France F3 Tunisia F5 Portugal F1 France F4 Portugal F2 Portugal F3 Morocco F2 Morocco F3 Spain F7 Greece F3 Greece F4 Italy F6 Tunisia F15 Israel F4 Israel F5 Portugal F4 Portugal F5 Turkey F19 Portugal F6 Turkey F20 India F8 India F9 India F10 France F14 Portugal F9 Portugal F10 Slovakia F2 Portugal F11 Serbia F7 Italy F23 France F20 Portugal F13 Kuwait F1 Kuwait F2 Germany F1 Tunisia F1 France F2 Tunisia F2 France F3 Tunisia F4 Tunisia F6 Portugal F1 Italy F1 Italy F2 Portugal F3 Wimbledon - London Tunisia F12 Tunisia F13 Tunisia F14 Tunisia F15 Portugal F4 Portugal F5 Portugal F6 Portugal F7 Spain F15 Tunisia F21 Bulgaria F4 Spain F18 Germany F5 Spain F19 Spain F20 Turkey F27 Portugal F8 Portugal F9 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) Portugal F1 (Vale Do Lobo) Portugal F2 (Faro) 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 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) 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) Portugal F11 (Castelo Branco) France F13 (Ajaccio) Portugal F12 (Porto) Portugal F13 (Caldas Da Rainha) Portugal F14 (Sintra) Portugal F16 (Sintra) Portugal F17 (Setubal) Portugal F22 (Tavira) Tunisia F42 (Monastir) Tunisia F43 (Monastir) Tunisia F45 (Monastir) M15 Veigy-Foncenex M25 Trento M15 Quinta Do Lago M15 Reus M15 Cancun M15 Cancun M25 Vic M15 Majadahonda M25+H Ajaccio M15 Idanha-A-Nova M25 Porto M15 Sintra M15 Sintra M25 Tavira M25 Saint Dizier M25 Bakio M25 Setubal Challenger Britania Zavaleta - Puebla Tennis Napoli Cup 2007 - Napoli Morocco Tennis Tour - Casablanca XXXIV Edizione 'A. Savoldi-Marco Co.' Trofeo Dimmidisi - Manerbio Copa Petrobras Argentina - Buenos Aires Lima Challenger 2007 - Lima Internationaux du Doubs - Besancon Zenith Tennis Cup-Harbour Club - Milan Siemens Open - Scheveningen Szczecin Challenger Prostejov Challenger Istanbul Challenger St. Remy Challenger St. Brieuc Challenger Astana Challenger Segovia Challenger Santo Domingo Challenger Pune Challenger Bangalore Challenger Lille Challenger Nanchang Challenger Braga Challenger Bordeaux Challenger Blois Challenger Milan Challenger Binghamton Challenger Lexington Challenger Cordenons Challenger Mallorca Challenger Cassis Challenger Orleans Challenger Las Vegas Challenger Mouilleron-Le-Captif Challenger Noumea Challenger Canberra Challenger St. Brieuc Challenger Puerto Vallarta Challenger Braga Challenger Lyon Challenger Bratislava Challenger Segovia Challenger Mallorca Challenger Cassis Challenger Glasgow Challenger Nur-Sultan Challenger France F12 Iasi Challenger Split Challenger Oeiras 2 Challenger Ostrava Challenger Oeiras 3 Challenger Milan Challenger Nur-Sultan 3 Challenger Nur-Sultan 4 Challenger Istanbul 2 Challenger Bergamo Challenger Bendigo Challenger Aix En Provence Challenger Troisdorf Challenger Ilkley Challenger Porto Challenger Segovia Challenger Cassis Challenger Mouilleron-Le-Captif Challenger St. Tropez Challenger Brest Challenger Roanne Challenger Koblenz Challenger Cherbourg Challenger Las Franquesas del Valles Challenger Surbiton Challenger Winnipeg Challenger Granby Challenger Portugal F1 France F7 Portugal F3 Lexington Challenger Portugal #1-w1 Cary Challenger Morocco F5 Portugal #1-w4 Tunisia F5 Tunisia F6 Portugal F1 Bulgaria-w1 Bulgaria-w4 Nigeria F1 Nigeria F2 Poland F4 Switzerland F4 Romania F9 Italy F2 (Trento) Portugal F3 (Loule) Rennes Challenger St. Tropez Challenger Orleans Challenger Villena Challenger Portugal F15 (Sintra) Roanne Challenger France F20 (Plaisir) Tunisia F11 Tunisia F31 (Monastir) Lyon Challenger Portugal F18 (Oliveira De Azemeis) Portugal F19 (Idanha-a-Nova) Portugal F20 (Idanha-a-Nova) Portugal F21 (Sao Bras de Alportel) Morelia Challenger Gwangju Challenger Guangzhou Challenger M25 Portimao Wuxi Challenger Birmingham Challenger Tunisia F41 (Monastir) Nottingham 2 Challenger Pozoblanco Challenger Segovia Challenger Porto Challenger Grodzisk Mazowiecki Challenger M25 Barnstaple M15 Vale Do Lobo M15 Faro M15 Toulouse M15 Loule M15 Poitiers M15 Portimao Villena Challenger M15 Cancun Olbia Challenger M15 Madrid M25 Gyula M15 Tabarka M25 Huelva M15 Setubal M25 Bakio M15 Idanha-A-Nova M15 Castelo Branco M25+H Oliveira De Azemeis Kobe Challenger Tunisia F6 Estoril Open - Estoril M25 Quinta Do Lago Switzerland F1 Italy F5 Portugal F10 Estoril Open - Estoril Great Britain F3 Grand Prix Hassan II - Casablanca Estoril Open - Estoril Italy F24 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 South African Airways Open - East London Pilot Pen Tennis - New Haven Bank Austria Tennis Trophy - Vienna Challenger DCNS de Cherbourg - Cherbourg Qatar Exxon Mobil Open - Doha Medibank International - Sydney Germany F15 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 de Tenis Comunidad Valenciana - Valencia Medibank International - Sydney Movistar Open - Santiago Brasil Open - Costa do Sauipe Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Portugal F9 (Setubal) Grand Prix Hassan II - Casablanca Estoril Open - Estoril Open de Nice Cote d'Azur - Nice Morocco Tennis Tour - Marrakech 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 VTR Open - Vina del Mar Copa Claro - Buenos Aires Porsche Open - Poznan Power Horse Cup - Dusseldorf Bet-at-home Cup - Kitzbuhel Grand Prix Hassan II - Casablanca Akbank Private Banking TED Open - Istanbul Open Parc - Lyon Copa Petrobras-Argentina - Buenos Aires Budapest Challenger Bancolombia Open - Cali Abierto Internacional Varonil Ciudad de Cancun - Cancun Tunis Challenger Antalya Open - Antalya Turin Challenger Istanbul Challenger Napoli Challenger Orleans Challenger Barcelona Open Banc Sabadell - Barcelona Tennis Napoli Open - Naples Alessandria Challenger Open Sud de France - Montpellier Milan Challenger Turin Challenger Qatar ExxonMobil Open - Doha San Marino Challenger Belgrade Open - Belgrade Tunisia F5 Tarragona Challenger Tashkent Challenger Tunisia F44 (Monastir) Buenos Aires Challenger Quito Challenger Guayaquil Challenger Cherbourg Challenger Italy F3 (Basiglio) Maia Open 2002 - Maia Copa Sevilla Internacionales de Andalucia - Seville Open Castilla y Leon - Segovia Lisbon Challenger 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 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 Bergamo Challenger 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 Bogota Challenger Challenger Britania Zavaleta - Puebla Internationaux de Doubs Open de Franchie-Comte - Besancon Challenger DCN de Cherbourg - Cherbourg Bancolombia Open - Bogota Morocco Tennis Tour - Rabat Mitsubishi Electric Europe Cup - Monza 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 Copa Sevilla 2007 - Seville Open Costa Daurada - Tarragona Copa Petrobras Uruguay - Montevideo Copa Petrobras Paraguay - Asuncion Morocco Tennis Tour - Tanger Tennis Napoli Cup - Napoli Tunis Open - Tunis Morocco Tennis Tour - Rabat Memorial A. Manfredini Sassuolo Challenger - Sassuolo Sporting Challenger '08-Trofeo Regione Piemonte - Turin ATP Open Castilla y Leon - Segovia Genova Open Challenger - Genova Seguros Bolivar Open - Medellin Challenger Britania Zavaleta - Puebla Besancon Challenger Prostejov Challenger Bangkok Challenger Cherbourg Challenger Pau Challenger Todi Challenger Sony Ericsson Open - Miami Lugano Challenger Cordenons Challenger BNP Paribas Masters - Paris Sony Ericsson Open - Miami Lisbon Challenger Hamburg Challenger Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Ortisei Challenger Internazionali BNL d'Italia - Rome Maia Challenger BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrilena Madrid Open - Madrid Quimper 2 Challenger Potchefstroom 1 Challenger Nur-Sultan 1 Challenger Nur-Sultan 2 Challenger Le Gosier Challenger Lugano Challenger M15 Sao Bras Alportel Napoli Challenger Braunschweig Challenger Poznan Challenger Trani Challenger Rome 1 Challenger Genova Challenger Napoli Challenger Palermo Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Orleans Challenger Dallas Challenger Caltanissetta Challenger Milan Challenger Braunschweig Challenger Biella 7 Challenger Pozoblanco Challenger Como Challenger Genova Challenger San Juan Challenger Rio De Janeiro Challenger Buenos Aires Challenger Medellin Challenger Segovia Challenger Pereira Challenger Samarkand Challenger BNP Paribas Open - Indian Wells Miami Open - Miami St. Tropez Challenger Rolex Paris Masters - Paris Rome Challenger Cassis Challenger Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Biel Challenger BNP Paribas Open - Indian Wells Alicante Challenger Rome Challenger Itajai Challenger Sao Paulo Challenger Tunis Challenger Milan Challenger St. Remy Challenger Seville Challenger Roanne Challenger Reunion Island Challenger Poznan Challenger Heilbronn Challenger Perugia Challenger Marburg Challenger Braunschweig Challenger Napoli Challenger Seoul Challenger St. Remy Challenger Caltanissetta Challenger Milan Challenger Bengalaru 1 Challenger Lugano Challenger Sanremo Challenger Blois Challenger Rome 1 Challenger Bordeaux Challenger Portoroz Challenger Rennes Challenger Ortisei Challenger Ho Chi Minh City Challenger Playford Challenger Canberra Challenger Drummondville Challenger Taipei City Challenger Anning Challenger Astana Challenger Pozoblanco Challenger Bordeaux Challenger Orleans Challenger Alicante Challenger Malaga Challenger Seville Challenger Ismaning Challenger Brest Challenger Bendigo Challenger Noumea Challenger Quimper Challenger Lyon Challenger Bengalaru 2 Challenger Forli 5 Challenger Lyon Challenger Lille Challenger Cuernavaca Challenger Noumea Challenger Madrid Challenger Lisbon Challenger Istanbul Challenger Segovia Challenger Porto Challenger St. Tropez Challenger Orleans Challenger St. Tropez Challenger Bergamo Challenger Matsuyama Challenger Phoenix Challenger Brest Challenger Madrid Challenger Rome Challenger Istanbul Challenger Ilkley Challenger Chicago Challenger Phoenix Challenger Brest Challenger Budapest Challenger Seville Challenger Nonthaburi 3 Challenger Glasgow Challenger Lugano Challenger Thionville Challenger Istanbul Challenger French Open - Paris Mouilleron-Le-Captif Challenger Helsinki Challenger Parma Challenger Nottingham 3 Challenger Bergamo Challenger French Open - Paris Brest Challenger Wimbledon - London Forli Challenger Pozoblanco Challenger Lugano Challenger Nottingham Challenger Estoril Open - Estoril BCR Open Romania - Bucharest Davidoff Swiss Indoors Basel - Basel U.S. Open - New York BRD Nastase Tiriac Trophy - Bucharest Open Sud de France - Montpellier Aircel Chennai Open - Chennai French Open - Paris Wimbledon - London U.S. Open - New York AEGON International - Eastbourne Australian Open - Melbourne French Open - Paris Bet-at-home Open - Hamburg Portugal Open - Oeiras Wimbledon - London Portugal Open - Oeiras Credit Agricole Suisse Open - Gstaad U.S. Open - New York Hong Kong Tennis Open - Hong Kong Australian Open - Melbourne Millennium Estoril Open - Estoril French Open - Paris Millennium Estoril Open - Estoril Tata Open Maharashtra - Pune Open 13 Provence - Marseille Wimbledon - London Grand Prix Hassan II - Marrakech Open 13 Provence - Marseille Barcelona Open Banc Sabadell - Barcelona U.S. Open - New York Australian Open - Melbourne European Open - Antwerp Moselle Open - Metz Open Occitanie - Montpellier Open Sud de France - Montpellier French Open - Paris Dubai Duty Free Tennis Championships - Dubai Barcelona Open Banc Sabadell - Barcelona Wimbledon - London U.S. Open - New York Boss Open - Stuttgart Charlottesville Challenger Quimper Challenger Lille Challenger cinch Championships - London Potchefstroom Challenger Prague II Challenger Ismaning Challenger Biella 3 Challenger Poznan Challenger Brasil Open - Sao Paulo Open Parc - Lyon BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami Tel Aviv Watergen Open - Tel Aviv Australian Open - Melbourne Wimbledon - London French Open - Paris French Open - Paris U.S. Open - New York French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris French Open - Paris U.S. Open - New York Davis Cup, Group 2, 2R, SCG-POR 5-0 Davis Cup, Group 2, 2R, POR-ALG 3-2 Davis Cup, Group 1, 1R, LUX-POR 4-1 Davis Cup, Group 1, PO, MAR-POR 2-3 Davis Cup, Group 2, 3R, POR-SLO 4-1 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, Group 1, 1R, GEO-POR 3-2 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 II, 2R, POR-LTU 5-0 All Lower level tournaments Milan Challenger Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Wimbledon - London