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 M15 Monastir M15 Monastir M15 Monastir M25 Reus Porto Challenger Mallorca Challenger Buenos Aires Challenger Montevideo Challenger Lisbon Challenger Lima 2 Challenger Santa Fe 2 Challenger M15 Monastir M15 Santo Domingo M15 Monastir M15 Monastir Todi Challenger M15 Monastir Manama Challenger Oeiras 2 Challenger Oeiras 3 Challenger Oeiras 1 Challenger M15 Monastir Tenerife 2 Challenger M25 Quinta Do Lago M15 Monastir M25 Tarragona M15 Les Franqueses del Valles M25 Badalona M15 Torello Tenerife 3 Challenger Girona Challenger M25 Villeneuve-Loubet Murcia Challenger M15 Monastir Millennium Estoril Open - Estoril Madrid Challenger M25 Porto Francavilla Challenger M25 Roda de Bara M25 Mataro M25 Getxo Zagreb Challenger Oeiras 4 Challenger M25 Mungia-Laukariz Poznan Challenger Porto Challenger Brasov Challenger M25 Bakio Milan Challenger M25 Castelo Branco Seville Challenger M15 Monastir Sibiu Challenger M15 Monastir Porto 2 Challenger M15 Monastir Lisbon Challenger M25 Sabadell M25 Vila Real de Santo Antonio M15 Villers-les-Nancy Braga Challenger M25 Zaragoza Campinas Challenger Curitiba Challenger Valencia Challenger M15 Pontevedra Oeiras 2 Challenger Guayaquil Challenger Lima 2 Challenger Montevideo Challenger M25 Quinta do Lago Tenerife 1 Challenger M15 Monastir M15 Monastir M25 Les Franqueses del Valles M15 Santo Domingo M15 Manacor M15 Santo Domingo M25 Vale do Lobo M25 Vila Real de Santo Antonio Oeiras 3 Challenger M25 Badalona M15 Torello Oeiras 4 Challenger M15 Monastir M15 Monastir M15 Ceuta Oeiras 1 Challenger M15 Manacor M25 Porto M25 Figueira da Foz Estoril Challenger Girona Challenger M15 Monastir M25 Reus Oeiras 5 Challenger M25 Mataro M25 Martos M25 Castelo Branco Pozoblanco Challenger M25 Sabadell Porto Challenger M15 Monastir M15 Monastir M15 Monastir M25 Setubal Spain F32 Portugal F4 Portugal F5 Portugal F6 Spain F7 Portugal F1 Portugal F2 Portugal F3 Spain F17 Spain F18 Sweden F5 USA F26 Mexico F10 Mexico F11 USA F1 USA F2 USA F3 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 F18 Usa F5 Portugal F3 Switzerland F3 Spain F11 Italy F5 Usa F13 Usa F15 Brazil F22 Brazil F31 Brazil F32 Brazil F33 Brazil F1 Colombia F1 Colombia F2 USA F7 Brazil F26 Brazil F33 USA F14 USA F15 USA F16 Seville Challenger USA F5 (Weston) Spain F11 (Valldoreix) M15 Sintra M15 Sintra M25 Porto M25 Vale Do Lobo M25 Villena M25 Vale do Lobo M25 Faro M25 Vale do Lobo M15 Santo Domingo M15 Santo Domingo M15 Monastir M15 Monastir M15 Monastir M15 Monastir Wimbledon - London M15 Mungia-Laukariz 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 Salinas Challenger M15 Santo Domingo 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 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 Porto Alegre Challenger Sao Paulo Challenger Corrientes Challenger Santiago Challenger Lima Challenger Guayaquil Challenger Buenos Aires Challenger Montevideo Challenger Bangkok Challenger Rio De Janeiro Challenger Bucaramanga Challenger Jonkoping Challenger Kazan Challenger Napoli Challenger Barletta Challenger Turin Challenger Bordeaux Challenger Mestre Challenger Vicenza Challenger Prostejov Challenger Milan Challenger Braunschweig Challenger Lima Challenger Guayaquil Challenger Barletta Challenger Francavilla Challenger Rome Challenger Bordeaux Challenger Lisbon Challenger Todi Challenger Milan Challenger Braunschweig Challenger Scheveningen Challenger Floridablanca Challenger Santo Domingo Challenger Como Challenger Seville Challenger Rome Challenger Campinas Challenger Buenos Aires Challenger Lima Challenger Guayaquil Challenger Montevideo Challenger Santiago Challenger Rennes Challenger Santiago Challenger Le Gosier Challenger Barletta Challenger Tunis Challenger Braga Challenger Como Challenger Genova Challenger Biella Challenger Campinas Challenger Santo Domingo Challenger M15 Rodez Lima Challenger Guayaquil Challenger Montevideo Challenger Buenos Aires Challenger Orlando Challenger Columbus Challenger Newport Beach Challenger Chennai Challenger Bangkok Challenger Bangkok Challenger Yokohama Challenger Barletta Challenger Sarasota Challenger Francavilla Challenger Braga Challenger Lisbon Challenger Nur-Sultan Challenger Tampere Challenger Sopot Challenger Buenos Aires Challenger Campinas Challenger Santo Domingo Challenger Ann Arbor Challenger Lisbon Challenger Sao Paulo Challenger Maia Challenger Oeiras 1 Challenger Oeiras 2 Challenger Oeiras 3 Challenger Oeiras 4 Challenger Biella 7 Challenger Forli Challenger Milan Challenger Porto Challenger Amersfoort Challenger Tampere Challenger Poznan Challenger San Marino Challenger Verona Challenger Maia 1 Challenger Maia 2 Challenger Bendigo Challenger Cherbourg Challenger Forli 4 Challenger Forli 5 Challenger Roseto Degli Abruzzi 2 Challenger Zadar Challenger Oeiras 1 Challenger Oeiras 2 Challenger Aix En Provence Challenger Bordeaux Challenger Forli 6 Challenger Perugia Challenger Montechiarugolo - Parma Challenger Braunschweig Challenger Lima Challenger Braga Challenger Lisbon Challenger Campinas Challenger Rio De Janeiro Challenger Las Vegas Challenger Montevideo Challenger Sao Leopoldo Challenger Canberra Challenger Monterrey Challenger Waco Challenger Puerto Vallarta Challenger Las Franquesas del Valles Challenger Girona Challenger Prague 2 Challenger Madrid Challenger Braga Challenger Lyon 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 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 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 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