Career 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010
All Surfaces Clay Grass Hard I.hard
All Rounds Final 1/2 1/4 First Second Third Fourth Qualifying q-First q-Second Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze N/A ER Q4 CR QF Q5 N/A
All Tournaments Wimbledon - London St. Brieuc Challenger Zadar Challenger Sanremo Challenger Mutua Madrid Open - Madrid Oeiras 3 Challenger Madrid Challenger Ostrava Challenger Mauthausen Challenger French Open - Paris Aix En Provence Challenger Francavilla Challenger Troisdorf Challenger Oeiras 4 Challenger Millennium Estoril Open - Estoril Girona Challenger Prague 1 Challenger Prostejov Challenger Estoril Open - Estoril Estoril Open - Estoril Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) Estoril Open - Estoril French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Portugal Open - Oeiras French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Guimaraes Challenger Segovia Challenger Portugal Open - Oeiras Davis Cup, Group I, 1R, SLO-POR 3-2 Itajai Challenger Sao Paulo Challenger Santos Challenger Segovia Challenger Davis Cup, Group I, PO, RUS-POR 4-1 Ortisei Challenger Grand Prix Hassan II - Casablanca Casablanca Challenger New Delhi Challenger Kolkata Challenger Davis Cup, Group II, 1R, POR-MAR 4-1 Mersin Challenger Eskisehir Challenger Millennium Estoril Open - Estoril Todi Challenger Tampere Challenger Segovia Challenger Manerbio Challenger Campinas Challenger Porto Alegre Challenger Davis Cup, Group II, 2R, POR-FIN 4-1 Sao Paulo Challenger Millennium Estoril Open - Estoril Wimbledon - London Erste Bank Open - Vienna Bangkok Challenger Bangkok Challenger Manila Challenger Tunisia F2 Tunisia F3 Turkey F5 Israel F1 Turkey F6 Israel F2 Turkey F7 Napoli Challenger Barletta Challenger Turin Challenger Rome Challenger Samarkand Challenger Mestre Challenger Egypt F8 Portugal F3 Egypt F9 Egypt F10 Turkey F13 Turkey F14 Turkey F15 Hungary F3 Caltanissetta Challenger Perugia Challenger Bastad Challenger Poznan Challenger Tampere Challenger Prague Challenger Czech Republic F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 Czech Republic F4 Turkey F26 Cordenons Challenger Manerbio Challenger Banja Luka Challenger Sibiu Challenger Austria F1 Austria F3 Austria F4 Austria F5 Austria F6 Austria F7 Austria F8 Romania F15 Hungary F7 Hungary F8 Eckental Challenger Bratislava Challenger Greece F10 Greece F11 Turkey F47 Qatar F4 Turkey F48 Qatar F5 Qatar F6 Millennium Estoril Open - Estoril Wimbledon - London Generali Open - Kitzbuhel U.S. Open - New York European Open - Antwerp Erste Bank Open - Vienna Bangkok Challenger Bergamo Challenger Wroclaw Challenger Egypt F1 (Sharm El Sheikh) Turkey F3 (Antalya) Turkey F4 (Antalya) Egypt F4 (Sharm El Sheikh) Turkey F5 (Antalya) Davis Cup, Group I, 1R, POR-ISR 5-0 Egypt F5 (Sharm El Sheikh) Egypt F6 (Sharm El Sheikh) Greece F1 (Heraklion) Greece F2 (Heraklion) Francavilla Challenger Ostrava Challenger Rome Challenger Heilbronn Challenger Mestre Challenger Prostejov Challenger Caltanissetta Challenger Lisbon Challenger Poprad Tatry Challenger Milan Challenger Greece F3 (Heraklion) Greece F4 (Heraklion) Portugal F5 (Quinta Da Marinha) Portugal F6 (Porto) Portugal F7 (Carcavelos) Ukraine F1 (Cherkassy) Ukraine F2 (Cherkassy) Romania F2 (Bacau) Tunisia F22 (Hammamet) Scheveningen Challenger Tampere Challenger Vancouver Challenger Quito Challenger Portugal F10 (Torres Vedras) Portugal F11 (Povoa de Varzim) Portugal F12 (Idanha-A-Nova) Portugal F13 (Idanha-A-Nova) Bogota Challenger Orleans Challenger Ortisei Challenger Eckental Challenger Bratislava Challenger Tunisia F27 (Hammamet) Tunisia F28 (Hammamet) Tunisia F29 (Hammamet) Tunisia F30 (Hammamet) Brisbane International - Brisbane Australian Open - Melbourne New York Open - New York Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Gazprom Hungarian Open - Budapest Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul French Open - Paris Wimbledon - London Generali Open - Kitzbuhel U.S. Open - New York European Open - Antwerp Erste Bank Open - Vienna Rennes Challenger Santiago Challenger Marbella Challenger Tunis Challenger Portugal F1 (Vale Do Lobo) Portugal F3 (Loule) Portugal F5 (Vilamoura) Portugal F6 (Lisbon) Davis Cup, Group I, 2R, RUS-AUT 1-3 Portugal F7 (Porto) Portugal F8 (Cascais) Aix En Provence Challenger Braga Challenger Lisbon Challenger Mestre Challenger Vicenza Challenger Shymkent Challenger Almaty Challenger Ilkley Challenger Blois Challenger Tunisia F23 (Hammamet) Marburg Challenger Braunschweig Challenger Astana Challenger Pullach Challenger Meerbusch Challenger Portugal F14 (Sintra) Portugal F15 (Sintra) Zhangjiagang Challenger Shanghai Challenger Kaohsiung Challenger Sibiu Challenger Monterrey Challenger Almaty Challenger Santo Domingo Challenger Tashkent Challenger Bratislava Challenger Bangalore Challenger Pune Challenger Tata Open Maharashtra - Pune Australian Open - Melbourne Open 13 Provence - Marseille US Men's Clay Court Championship - Houston French Open - Paris Wimbledon - London German Tennis Championships - Hamburg Generali Open - Kitzbuhel U.S. Open - New York Kremlin Cup - Moscow Erste Bank Open - Vienna Burnie Challenger Launceston Challenger Pau Challenger Lille Challenger St. Brieuc Challenger Monterrey Challenger Sophia Antipolis Challenger San Luis Potosi Challenger Leon Challenger Puerto Vallarta Challenger Braga Challenger Heilbronn Challenger Lisbon Challenger Jerusalem Challenger Poznan Challenger Nottingham Challenger Ilkley Challenger Bratislava Challenger Milan Challenger Braunschweig Challenger Nur-Sultan Challenger Amersfoort Challenger Prague Challenger Sopot Challenger Augsburg Challenger Manerbio Challenger L'Aquila Challenger Baotou Challenger Como Challenger Jinan Challenger Genova Challenger Kaohsiung Challenger Davis Cup, Group I, 1R, FIN-AUT 2-3 M25 Tavira Mouilleron-Le-Captif Challenger Ningboo Challenger Liuzhou Challenger Shenzhen Challenger Eckental Challenger Bratislava Challenger Helsinki Challenger Ortisei Challenger Australian Open - Melbourne Tata Open Maharashtra - Pune Abierto Mexicano Telcel - Acapulco French Open - Paris Generali Open - Kitzbuhel Bangkok Challenger Dallas Challenger Bengalaru Challenger Cleveland Challenger Bergamo Challenger Morelos Challenger Nur-Sultan Challenger Davis Cup, World Group I, PO, LTU-POR 0-4 All Lower level tournaments Prague Challenger Prague II Challenger Ostrava Challenger Prostejov Challenger Split Challenger Lisbon Challenger Istanbul Challenger Hamburg Challenger Eckental Challenger Parma Challenger Bratislava Challenger Sofia Open - Sofia Ortisei Challenger Sao Paulo Challenger Maia Challenger Australian Open Qualifying - Doha Murray River Open - Melbourne Australian Open - Melbourne Quimper Challenger Quimper 2 Challenger Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Miami Open - Miami Millennium Estoril Open - Estoril French Open - Paris cinch Championships - London Wimbledon - London Hall of Fame Open - Newport Abierto Mexicano de Tenis Mifel - Los Cabos Truist Atlanta Open - Atlanta Citi Open - Washington U.S. Open - New York Cherbourg Challenger Nur-Sultan 1 Challenger Nur-Sultan 2 Challenger Biella 4 Challenger Marbella Challenger Split 1 Challenger Belgrade Challenger Rome 1 Challenger Prague Challenger Zagreb Challenger Oeiras 3 Challenger Biella 7 Challenger Nottingham 1 Challenger Bratislava Challenger Porto Challenger Segovia Challenger Mallorca Challenger Tulln Challenger Kyiv Challenger Braga Challenger Lisbon Challenger Mouilleron-Le-Captif Challenger Alicante Challenger Brest Challenger Tenerife Challenger Bratislava Challenger Helsinki Challenger Australian Open - Melbourne French Open - Paris Traralgon Challenger Forli 3 Challenger Bengalaru 1 Challenger Generali Open - Kitzbuhel U.S. Open - New York Murcia Challenger Madrid Challenger Prague 1 Challenger Ostrava Challenger Prague 2 Challenger Tunis Challenger Troisdorf Challenger Poznan Challenger Ilkley Challenger Malaga Challenger Salzburg Challenger Porto Challenger Iasi Challenger Verona Challenger Tampere Challenger San Benedetto Challenger Liberec Challenger Meerbusch Challenger Grodzisk Mazowiecki Challenger Banja Luka Challenger Mallorca Challenger Toulouse Challenger Tulln Challenger Seville Challenger Istanbul Challenger Genova Challenger Braga Challenger Lisbon Challenger Alicante Challenger St. Tropez Challenger Hamburg Challenger Yokohama Challenger Matsuyama Challenger Kobe Challenger Yokkaichi Challenger Australian Open - Melbourne Canberra Challenger Tenerife 1 Challenger Ottignies-Louvain-la-Neuve Challenger Quimper Challenger Chennai Challenger Bengaluru Challenger Pune Challenger Antalya Challenger Portugal F5 Portugal F1 Portugal F2 Portugal F4 Portugal F5 Portugal F3 Spain F25 Sao Leopoldo Challenger Portugal F4 Portugal F5 Brazil F31 India F13 India F14 Brazil F32 Portugal F2 Portugal F3 Portugal F4 Egypt F2 Egypt F3 Egypt F4 Portugal F5 Portugal F6 Portugal F7 Italy F9 Slovenia F1 Bosnia & Herzegovina F3 Austria F1 Austria F5 Spain F26 Austria F7 Spain F27 Spain F30 Spain F33 Portugal F9 Portugal F10 Portugal F11 Egypt F32 Egypt F33 Spain F41 Spain F42 Turkey F49 Turkey F50 Portugal F1 Portugal F2 Portugal F3 Turkey F7 Turkey F8 Greece F3 Turkey F9 Greece F4 Portugal F4 Portugal F5 Portugal F6 Belgium F2 Netherlands F1 Netherlands F2 Belgium F3 Austria F1 Belgium F4 Austria F2 Belgium F5 Austria F3 Austria F4 Austria F6 Spain F21 Austria F7 Romania F2 Romania F13 Portugal F8 Portugal F9 Portugal F10 Portugal F11 Turkey F42 Turkey F43 Turkey F45 Turkey F46 Tunisia F3 Tunisia F4 Portugal F3 Morocco F2 Morocco F3 Italy F6 Portugal F4 Portugal F7 Mozambique F1 Mozambique F2 Slovenia F2 Spain F18 Austria F3 Austria F4 Austria F5 Austria F6 Austria F7 Austria F8 Austria F9 Belgium F13 Austria F10 Spain F28 Egypt F36 Egypt F37 Egypt F38 Egypt F39 Cyprus F1 Cyprus F2 Cyprus F3 Turkey F49 Turkey F50