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 Porto Challenger M25 Wetzlar M15 Frankfurt am Main Mallorca Challenger Buenos Aires Challenger M25 Sintra M25 Sintra Montevideo Challenger Seville Challenger Braga Challenger Lisbon Challenger Lima 2 Challenger M25 Tavira M25 Tavira Santa Fe 2 Challenger Knoxville Challenger Champaign Challenger Charlottesville Challenger M25 Loule Oeiras 1 Challenger Manama Challenger Oeiras 2 Challenger Germany F15 Oeiras 3 Challenger Indian Wells 1 Challenger Pune Challenger Tenerife 2 Challenger M25 Quinta Do Lago Poznan Challenger Indian Wells 2 Challenger Cleveland Challenger New Delhi Challenger Tenerife 3 Challenger Hamburg Challenger Girona Challenger M25 Trnava Open Parc - Lyon Szczecin Challenger Murcia Challenger Braunschweig Challenger Acapulco Challenger Millennium Estoril Open - Estoril Madrid Challenger Mauthausen Challenger Francavilla Challenger Cuernavaca Challenger Heilbronn Challenger Lyon Challenger Troyes Challenger Oeiras 4 Challenger Todi Challenger Mallorca Championships - Mallorca Porto Challenger Brasov Challenger Milan Challenger Bonn Challenger Seville Challenger Sibiu Challenger Lisbon Challenger M25 Vila Real de Santo Antonio M25 Santa Margherita di Pula Braga Challenger M25 Santa Margherita di Pula Campinas Challenger Curitiba Challenger Valencia Challenger Oeiras 2 Challenger Guayaquil Challenger M15 Selva Gardena Lima 2 Challenger Montevideo Challenger M25 Quinta do Lago M15 Cadolzburg Tenerife 1 Challenger M25 Setubal M25 Vale do Lobo M25 Vila Real de Santo Antonio Oeiras 3 Challenger Oeiras 4 Challenger M15 Trier Oeiras 1 Challenger Oeiras 5 Challenger M25 Porto M25 Figueira da Foz Estoril Challenger Girona Challenger M25 Reus M15 Sanxenxo M25 Mataro M25 Elvas Pozoblanco Challenger M25 Sintra Porto Challenger M25 Muttenz M25 Falun M25 Sintra M25 Setubal Braga Challenger Brazil F22 Brazil F31 Brazil F1 Colombia F1 Colombia F2 USA F7 Brazil F26 Brazil F33 USA F14 USA F15 Germany F11 Germany F16 Austria F10 Spain F32 Portugal F4 Portugal F5 Hungary F1 Hungary F2 Portugal F6 Germany F17 Cyprus F2 Germany F5 Germany F6 Germany F7 USA F26 USA F27 Australia F10 Australia F11 USA F1 USA F2 Canada F1 Canada F2 USA F10 USA F11 USA F12 USA F13 Poland F2 Poland F3 Germany F4 Germany F6 Germany F10 Germany F11 USA F28 USA F29 USA F30 USA F31 USA F32 USA F34 USA F1 (Los Angeles) USA F2 (Long Beach) Spain F7 Brazil F32 Indonesia F2 (Jakarta) Indonesia F3 (Jakarta) USA F10 (Bakersfield) USA F11 (Calabasas) USA F12 (Memphis) USA F13 (Little Rock) Portugal F1 Portugal F2 Portugal F3 Spain F17 Spain F18 Italy F15 (Reggio Emilia) Italy F16 (Padova) Sweden F5 USA F26 Mexico F10 Mexico F11 USA F1 USA F2 USA F3 Germany F8 (Kassel) Germany F9 (Essen) Germany F10 (Wetzlar) Germany F11 (Karlsruhe) Spain F40 Mexico F1 Costa Rica F1 Colombia F2 Canada F1 Canada F2 Canada F3 Usa F7 Usa F8 USA F38 (Columbus) Czech Rep. F2 Czech Rep. F3 Spain F18 Usa F14 Usa F15 Usa F18 Brazil F33 USA F8 (Calabasas) USA F9 (Memphis) USA F10 (Little Rock) Czech Republic F1 (Prague) Italy F18 (Casinalbo) Usa F5 Portugal F3 Switzerland F3 Spain F11 Italy F5 Usa F13 M25 Houston Usa F14 Usa F15 M25 Norman Germany F8 M25 Malibu Germany F10 M25 Los Angeles M25 Rancho Santa Fe M25 Nonthaburi M25 Nonthaburi M15 Vale Do Lobo M15 Faro M15 Anif M15 Sintra M15 Sintra M15 Castelo Branco M25 Porto M15 Setubal M25+H Rodez M25 Vale Do Lobo M15 Quinta Do Lago M15 Heraklion M15 Heraklion M15+H Bressuire M25 Villena M15 Grenoble M25 Vale do Lobo M25 Faro M25 Vale do Lobo M25 La Nucia M25 Angers M15 Majadahonda M15 Troisdorf M25 Bourg-en-Bresse M25 Bagneres-De-Bigorre M25 Sintra M25 Sintra M25 Setubal M25 Loule M25 Quinta Do Lago M25 Portimao M25 Villers Les Nancy M25 Vale do Lobo M25 Faro M25 Portimao M25 Loule M25+H Kassel M25 Esch/Alzette M25 Manacor M25 Manacor M25 Vila Real de Santo Antonio M25 Portimao M25 Santa Margherita di Pula M15 Warmbad Villach M25 Jablonec nad Nisou M25 Arlon Naples Challenger - Naples 2007 Knoxville Challenger - Knoxville Bancolombia Open - Bogota Abierto Internacional de Salinas 'Dario Expreso' - Salinas Roma Open Challenger - Rome III Challenger Isla de Gran Canaria Ciudad de Telde - Telde San Remo Tennis Cup - San Remo Nielsen USTA Pro Tennis Championship - Winnetka Challenger Banque Nationale - Granby Moncton Men's Challenger - Moncton Oldum Brown Vancouver Open - Vancouver Levene Gouldin & Thompson Tennis Challenger - Binghamton GHI Bronx Tennis Classic - Bronx Semgroup Challenger - Tulsa Sacramento Challenger - Sacramento Ford Tennis Championships - Louisville National Bank Men's Rimouski Challenger - Rimouski JSM Challenger of Champaign - Urbana Challenger Britania Zavaleta - Puebla Abierto Internacional Varonil Ciudad de Cancun - Cancun Sao Paulo Challenger Tunis Challenger Lexington Challenger Campos do Jordao Challenger Brasilia Challenger Salvador Challenger Belo Horizonte Challenger Montevideo Challenger Buenos Aires Challenger Asuncion Challenger Santiago Challenger Sao Paulo Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Le Gosier Challenger Recife Challenger Prague Challenger Bordeaux Challenger Campos do Jordao Challenger Campinas Challenger Recife Challenger Belo Horizonte Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Buenos Aires Challenger Guayaquil Challenger Montevideo Challenger Sao Paulo Challenger Bucaramanga Challenger Florianopolis Challenger Le Gosier Challenger Dallas Challenger Blumenau Challenger Santos Challenger Sao Paulo Challenger Bordeaux Challenger Caltanissetta Challenger Kosice Challenger Marburg Challenger Arad Challenger Timisoara Challenger Tampere Challenger St. Remy Challenger Campinas Challenger Belem Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Sao Leopoldo Challenger ATP Challenger Tour Finals Sao Paulo Challenger Bucaramanga Challenger Itajai Challenger Santos Challenger Sao Paulo Challenger Bordeaux Challenger Braunschweig Challenger Campinas Challenger Sibiu 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 Bucaramanga Challenger Dallas Challenger Panama City Challenger Barranquilla Challenger Itajai Challenger Sao Paulo Challenger Santos Challenger Aix En Provence Challenger Furth Challenger Blois Challenger Marburg Challenger Braunschweig Challenger Tampere Challenger Genova Challenger Campinas Challenger Porto Alegre Challenger Charlottesville Challenger Knoxville Challenger Champaign Challenger Bucaramanga Challenger Dallas Challenger Santo Domingo Challenger Irving Challenger Le Gosier Challenger Sarasota Challenger Savannah Challenger Aix En Provence Challenger Bordeaux Challenger Mestre Challenger Caltanissetta Challenger Blois Challenger Braunschweig Challenger Aptos Challenger Vancouver Challenger Como Challenger Meknes Challenger Campinas Challenger Tiburon Challenger Porto Alegre Challenger Sao Paulo Challenger Corrientes Challenger Fairfield Challenger Santiago Challenger Lima Challenger Traralgon Challenger Guayaquil Challenger Canberra Challenger Buenos Aires Challenger Montevideo Challenger Bangkok Challenger Rio De Janeiro Challenger Bucaramanga Challenger Launceston Challenger Jonkoping Challenger Kazan Challenger Napoli Challenger Barletta Challenger Turin Challenger Bordeaux Challenger Heilbronn Challenger Mestre Challenger Vicenza Challenger Prostejov Challenger Milan Challenger Marburg Challenger Braunschweig Challenger Lima Challenger Guayaquil Challenger Burnie Challenger Launceston Challenger Barletta Challenger Francavilla Challenger Rome Challenger Bordeaux Challenger Heilbronn Challenger Lisbon Challenger Todi Challenger Milan Challenger Braunschweig Challenger Scheveningen Challenger Floridablanca Challenger Santo Domingo Challenger Como Challenger Seville Challenger Tiburon Challenger Rome Challenger Monterrey Challenger Campinas Challenger Fairfield Challenger Buenos Aires Challenger Lima Challenger Traralgon Challenger Canberra Challenger Guayaquil Challenger Montevideo Challenger Champaign Challenger Santiago Challenger Newport Beach Challenger Rennes Challenger Burnie Challenger Launceston Challenger Morelos Challenger Indian Wells Challenger Santiago Challenger Irving Challenger Le Gosier Challenger Barletta Challenger Tunis Challenger Braga Challenger Blois Challenger Milan Challenger Pullach Challenger Meerbusch Challenger Como Challenger Genova Challenger Biella Challenger Tiburon Challenger Stockton Challenger Campinas Challenger Santo Domingo Challenger Fairfield Challenger Traralgon Challenger Lima Challenger Guayaquil Challenger Montevideo Challenger Germany F8 Bangalore Challenger Buenos Aires Challenger Pune Challenger Orlando Challenger Columbus Challenger Da Nang Challenger Newport Beach Challenger Burnie Challenger Launceston Challenger Chennai Challenger Bangkok Challenger Morelos Challenger Bangkok Challenger Yokohama Challenger Barletta Challenger Sarasota Challenger Francavilla Challenger Braga Challenger Lisbon Challenger Bratislava Challenger Milan Challenger Ludwigshafen Challenger Nur-Sultan Challenger Amersfoort Challenger Tampere Challenger Sopot Challenger Germany F9 Meerbusch Challenger L'Aquila Challenger Tiburon Challenger Buenos Aires Challenger Campinas Challenger Santo Domingo Challenger Fairfield Challenger Traralgon Challenger Playford Challenger Houston Challenger Ann Arbor Challenger Bengalaru Challenger Lisbon Challenger Sao Paulo Challenger Maia Challenger Oeiras 1 Challenger Oeiras 2 Challenger Oeiras 3 Challenger Oeiras 4 Challenger Little Rock Challenger Biella 7 Challenger Orlando 2 Challenger Forli Challenger Milan Challenger Porto Challenger Amersfoort Challenger Tampere Challenger Poznan Challenger San Marino Challenger Verona Challenger Braga Challenger Lisbon Challenger Pau Challenger Bari Challenger Maia 1 Challenger Maia 2 Challenger Bendigo Challenger Forli 3 Challenger Columbus Challenger Cleveland Challenger Cherbourg Challenger Forli 4 Challenger Forli 5 Challenger Roseto Degli Abruzzi 2 Challenger Zadar Challenger Oeiras 1 Challenger Oeiras 2 Challenger Madrid Challenger Prague 1 Challenger Aix En Provence Challenger Bordeaux Challenger Shymkent 1 Challenger Shymkent 2 Challenger Forli 6 Challenger Little Rock Challenger Perugia Challenger Orlando Challenger Montechiarugolo - Parma Challenger Oeiras 3 Challenger Troyes Challenger Braunschweig Challenger Liberec Challenger Lima Challenger Banja Luka Challenger Braga Challenger Charleston Challenger Lisbon Challenger Campinas Challenger Tiburon Challenger Fairfield Challenger Rio De Janeiro Challenger Las Vegas Challenger Charlottesville Challenger Knoxville Challenger Montevideo Challenger Champaign Challenger Sao Leopoldo Challenger Canberra Challenger Oeiras 1 Challenger Oeiras 2 Challenger Monterrey Challenger Rome Challenger Waco Challenger Puerto Vallarta Challenger Las Franquesas del Valles Challenger St. Brieuc Challenger Girona Challenger Oeiras 3 Challenger Rome Challenger Francavilla Challenger Prague 2 Challenger Oeiras 4 Challenger Heilbronn Challenger Montechiarugolo Challenger Estoril Open - Estoril Estoril Open - Estoril Gerry Weber Open - Halle Delray Beach International Tennis Championships - Delray Beach Estoril Open - Estoril Pilot Pen Tennis - New Haven Estoril Open - Estoril Estoril Open - Estoril Campbells Hall of Fame Tennis Championships - Newport Estoril Open - Estoril Open de Nice Cote d'Azur - Nice VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Estoril Open - Estoril VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Delray Beach International Tennis Championships - Delray Beach Portugal Open - Oeiras U.S. National Indoor Tennis Championships - Memphis Delray Beach Open - Delray Beach Brasil Open - Sao Paulo Portugal Open - Oeiras Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg Erste Bank Open - Vienna Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Abierto Mexicano Telcel - Acapulco US Men's Clay Court Championship - Houston BB&T Atlanta Open - Atlanta Millennium Estoril Open - Estoril Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Apia International - Sydney Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Open Parc - Lyon Bet-at-home Open - Hamburg Generali Open - Kitzbuhel Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Abierto Mexicano - Los Cabos Millennium Estoril Open - Estoril Millennium Estoril Open - Estoril San Diego Open - San Diego Sony Ericsson Open - Miami Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Miami Open - Miami U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London 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 Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 Salinas Challenger Canberra Challenger Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group II, 3R, POR-BLR 3-2 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, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, PO, POR-POL 4-0 Porto 2 Challenger All Lower level tournaments Zagreb Challenger Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) Maia Challenger Olympics - Rio de Janeiro Davis Cup, Group I, PO, RUS-POR 4-1