Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010
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 Wimbledon - London EFG Swiss Open - Gstaad Braunschweig Challenger Generali Open - Kitzbuhel Hamburg European Open - Hamburg Porto Challenger Malaga Challenger Como Challenger Mallorca Challenger U.S. Open - New York Braga Challenger Orleans Challenger Alicante Challenger Lisbon Challenger Hamburg Challenger Brest Challenger Matsuyama Challenger Valencia Challenger BMW Open - Munich Australian Open - Melbourne Pau Challenger Nonthaburi 1 Challenger Punta Del Este Challenger Piracicaba Challenger Cordoba Open - Cordoba Murcia Challenger Barcelona Challenger Kigali 1 Challenger Kigali 2 Challenger Ostrava Challenger M25 Vale do Lobo Girona Challenger Gonet Geneva Open - Geneva M25 Loule Oeiras 3 Challenger Francavilla Challenger Millennium Estoril Open - Estoril Rome Challenger Split Challenger M25 Valldoreix Heilbronn Challenger Augsburg Challenger M25 Sabadell Oeiras 4 Challenger M25 Maribor M25 Idanha-a-Nova Turin Challenger Bratislava 1 Challenger M25 Mungia-Laukariz M25 Elvas M25 Satu Mare M25 Getxo M25 Setubal Porto Challenger M25 Castelo Branco M25 Esch/Alzette M25 Idanha-a-Nova Milan Challenger Poznan Challenger M25 Roda de Bara Liberec Challenger M25 Bakio Tampere Challenger Dobrich Challenger M25 Porto Tulln Challenger Dobrich 2 Challenger Porto 2 Challenger M25 Sabadell Lisbon Challenger Sibiu Challenger M25 Zaragoza M25 Vila Real de Santo Antonio Braga Challenger M25 Sintra Valencia Challenger M25 Sintra M25 Monastir Lille Challenger Royan Challenger Oeiras 2 Challenger M25 Faro M25 Les Franqueses del Valles M25 Vila Real de Santo Antonio M25 Setubal Oeiras 3 Challenger Maia Challenger M25 Vale do Lobo M25 Santa margherita di Pula Kigali 2 Challenger Estoril Challenger Murcia Challenger M25 Vale do Lobo Montemar Challenger Tampere Challenger Grodzisk Mazowiecki Challenger Koblenz Challenger Oeiras 1 Challenger Brasov Challenger Milan Challenger Girona Challenger Tunis Challenger Astana Challenger M25 Angers M25 Reus Zug Challenger Cassis Challenger Sibiu Challenger Madrid Challenger Gonet Geneva Open - Geneva Vicenza Challenger Lyon Challenger Seoul Challenger Porto 2 Challenger Como Challenger Poznan Challenger M25 The Hague Iasi Challenger Bunschoten Challenger M25 Sabadell Porto Challenger Sofia 2 Challenger Tulln Challenger M25 Zaragoza Todi Challenger M25 Santa Margherita di Pula Seville Challenger Matsuyama Challenger Szczecin Challenger Suzhou Challenger Lisbon Challenger Valencia Challenger M15 Melilla Braga Challenger Lima 3 Challenger Shenzhen Challenger M25 Santa Margherita di Pula Montevideo Challenger Kobe Challenger Portugal F5 Portugal F1 Portugal F2 Portugal F4 Portugal F5 Spain F20 Portugal F4 Portugal F5 Spain F1 Spain F2 Portugal F2 Portugal F3 Spain F6 Egypt F3 Spain F12 Portugal F5 Spain F13 Portugal F6 Portugal F7 Spain F15 Spain F21 Spain F22 Spain F23 Spain F24 Spain F26 Spain F27 Spain F29 Spain F33 Egypt F28 Portugal F9 Egypt F29 Portugal F10 Egypt F32 Spain F41 Turkey F50 Spain F1 Portugal F2 Spain F2 Turkey F7 Peru F2 Turkey F9 Spain F6 Portugal F5 Russia F3 Portugal F6 Belgium F2 Austria F1 Belgium F4 Austria F2 Belgium F5 Spain F17 Spain F18 Spain F19 Spain F20 Spain F21 Romania F2 Spain F23 Romania F13 Spain F25 Spain F26 Spain F28 Kazakhstan F12 Portugal F8 Kazakhstan F13 Portugal F9 Kazakhstan F14 Portugal F10 Portugal F11 Estonia F5 Turkey F42 Turkey F43 Spain F2 Tunisia F4 Spain F3 Spain F5 Portugal F3 Turkey F10 India F3 India F4 Morocco F2 Morocco F3 Spain F9 Kazakhstan F3 Italy F6 Kazakhstan F4 Portugal F4 Russia F1 Portugal F7 Mozambique F1 Mozambique F2 Russia F4 Spain F18 Portugal F3 Spain F21 Spain F25 Brazil F31 Brazil F32 Spain F5 Portugal F4 Spain F9 Egypt F2 Egypt F4 Spain F14 Spain F16 Spain F17 Spain F18 Spain F20 Spain F30 Egypt F27 Egypt F30 Portugal F11 Egypt F33 Spain F42 Turkey F49 Portugal F1 Portugal F3 Spain F3 Spain F4 Spain F5 Peru F1 Turkey F8 Spain F7 Spain F8 Portugal F4 Russia F4 Belgium F3 Tunisia F3 Spain F4 Spain F20 Spain F21 Spain F22 Russia F5 Russia F6 Netherlands F5 New Delhi Challenger Ostrava Challenger Tulln Challenger Belgium F13 Spain F28 Kazakhstan F5 Kazakhstan F6 Egypt F36 Egypt F37 Egypt F38 Egypt F39 Turkey F46 Turkey F5 Turkey F6 Turkey F7 Portugal F3 Egypt F9 Egypt F10 Czech Republic F4 Spain F20 Spain F21 Lithuania F1 Georgia F1 Russia F5 Russia F6 Romania F15 Spain F29 Spain F30 Spain F31 Kazakhstan F7 Spain F35 Morocco F8 Morocco F9 Turkey F47 Turkey F48 Egypt F1 (Sharm El Sheikh) Tunisia F3 (Hammamet) Tunisia F4 (Hammamet) Egypt F4 (Sharm El Sheikh) Tunisia F5 (Hammamet) Egypt F5 (Sharm El Sheikh) Spain F5 (Murcia) Egypt F6 (Sharm El Sheikh) Tunisia F8 (Hammamet) Tunisia F9 (Hammamet) Spain F7 (Javea) Spain F8 (Reus) Spain F10 (Madrid) Portugal F5 (Quinta Da Marinha) Kazakhstan F3 (Shymkent) Portugal F6 (Porto) Kazakhstan F4 (Shymkent) Portugal F7 (Carcavelos) Kazakhstan F5 (Shymkent) Spain F12 (Lleida) Ukraine F1 (Cherkassy) Ukraine F2 (Cherkassy) Romania F2 (Bacau) Turkey F21 (Antalya) Tunisia F22 (Hammamet) Turkey F22 (Istanbul) Spain F20 (Getxo) Portugal F10 (Torres Vedras) Spain F21 (Gandia) Portugal F11 (Povoa de Varzim) Spain F22 (Denia) Portugal F12 (Idanha-A-Nova) Portugal F13 (Idanha-A-Nova) Russia F6 (Moscow) Tunisia F27 (Hammamet) Tunisia F28 (Hammamet) Tunisia F29 (Hammamet) Tunisia F30 (Hammamet) 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) Portugal F1 (Vale Do Lobo) Portugal F3 (Loule) Spain F6 (Xabia) Portugal F5 (Vilamoura) Portugal F6 (Lisbon) Portugal F7 (Porto) Kazakhstan F3 (Shymkent) Portugal F8 (Cascais) Kazakhstan F4 (Shymkent) Kazakhstan F5 (Shymkent) Tunisia F23 (Hammamet) Spain F17 (Bakio) Italy F18 (Casinalbo) Portugal F14 (Sintra) Germany F12 (Karlsruhe) Portugal F15 (Sintra) Spain F24 (Santander) Italy F30 (Santa Margherita Di Pula) Tunisia F39 (Monastir) Tunisia F40 (Monastir) Tunisia F41 (Monastir) M15 Manacor M15 Manacor M25 Kazan M15 Madrid M25 Vic M25 Pardubice M25 Santander M25 Donostia-San-Sebastian M25 Tavira M15 Monastir M15 Monastir M15 Kazan M25 Murcia M15 Novomoskovsk M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Valldoreix M15 Villena M15 Benicarlo M15 Torello M15 Cairo M15 Cairo M15 Cairo M15 St. Petersburg M15 St. Petersburg M15 Kazan M15 Shymkent M15 Shymkent M15 Majadahonda M15 Valldoreix M15 Shymkent M15 Shymkent M25 Belgrade M25 Denia M25 Koksijde M25 Santander M25 Oviedo M15 Platja D'Aro M15 Platja D'Aro M15 Girona M15 Benicarlo M15 Monastir M15 Monastir M25 Nur-Sultan M25 Nur-Sultan M25 Antalya M15 Antalya M15 Antalya M15 Shymkent M15 Shymkent M25 Mataro M25 Bolzano M25 Zaragoza M25 Girona M25 Gaziantep M15 Benicarlo Sao Leopoldo Challenger Guimaraes Challenger Segovia Challenger Itajai Challenger Sao Paulo Challenger Santos Challenger Segovia Challenger Ortisei Challenger Casablanca Challenger Kolkata Challenger Mersin Challenger Karshi Challenger Samarkand Challenger Eskisehir Challenger Moscow Challenger Todi Challenger Tampere Challenger Segovia Challenger Manerbio Challenger Seville Challenger Istanbul Challenger Campinas Challenger Porto Alegre Challenger Sao Paulo Challenger Bangkok Challenger Bangkok Challenger Manila Challenger Napoli Challenger Barletta Challenger Turin Challenger Rome Challenger Samarkand Challenger Mestre Challenger Caltanissetta Challenger Perugia Challenger Bastad Challenger Poznan Challenger Tampere Challenger Prague Challenger Cordenons Challenger Manerbio Challenger Bangkok Challenger Shymkent Challenger Lisbon Challenger Milan Challenger Biella Challenger Cordenons Challenger Seville Challenger Banja Luka Challenger Almaty Challenger Tashkent Challenger Andria Challenger Santiago Challenger Marbella Challenger Alicante Challenger Ostrava Challenger Karshi Challenger Braga Challenger Samarkand Challenger Mestre Challenger Shymkent Challenger Almaty Challenger Fergana Challenger Blois Challenger Astana Challenger Tampere Challenger Genova Challenger Zhangjiagang Challenger Szczecin Challenger Shanghai Challenger Kaohsiung Challenger Biella Challenger Almaty Challenger Tashkent Challenger Brest Challenger Bratislava Challenger Bangalore Challenger Pune Challenger Chennai Challenger Bangkok Challenger Bangkok Challenger Yokohama Challenger Shenzhen Challenger Lille Challenger Zhangjiagang Challenger Sophia Antipolis Challenger Alicante Challenger Murcia Challenger Ostrava Challenger Braga Challenger Shymkent Challenger Lisbon Challenger Samarkand Challenger Jerusalem Challenger Almaty Challenger Bratislava Challenger Fergana Challenger Milan Challenger Amersfoort Challenger Prague Challenger Tampere Challenger Sopot Challenger Manerbio Challenger Meerbusch Challenger L'Aquila Challenger Baotou Challenger Jinan Challenger Szczecin Challenger Kaohsiung Challenger Nur-Sultan Challenger Ningboo Challenger Liuzhou Challenger Shenzhen Challenger Helsinki Challenger Bengalaru Challenger Bergamo Challenger Nur-Sultan Challenger Prague II Challenger Ostrava Challenger Prostejov Challenger Split Challenger Lisbon Challenger Istanbul Challenger Parma Challenger Sao Paulo Challenger Maia Challenger Nur-Sultan 1 Challenger Nur-Sultan 2 Challenger St. Petersburg 1 Challenger Prague Challenger Zagreb Challenger Oeiras 3 Challenger Biella 7 Challenger Bratislava Challenger Almaty 1 Challenger Almaty 2 Challenger Porto Challenger Segovia Challenger Mallorca Challenger Kyiv Challenger Braga Challenger Bucharest Challenger Lisbon Challenger Mouilleron-Le-Captif Challenger Alicante Challenger Brest Challenger Tenerife Challenger Bratislava Challenger Helsinki Challenger Manama Challenger Antalya 3 Challenger Maia 1 Challenger Maia 2 Challenger Traralgon Challenger Forli 3 Challenger Bengalaru 1 Challenger Murcia Challenger Shymkent 1 Challenger Tunis Challenger Shymkent 2 Challenger Troisdorf Challenger Poznan Challenger Lyon Challenger Oeiras 3 Challenger Malaga Challenger Salzburg Challenger Porto Challenger Iasi Challenger Amersfoort Challenger Tampere Challenger San Benedetto Challenger San Marino Challenger Meerbusch Challenger Banja Luka Challenger Toulouse Challenger Tulln Challenger Seville Challenger Szczecin Challenger Braga Challenger Sibiu Challenger Lisbon Challenger Alicante Challenger St. Tropez Challenger Hamburg Challenger Yokohama Challenger Matsuyama Challenger Kobe Challenger Valencia Challenger Yokkaichi Challenger Maia Challenger Ottignies-Louvain-la-Neuve Challenger Quimper Challenger Tenerife 2 Challenger Chennai Challenger Cherbourg Challenger Bengaluru Challenger Rovereto Challenger Pune Challenger Antalya Challenger Szekesfehervar Challenger Las Franquesas del Valles Challenger St. Brieuc Challenger Girona Challenger Murcia Challenger Madrid Challenger Oeiras 3 Challenger Aix En Provence Challenger Francavilla Challenger Oeiras 4 Challenger Troisdorf Challenger Prostejov Challenger Lyon Challenger Maspalomas Challenger Estoril Open - Estoril Estoril Open - Estoril Estoril Open - Estoril Portugal Open - Oeiras Portugal Open - Oeiras Grand Prix Hassan II - Casablanca Valencia Open - Valencia Millennium Estoril Open - Estoril Millennium Estoril Open - Estoril Millennium Estoril Open - Estoril St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Geneva Open - Geneva European Open - Antwerp Kremlin Cup - Moscow Tata Open Maharashtra - Pune Sofia Open - Sofia Murray River Open - Melbourne Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Millennium Estoril Open - Estoril Open 13 Provence - Marseille Generali Open - Kitzbuhel Open Sud de France - Montpellier Millennium Estoril Open - Estoril Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Wimbledon - London Australian Open - Melbourne French Open - Paris Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London Australian Open - Melbourne French Open - Paris Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, World Group I, PO, LTU-POR 0-4 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) All Lower level tournaments