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 Dobrich Challenger M25 Vale do Lobo Spain F32 Portugal F4 Portugal F6 Spain F7 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 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 Usa F13 Usa F15 Brazil F31 Brazil F32 Brazil F33 Brazil F1 Colombia F1 Colombia F2 USA F7 Brazil F26 Brazil F33 Spain F20 Spain F21 Spain F1 Spain F2 Spain F5 Spain F6 Spain F9 Spain F12 Spain F15 Spain F16 Spain F18 Spain F20 Spain F21 Spain F22 Spain F23 Spain F24 Spain F26 Spain F27 Spain F29 Spain F30 Egypt F27 Egypt F28 Egypt F29 Egypt F30 Spain F1 Spain F2 Spain F3 Spain F4 Spain F5 Peru F1 Spain F6 Spain F7 Spain F8 Russia F3 Austria F1 Austria F2 Spain F18 Spain F23 Spain F25 Spain F28 Kazakhstan F12 Kazakhstan F13 Kazakhstan F14 Estonia F5 Spain F2 Spain F4 Spain F5 India F3 India F4 Spain F9 Kazakhstan F4 Russia F1 Russia F4 Spain F20 Spain F21 Spain F22 Russia F5 Russia F6 Kazakhstan F5 Kazakhstan F6 Turkey F46 Spain F17 Spain F20 Spain F21 Lithuania F1 Georgia F1 Russia F5 Russia F6 Spain F29 Spain F30 Spain F31 Kazakhstan F7 Spain F35 Morocco F8 Morocco F9 Tunisia F3 (Hammamet) Tunisia F4 (Hammamet) Tunisia F5 (Hammamet) Spain F5 (Murcia) Tunisia F8 (Hammamet) Tunisia F9 (Hammamet) Spain F7 (Javea) Spain F8 (Reus) Spain F10 (Madrid) Kazakhstan F3 (Shymkent) Kazakhstan F4 (Shymkent) Kazakhstan F5 (Shymkent) Spain F12 (Lleida) Turkey F21 (Antalya) Turkey F22 (Istanbul) Spain F20 (Getxo) Spain F21 (Gandia) Spain F22 (Denia) Russia F6 (Moscow) Italy F35 (Santa Margherita Di Pula) Morocco F5 (Beni Mellal) Morocco F6 (Agadir) Turkey F45 (Antalya) Turkey F46 (Antalya) Spain F2 (Manacor (Mallorca)) Spain F3 (Paguera (Mallorca)) Spain F4 (Paguera (Mallorca)) Spain F5 (Murcia) Spain F6 (Xabia) Spain F19 Kazakhstan F3 (Shymkent) Kazakhstan F4 (Shymkent) Spain F17 (Bakio) Italy F18 (Casinalbo) Germany F12 (Karlsruhe) Spain F24 (Santander) Italy F30 (Santa Margherita Di Pula) Spain F13 Tunisia F39 (Monastir) Tunisia F40 (Monastir) Tunisia F41 (Monastir) M15 Manacor M15 Manacor M25 Kazan Spain F20 M15 Madrid M25 Vic M25 Santander M25 Donostia-San-Sebastian M15 Monastir M15 Monastir M15 Kazan M25 Murcia M15 Novomoskovsk M15 Sintra M15 Sintra M25 Porto M15 Sharm El Sheikh M15 Sharm El Sheikh M25 Vale Do Lobo M15 Valldoreix M15 Benicarlo M15 Torello M15 Cairo M15 Cairo M15 Cairo M25 Villena M15 St. Petersburg M15 St. Petersburg M25 Vale do Lobo M25 Faro M15 Kazan M25 Vale do Lobo M15 Shymkent M15 Shymkent M15 Majadahonda M15 Valldoreix M15 Shymkent M15 Shymkent M25 Denia M25 Koksijde M25 Santander M25 Oviedo M15 Platja D'Aro M15 Girona M15 Benicarlo M15 Monastir M25 Nur-Sultan M25 Nur-Sultan M25 Antalya Spain F26 M25 Vila Real de Santo Antonio Peru F2 Spain F14 Spain F17 Portugal F5 Portugal F1 Italy F5 Brazil F22 Kazakhstan F3 M25 Pardubice III Challenger Isla de Gran Canaria Ciudad de Telde - Telde M15 Villena Colombia F2 Moncton Men's Challenger - Moncton National Bank Men's Rimouski Challenger - Rimouski JSM Challenger of Champaign - Urbana Challenger Britania Zavaleta - Puebla Salinas Challenger M15 Monastir M25 Sabadell M25 Mataro M25 Bolzano M25 Vila Real de Santo Antonio Campos do Jordao Challenger Brasilia Challenger M25 Vale do Lobo Belo Horizonte Challenger Sao Paulo Challenger Bucaramanga Challenger Le Gosier Challenger M15 Antalya M15 Antalya M25 Esch/Alzette M15 Shymkent M15 Shymkent Campos do Jordao Challenger M25 The Hague Campinas Challenger Recife Challenger Belo Horizonte Challenger M25 Sabadell Russia F4 M25 Santa Margherita di Pula Sao Leopoldo Challenger Buenos Aires Challenger Guayaquil Challenger M25 Getxo Sao Paulo Challenger M25 Porto Le Gosier Challenger Blumenau Challenger M25 Angers M25 Maribor Arad Challenger M25 Figueira da Foz M25 Sintra Spain F3 Sao Leopoldo Challenger M25 Belgrade M25 Reus Santos Challenger Sao Paulo Challenger M25 Santa margherita di Pula Turkey F10 Campinas Challenger Porto Alegre Challenger Sao Jose Do Rio Preto Challenger Bogota Challenger Guayaquil Challenger Bucaramanga Challenger Barranquilla Challenger Sao Paulo Challenger Blois Challenger Porto Alegre Challenger Charlottesville Challenger Karshi Challenger Samarkand Challenger Vancouver Challenger Como Challenger Corrientes Challenger Guayaquil Challenger Bangkok Challenger Bucaramanga Challenger Barletta Challenger Mestre Challenger Abierto Internacional de Salinas 'Dario Expreso' - Salinas Sao Paulo Challenger Challenger Banque Nationale - Granby Barletta Challenger M25 Girona Rome Challenger Shymkent Challenger Todi Challenger Milan Challenger Braunschweig Challenger Scheveningen Challenger Asuncion Challenger Santiago Challenger Sao Paulo Challenger Roma Open Challenger - Rome M15 Benicarlo Floridablanca Challenger Santo Domingo Challenger San Remo Tennis Cup - San Remo Como Challenger Seville Challenger Almaty Challenger Campinas Challenger Tashkent Challenger Buenos Aires Challenger Santiago Challenger Semgroup Challenger - Tulsa Santiago Challenger Barletta Challenger Ford Tennis Championships - Louisville Abierto Internacional Varonil Ciudad de Cancun - Cancun Bucaramanga Challenger Belem Challenger Shymkent Challenger Genova Challenger Santo Domingo Challenger Montevideo Challenger Chennai Challenger Lisbon Challenger Buenos Aires Challenger Dallas Challenger Sopot Challenger Manerbio Challenger Sarasota Challenger Nielsen USTA Pro Tennis Championship - Winnetka Rio De Janeiro Challenger Maia Challenger Netherlands F5 Bucaramanga Challenger Oeiras 4 Challenger Turin Challenger Braunschweig Challenger Itajai Challenger Amersfoort Challenger Bucharest Challenger Sao Paulo Challenger Montevideo Challenger Oeiras 1 Challenger Sao Paulo Challenger Dallas Challenger Malaga Challenger Salzburg Challenger Valencia Challenger Maia Challenger Puerto Vallarta Challenger Aix En Provence Challenger Marburg Challenger Braunschweig Challenger Montevideo Challenger Kazan Challenger Karshi Challenger Murcia Challenger Campinas Challenger Guayaquil Challenger Knoxville Challenger Champaign Challenger Le Gosier Challenger Marbella Challenger Brest Challenger Alicante Challenger Santo Domingo Challenger Tunis Challenger Seville Challenger Savannah Challenger M25 Quinta Do Lago Braga Challenger Mestre Challenger Caltanissetta Challenger Aptos Challenger Oeiras 1 Challenger Fergana Challenger Seville Challenger Kazakhstan F5 (Shymkent) Meknes Challenger M25 Zaragoza Istanbul Challenger M25 Sintra Astana Challenger Orlando Challenger Lima Challenger Montevideo Challenger Napoli Challenger Murcia Challenger Vicenza Challenger Prostejov Challenger Campinas Challenger Girona Challenger Aix En Provence Challenger Oeiras 1 Challenger Almaty 2 Challenger Piracicaba Challenger San Marino Challenger Lisbon Challenger Forli 6 Challenger Montechiarugolo - Parma Challenger Braunschweig Challenger Bordeaux Challenger Lisbon Challenger Sao Jose Do Rio Preto Challenger Oeiras 3 Challenger Canberra Challenger Florianopolis Challenger Oeiras 1 Challenger Cordenons Challenger Oeiras 4 Challenger Manama Challenger Porto Challenger Montevideo Challenger Rennes Challenger Porto 2 Challenger Maia 1 Challenger M25 Quinta do Lago Levene Gouldin & Thompson Tennis Challenger - Binghamton Madrid Challenger M25 Les Franqueses del Valles Santos Challenger Ostrava Challenger Samarkand Challenger Guayaquil Challenger Shymkent Challenger Sao Paulo Challenger Tampere Challenger Como Challenger Naples Challenger - Naples Lima Challenger Guayaquil Challenger Caltanissetta Challenger Columbus Challenger Newport Beach Challenger Bangkok Challenger Bangkok Challenger Yokohama Challenger Shenzhen Challenger Sarasota Challenger Francavilla Challenger Lima 2 Challenger Ostrava Challenger Timisoara Challenger Braga Challenger Kigali 2 Challenger Samarkand Challenger Francavilla Challenger Almaty Challenger Tampere Challenger Nur-Sultan Challenger Milan Challenger Szczecin Challenger St. Remy Challenger Oeiras 2 Challenger Oeiras 3 Challenger Biella 7 Challenger Forli Challenger Porto Challenger Tulln Challenger Tampere Challenger San Marino Challenger Verona Challenger Estoril Open - Estoril Kyiv Challenger Maia 2 Challenger Bendigo Challenger Cherbourg Challenger Forli 5 Challenger Roseto Degli Abruzzi 2 Challenger Murcia Challenger Oeiras 2 Challenger Valencia Challenger Shymkent 1 Challenger Shymkent 2 Challenger Oldum Brown Vancouver Open - Vancouver Perugia Challenger Lyon Challenger Oeiras 3 Challenger Campinas Challenger Curitiba Challenger Lima Challenger Banja Luka Challenger Tulln Challenger Szczecin Challenger Sibiu Challenger Campinas Challenger Rio De Janeiro Challenger Las Vegas Challenger Lima 2 Challenger Montevideo Challenger Sao Leopoldo Challenger Bordeaux Challenger Montemar Challenger Tenerife 2 Challenger Szekesfehervar Challenger Murcia Challenger Ostrava Challenger Aix En Provence Challenger Prague 2 Challenger Oeiras 2 Challenger Lyon Challenger Bancolombia Open - Bogota Porto Challenger Estoril Open - Estoril Mallorca Challenger Tulln Challenger Sibiu Challenger Santa Fe 2 Challenger Montevideo Challenger Valencia Challenger Nonthaburi 1 Challenger Oeiras 2 Challenger Punta Del Este Challenger Tenerife 2 Challenger Murcia Challenger Girona Challenger Koblenz Challenger Oeiras 3 Challenger Kigali 2 Challenger Turin Challenger Oeiras 4 Challenger Girona Challenger Pozoblanco Challenger Oeiras 5 Challenger Tunis Challenger GHI Bronx Tennis Classic - Bronx Tenerife 1 Challenger Royan Challenger Estoril Open - Estoril Tampere Challenger Nur-Sultan Challenger Ann Arbor Challenger Sofia 2 Challenger Sacramento Challenger - Sacramento Estoril Open - Estoril Salvador Challenger Montevideo Challenger Lisbon Challenger Milan Challenger Recife Challenger M25 Zaragoza Jonkoping Challenger Prague Challenger Open de Nice Cote d'Azur - Nice Bordeaux Challenger Estoril Open - Estoril Antalya 3 Challenger Dallas Challenger Troisdorf Challenger Karlsruhe Challenger Braga Challenger Milan Challenger Dallas Challenger San Juan Challenger Aix En Provence Challenger Bratislava 1 Challenger Bordeaux Challenger Poznan Challenger VTR Open - Vina del Mar Braunschweig Challenger Porto Alegre Challenger Furth Challenger Montevideo Challenger Copa Claro - Buenos Aires Lille Challenger Le Gosier Challenger Bucaramanga Challenger Rome Challenger Brasil Open - Sao Paulo Portugal Open - Oeiras Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Open Parc - Lyon Itajai Challenger Brasil Open - Sao Paulo Millennium Estoril Open - Estoril M15 Platja D'Aro Tunis Challenger Las Franquesas del Valles Challenger Santiago Challenger Sao Paulo Challenger Gerry Weber Open - Halle Fergana Challenger Delray Beach International Tennis Championships - Delray Beach Estoril Open - Estoril Panama City Challenger Santos Challenger Gonet Geneva Open - Geneva Lexington Challenger Zagreb Challenger M25 Zaragoza Todi Challenger U.S. National Indoor Tennis Championships - Memphis Gonet Geneva Open - Geneva Buenos Aires Challenger Estoril Open - Estoril Irving Challenger Genova Challenger Moscow Challenger VTR Open - Vina del Mar Brasil Open - Sao Paulo Estoril Challenger M25 Gaziantep Bunschoten Challenger Rio De Janeiro Challenger Delray Beach International Tennis Championships - Delray Beach Montevideo Challenger Lisbon Challenger Portugal Open - Oeiras Almaty Challenger Porto Alegre Challenger Bordeaux Challenger Buenos Aires Challenger Szczecin Challenger Kosice Challenger Marburg Challenger Delray Beach Open - Delray Beach Buenos Aires Challenger Zhangjiagang Challenger Winston-Salem Open - Winston-Salem M15 Melilla Open 13 Provence - Marseille Campinas Challenger Erste Bank Open - Vienna Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Abierto Mexicano Telcel - Acapulco Biella Challenger ATP Challenger Tour Finals Sao Paulo Challenger Braunschweig Challenger Kremlin Cup - Moscow US Men's Clay Court Championship - Houston Manama Challenger Bordeaux Challenger Como Challenger BB&T Atlanta Open - Atlanta Lima Challenger Lima Challenger Andria Challenger Zadar Challenger Millennium Estoril Open - Estoril Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasov Challenger Brasil Open - Sao Paulo Astana Challenger Banja Luka Challenger Tampere Challenger Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Biella Challenger Apia International - Sydney Campinas Challenger Forli 4 Challenger Millennium Estoril Open - Estoril Blois Challenger Campinas Challenger Alicante Challenger Sao Paulo Challenger Generali Open - Kitzbuhel Toulouse Challenger Amersfoort Challenger Tampere Challenger Meerbusch Challenger Lisbon Challenger Brasil Open - Sao Paulo Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Buenos Aires Challenger Geneva Open - Geneva Guayaquil Challenger Bet-at-home Open - Hamburg Bergamo Challenger Braunschweig Challenger Poznan Challenger Split Challenger Rome Challenger Open Sud de France - Montpellier Sibiu Challenger Braga Challenger 2007 Knoxville Challenger - Knoxville Maia Challenger Amersfoort Challenger Braga Challenger Oeiras 4 Challenger Vicenza Challenger Millennium Estoril Open - Estoril Lyon Challenger Generali Open - Kitzbuhel Milan Challenger Brasov Challenger Szczecin Challenger Buenos Aires Challenger BMW Open - Munich Bordeaux Challenger Valencia Challenger Cordoba Open - Cordoba Pilot Pen Tennis - New Haven Maspalomas Challenger Tenerife 3 Challenger Lima 3 Challenger Kigali 1 Challenger Barcelona Challenger Madrid Challenger Heilbronn Challenger Porto Challenger Liberec Challenger Valencia Open - Valencia Como Challenger St. Petersburg Open - St. Petersburg M25 Mataro Millennium Estoril Open - Estoril Abierto Mexicano - Los Cabos Francavilla Challenger Tampere Challenger Brasil Open - Sao Paulo Montevideo Challenger M25 Santa Margherita di Pula Quimper Challenger Barletta Challenger Cherbourg Challenger Monterrey Challenger Rovereto Challenger Waco Challenger Antalya Challenger Santo Domingo Challenger Millennium Estoril Open - Estoril St. Petersburg 1 Challenger Seville Challenger Almaty 1 Challenger Malaga Challenger Millennium Estoril Open - Estoril Tulln Challenger Pau Challenger BNP Paribas Open - Indian Wells Copa Claro - Buenos Aires Lyon Challenger Shenzhen Open - Shenzhen Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Miami Open - Miami EFG Swiss Open - Gstaad Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Generali Open - Kitzbuhel Sony Ericsson Open - Miami Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells BNP Paribas Open - Indian Wells Campbells Hall of Fame Tennis Championships - Newport St. Petersburg Open - St. Petersburg Aircel Chennai Open - Chennai Kremlin Cup - Moscow Sony Open Tennis - Miami U.S. Open - New York French Open - Paris Wimbledon - London Wimbledon - London French Open - Paris French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris U.S. Open - New York Wimbledon - London Australian Open - Melbourne U.S. Open - New York U.S. Open - New York Australian Open - Melbourne Wimbledon - London Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Mutua Madrid Open - Madrid U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London French Open - Paris U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne Olympics - Rio de Janeiro U.S. Open - New York Australian Open - Melbourne 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 2, 2R, POR-TUN 4-1 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, PO, SVK-POR 3-1 Wimbledon (juniors) Australian Open (juniors) U.S. Open (juniors) Wimbledon (juniors) Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group I, 1R, ROU-POR 3-1 U.S. Open (juniors) Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, Group I, 1R, POR-AUT 1-4 French Open (juniors) All Lower level tournaments Madrid Challenger Hamburg European Open - Hamburg