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 Portugal F1 Portugal F2 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 Portugal F3 Italy F7 Bulgaria-w2 Bulgaria-w3 France F8 France F9 Venezuela F5 Venezuela F6 France F4 France F5 Romania F4 Portugal F7 Great Britain F23 Great Britain F3 Portugal F1 Portugal F2 Great Britain F17 Portugal F3 Great Britain F6 Turkey F8 Turkey F9 Portugal F6 Italy F20 Portugal F8 Portugal F9 Turkey F7 Portugal F10 Italy F28 Portugal F1 Portugal F2 Portugal F3 Morocco F2 Morocco F3 Italy F6 Portugal F4 Portugal F5 Portugal F6 Mozambique F1 Mozambique F2 Portugal F9 Portugal F10 Portugal F11 Italy F23 Portugal F13 Tunisia F1 Tunisia F4 Tunisia F6 Portugal F1 Portugal F3 Tunisia F12 Tunisia F13 Tunisia F14 Tunisia F15 Italy F9 Portugal F4 Italy F10 Portugal F5 Portugal F3 Portugal #1-w1 Morocco F5 Portugal #1-w4 Portugal F6 Tunisia F5 Tunisia F6 Portugal F1 Portugal F7 Bulgaria-w1 Bulgaria-w4 Spain F18 Spain F19 Spain F20 Nigeria F1 Nigeria F2 Portugal F8 Portugal F9 Poland F4 Portugal F10 Spain F24 Romania F12 Italy F25 Egypt F24 Tunisia F23 Egypt F25 Egypt F26 Portugal F12 Tunisia F27 Turkey F41 Tunisia F28 Turkey F42 Great Britain F4 Tunisia F29 South Africa F1 Tunisia F30 Bulgaria F4 South Africa F2 Tunisia F31 South Africa F3 Tunisia F32 Egypt F35 Egypt F36 Hong Kong F4 Hong Kong F5 Great Britain F1 (Glasgow) Great Britain F2 (Tipton) Great Britain F3 (Shrewsbury) Portugal F1 (Vale Do Lobo) Portugal F2 (Faro) Turkey F9 (Antalya) Portugal F3 (Loule) Tunisia F2 Turkey F10 (Antalya) Turkey F11 (Antalya) Portugal F4 (Lisbon) Portugal F5 (Quinta Da Marinha) Portugal F6 (Porto) Tunisia F14 (Hammamet) Portugal F7 (Carcavelos) Italy F10 (Santa Margherita Di Pula) Sweden F1 (Karlskrona) Sweden F2 (Bastad) Spain F16 (Huelva) Portugal F8 (Lisbon) Portugal F10 (Torres Vedras) Portugal F11 (Povoa de Varzim) Italy F22 (Gubbio) Italy F23 (Pontedera) Spain F23 (Xativa) Italy F24 (Bolzano) Portugal F14 (Porto) Italy F25 (Cornaiano) Portugal F17 (Sintra) Spain F27 (Donostia-San-Sebastian) Portugal F18 (Sintra) Spain F28 (Oviedo) Italy F29 (Santa Margherita Di Pula) Spain F29 (Sevilla) Portugal F19 (Castelo Branco) Portugal F20 (Oliveira De Azemeis) Spain F22 (Denia) Portugal F21 (Idanha-a-Nova) Italy F34 (Santa Margherita Di Pula) Italy F35 (Santa Margherita Di Pula) Italy F36 (Santa Margherita Di Pula) Tunisia F36 (Hammamet) Tunisia F37 (Hammamet) USA F3 (Naples) USA F4 (Sunrise) USA F5 (Weston) USA F6 (Palm Coast) Portugal F1 (Vale Do Lobo) Portugal F2 (Faro) Qatar F1 (Doha) Portugal F3 (Loule) Qatar F2 (Doha) Qatar F3 (Doha) Portugal F5 (Vilamoura) Portugal F6 (Lisbon) Portugal F7 (Porto) Portugal F8 (Cascais) Italy F11 (Napoli) Romania F2 (Bacau) Spain F14 (Huelva) Portugal F9 (Povoa de Varzim) Portugal F10 (Setubal) 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 F45 (Monastir) M15 Vale Do Lobo M15 Faro M15 Loule Romania F9 M15 Portimao M15 Quinta Do Lago M15 Reus M15 Madrid M25 Vic M15 Majadahonda M25 Huelva M15 Setubal M15 Idanha-A-Nova M15 Idanha-A-Nova M15 Castelo Branco M25 Porto M15 Sintra M15 Sintra M25+H Oliveira De Azemeis M25 Tavira M25 Biel M25 Quinta Do Lago M25 Portimao M25 Hammamet Kos-Zucchetti Tennis Cup - Cordenons Morocco Tennis Tour - Casablanca Arpa Ceramic Cup - Reggio Emilia Internationaux du Doubs - Besancon Challenger DCNS de Cherbourg - Cherbourg Tennis Napoli Cup - Napoli Tunis Open - Tunis Morocco Tennis Tour - Rabat M25 Varnamo Morocco Tennis Tour - Marrakech Porsche Open - Poznan M25 Sharm ElSheikh Memorial A. Manfredini Sassuolo Challenger - Sassuolo Siemens Open - Scheveningen Concurso Internacional de Vigo - Vigo Porsche Open - Poznan Akbank Private Banking TED Open 2006 - Istanbul Copa Petrobras Paraguay - Asuncion Akbank Private Banking TED Open - Istanbul M25 Antalya M15 Antalya Bancolombia Open - Cali Baden Open - Karlsruhe Abierto Internacional Varonil Ciudad de Cancun - Cancun M15 Sharm ElSheikh M25 Santa Margherita di Pula M25 Santa margherita di Pula M25 Santa margherita di Pula Copa Petrobras Uruguay - Montevideo M25 Hammamet M25 Bali M25 Antalya M25 Setubal Copa Petrobras - Bogota M25 Ahmedabad Tunis Challenger Turin Challenger Challenger Copa Sevilla - Seville Maia Open 2002 - Maia M25 Bali Besancon Challenger Genova Open Challenger - Genova XXXIV Edizione 'A. Savoldi-Marco Co.' Trofeo Dimmidisi - Manerbio Challenger Cudad de Guayaquil - Guayaquil M25 Santa Margherita di Pula Open de Montauban - Montauban Schickedanz Open 2007 - Furth Open Castilla y Leon - Segovia Memorial Manfredini - Sassuolo Istanbul Challenger Seguros Bolivar Open - Medellin M25 Nussloch Bancastato Challenger Lugano - Lugano Harbour Tennis Cup Regione Lombardia - Milan Italy F5 Antonio Savoldi-Marco Co. - Manerbio Napoli Challenger Copa Petrobras Colombia - Bogota Bancolombia Open - Bogota Mitsubishi Electric Europe Cup - Monza Orleans Challenger Unique Zagreb Open - Zagreb Open de Montauban - Montauban Kos-Zucchetti Tennis Cup - Cordenons Copa Sevilla 2007 - Seville Togliatti Cup - Togliatti Alessandria Challenger Prostejov Challenger Milan Challenger Bukhara Challenger - Bukhara Istanbul Challenger Lugano Challenger Challenger Britania Zavaleta - Puebla Tarragona Challenger Tashkent Challenger Le Gosier Challenger Tennis Napoli Cup 2007 - Napoli Napoli Challenger Seguros Bolivar Open - Medellin Braunschweig Challenger Poznan Challenger Trani Challenger Genova Challenger Copa Petrobras Argentina - Buenos Aires Palermo Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Buenos Aires Challenger M25 Sunderland Morocco Tennis Tour - Marrakech M25 Santa Margherita di Pula Quito Challenger Pereira Challenger Copa Petrobras Argentina - Buenos Aires Lima Challenger 2007 - Lima South African Airways Open - East London Samarkand Challenger Morocco Tennis Tour - Tanger Turin Challenger San Marino Challenger Caltanissetta Challenger Zenith Tennis Cup-Harbour Club - Milan Sporting Challenger '08-Trofeo Regione Piemonte - Turin Copa Petrobras-Argentina - Buenos Aires Challenger Britania Zavaleta - Puebla Aberto de Santa Catarina - Florianopolis 5° Sporting Challenger - Turin Seville Challenger Copa Petrobras Brazil - Aracaju Perugia Challenger Braunschweig Challenger Morocco Tennis Tour - Rabat Szczecin Challenger Great Britain F3 Nord LB Open 2007 - Braunschweig Open de Montauban - Montauban San Marino Cepu Open - San Marino Reunion Island Challenger Fairfield Challenger Pune Challenger Quimper Challenger San Luis Potosi Challenger Sarasota Challenger Burnie Challenger Nanchang Challenger Lisbon Challenger Istanbul Challenger Sao Paulo Challenger Manama Challenger San Luis Potosi Challenger Napoli Challenger Chennai Challenger Braunschweig Challenger Pozoblanco Challenger 12° Tornea B. Camparini Arpa Ceramic Cup - Reggio Emilia Como Challenger Surbiton Challenger Nottingham Challenger M25 Reggio Emilia Santo Domingo Challenger Italy F24 Stockton Challenger Cherbourg Challenger Budapest Challenger Surbiton Challenger 9° Trani Cup - Trani Lexington Challenger Aptos Challenger Itajai Challenger Las Vegas Challenger Pau Challenger Milan Challenger Shymkent Challenger Nur-Sultan 3 Challenger Verona Challenger Open Costa Daurada - Tarragona Portugal F9 (Setubal) Great Britain F10 Morelos Challenger Samarkand Challenger - Samarkand Copa Petrobras Paraguay - Asuncion Roanne Challenger Panama City Challenger M15 Antalya Binghamton Challenger M15 Ahmedabad Tallahassee Challenger M25 Santa Margherita di Pula M25 Hammamet M25 Vic M15 Porec M15 Rovinj M25 Badalona M25 Hong Kong Oeiras 2 Challenger M25 Hammamet Ilkley Challenger Nottingham Challenger M25 Hammamet M25 Santa Margherita di Pula Ilkley Challenger M25 Kiseljak Morelos Challenger Charlottesville Challenger Copa Sevilla Internacionales de Andalucia - Seville M25 Sarajevo Great Britain F2 Tunisia F5 Bangalore Challenger Tunisia F44 (Monastir) Forli 3 Challenger Bengalaru 1 Challenger M25 Santa Margherita di Pula Busan Challenger Lisbon Challenger Targu Mures 1 Challenger Rennes Challenger Forli 2 Challenger Savannah Challenger Fairfield Challenger M15 Chandigarh Challenger Britania Zavaleta - Puebla Pune Challenger Launceston Challenger Bergamo Challenger Anning Challenger M25 Bengaluru Targu Mures 2 Challenger Lisbon Challenger Braga Challenger Surbiton Challenger Nottingham Challenger Internationaux de Doubs Open de Franchie-Comte - Besancon Liberec Challenger Mallorca Challenger Cassis Challenger Seville Challenger Bogota Challenger Tenerife 1 Challenger Rome 2 Challenger Nottingham 1 Challenger Nottingham 2 Challenger Nottingham-2 Challenger San Marino Challenger Barletta Challenger Bucharest Challenger Napoli 2 Challenger Nur-Sultan 4 Challenger Bengalaru 2 Challenger Monterrey Challenger Aguascalientes Challenger Surbiton Challenger Nottingham Challenger Mallorca Challenger Bogota Challenger Gwangju Challenger Copa Petrobras Uruguray - Montevideo Champaign Challenger Stella Artois Clay Court Championships - Budaors Sao Paulo Challenger Oeiras 2 Challenger Mordovia Cup 2005 - Saransk Tenerife 2 Challenger Chennai Challenger Challenger Copa Sevilla - Seville Pune Challenger Open de la Ville de Saint Denis - Reunion Island Surbiton Challenger Oeiras 1 Challenger Challenger DCN de Cherbourg - Cherbourg New Delhi Challenger Pune Challenger Ilkley Challenger Skopje Challenger ATP Open Castilla y Leon - Segovia Knoxville Challenger Playford Challenger Kobe Challenger Noumea Challenger Launceston Challenger Istanbul Challenger Marbella Challenger Potchefstroom 1 Challenger Split 1 Challenger Biella 5 Challenger Szczecin Challenger Milan Challenger Estoril Open - Estoril Prostejov Challenger Grand Prix Hassan II - Casablanca Estoril Open - Estoril SA Tennis Open - Johannesburg Brasil Open - Costa do Sauipe Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Estoril Open - Estoril AEGON Championships - London Catella Swedish Open - Bastad Bank Austria Tennis Trophy - Vienna Davidoff Swiss Indoors Basel - Basel Medibank International - Sydney Copa Telmex - Buenos Aires Estoril Open - Estoril Calgary Challenger Open de Tenis Comunidad Valenciana - Valencia Medibank International - Sydney Brasil Open - Costa do Sauipe Abierto Mexicano Telcel - Acapulco Open de Nice Cote d'Azur - Nice Aircel Chennai Open - Chennai VTR Open - Vina del Mar Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Legg Mason Tennis Classic - Washington VTR Open - Vina del Mar Copa Claro - Buenos Aires Dallas Challenger BRD Nastase Tiriac Trophy - Bucharest Power Horse Cup - Dusseldorf Millennium Estoril Open - Estoril AEGON International - Eastbourne Genova Challenger Nature Valley International - Eastbourne Pilot Pen Tennis - New Haven M15 Sao Bras Alportel Ilkley Challenger Interwetten Austrian Open - Kitzbuhel San Juan Challenger Rio De Janeiro Challenger Abierto Mexicano Telcel - Acapulco Buenos Aires Challenger Marburg Challenger Santo Domingo Challenger Medellin Challenger Allianz Suisse Open Gstaad - Gstaad Bengaluru Challenger Qatar Exxon Mobil Open - Doha Guayaquil Challenger Open Sud de France - Montpellier ATP Studena Croatia Open Umag - Umag BCR Open Romania - Bucharest Braga Challenger Brasil Open - Costa do Sauipe Nature Valley International - Eastbourne Tata Open Maharashtra - Pune Grand Prix Hassan II - Casablanca Allianz Suisse Open - Gstaad BCR Open Romania - Bucharest Rome Challenger Portugal Open - Oeiras Rome Challenger Ortisei Challenger Tunis Challenger Las Franquesas del Valles Challenger Millennium Estoril Open - Estoril Estoril Open - Estoril US Men's Clay Court Championship - Houston Poznan Challenger Grand Prix Hassan II - Casablanca Bangalore Challenger Heilbronn Challenger Pilot Pen Tennis - New Haven Aircel Chennai Open - Chennai Movistar Open - Santiago Copa Claro - Buenos Aires Napoli Challenger Estoril Open - Estoril Knoxville Challenger Seoul Challenger AEGON International - Eastbourne Braga Challenger Caltanissetta Challenger Apia International - Sydney Milan Challenger Brasil Open - Sao Paulo Copa Claro - Buenos Aires BNP Paribas Nordic Open - Stockholm AEGON Championships - London Bet-at-home Cup - Kitzbuhel SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Portugal Open - Oeiras AEGON Championships - London Estoril Open - Estoril Credit Agricole Suisse Open - Gstaad Seoul Challenger Segovia Challenger Grand Prix Hassan II - Casablanca M15 Sharm ElSheikh Mexico City Challenger Lisbon Challenger Cordenons Challenger Nottingham-2 Challenger Sibiu Challenger Seoul Challenger Losinj Challenger Tiburon Challenger Stockton Challenger Forli 1 Challenger Aegon Nottingham Open - Nottingham Phoenix Challenger Mexico City Challenger Seville Challenger Meerbusch Challenger Istanbul Challenger Oeiras 1 Challenger Pune Challenger Burnie Challenger Prague II Challenger Potchefstroom 2 Challenger Biella 6 Challenger Nur-Sultan Challenger Helsinki Challenger Andria Challenger Birmingham Challenger Tenerife Challenger Leon Challenger Chisinau Challenger cinch Championships - London Viking International - Eastbourne Winston Salem - Winston Salem Rothesay International - Eastbourne Sioux Falls Challenger Skopje Challenger Tampere Challenger Sony Ericsson Open - Miami Bengaluru Challenger BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Augsburg Challenger Traralgon Challenger Prague Challenger Lugano Challenger Rome 1 Challenger Kyiv Challenger Cassis Challenger Brasil Open - Sao Paulo Sony Ericsson Open - Miami Sony Ericsson Open - Miami Mutua Madrilena Madrid Open - Madrid French Open - Paris French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris U.S. Open - New York 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 French Open - Paris U.S. Open - New York Miami Open - Miami Miami Open - Miami Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Davis Cup, Group 2, 3R, POR-SLO 4-1 Davis Cup, Group 1, PO, MAR-POR 2-3 Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Group 2, 1R, POR-DEN 4-1 Fever-Tree Championships - London Wimbledon - London French Open - Paris Wimbledon - London Wimbledon - London U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) All Lower level tournaments U.S. Open - New York Internazionali BNL d'Italia - Rome 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 Australian Open Qualifying - Doha French Open - Paris Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York Wimbledon - London Davis Cup, Group 2, 2R, POR-ALG 3-2 Davis Cup, Group 2, 2R, SCG-POR 5-0 Tampere Challenger Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group 1, 1R, LUX-POR 4-1 Davis Cup, Group I, 1R, POR-SVK 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 Wimbledon (juniors) Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group 1, 1R, GEO-POR 3-2 Wimbledon (juniors) Australian Open (juniors) French Open (juniors) Australian Open (juniors) Nottingham Challenger Amersfoort Challenger cinch Championships - London Wimbledon - London M25 Loughborough M25 Reggio Emilia