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