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 Wimbledon - London Porto Challenger Mallorca Challenger U.S. Open - New York Zhuhai Open - Zhuhai China Open - Beijing Malaga Challenger Alicante Challenger Orleans Challenger Shanghai Rolex Masters - Shanghai Hamburg Challenger Rakuten Japan Open - Tokyo Brest Challenger Rolex Paris Masters - Paris Matsuyama Challenger Miami Open - Miami Barcelona Open Banc Sabadell - Barcelona Australian Open - Melbourne Dallas Open - Dallas Delray Beach Open - Delray Beach Mifel Tennis Open - Los Cabos Abierto Mexicano Telcel - Acapulco BNP Paribas Open - Indian Wells Ostrava Challenger M25 Vale do Lobo M25 Loule Oeiras 3 Challenger Japan Open Tennis Championships - Tokyo Citi Open - Washington Internazionali BNL d'Italia - Rome Millennium Estoril Open - Estoril Mutua Madrid Open - Madrid M25 Valldoreix M25 Sabadell Cagliari Challenger Oeiras 4 Challenger M25 Idanha-a-Nova Open Parc - Lyon Turin Challenger M25 Mungia-Laukariz M25 Elvas Prostejov Challenger M25 Satu Mare M25 Setubal M25 Castelo Branco French Open - Paris M25 Idanha-a-Nova Atlanta Open - Atlanta Rothesay International - Eastbourne Wimbledon - London M25 Roda de Bara Western & Southern Open - Cincinnati M25 Bakio M25 Porto Hangzhou Open - Hangzhou Dobrich 2 Challenger U.S. Open - New York Porto 2 Challenger Lisbon Challenger Shanghai Rolex Masters - Shanghai Braga Challenger M25 Sintra M25 Sintra Australian Open - Melbourne M25 Monastir M25 Vila Real de Santo Antonio Dallas Open - Dallas Oeiras 2 Challenger Yokkaichi Challenger M25 Faro M25 Vila Real de Santo Antonio M25 Vale do Lobo Oeiras 3 Challenger M25 Setubal M25 Vale do Lobo Delray Beach Open - Delray Beach Grodzisk Mazowiecki Challenger Maia Challenger Brisbane International - Brisbane Adelaide International - Adelaide Oeiras 1 Challenger Davis Cup, World Group, Q, JPN-GBR 3-2 Brasov Challenger Seoul Challenger Internazionali BNL d'Italia - Rome Milan Challenger Miami Open - Miami Tampere Challenger Sumter Challenger National Bank Open - Toronto Citi Open - Washington Zug Challenger Cassis Challenger French Open - Paris National Bank Open - Toronto Boss Open - Stuttgart Birmingham Challenger Porto 2 Challenger Terra Wortmann Open - Halle Poznan Challenger Iasi Challenger Wimbledon - London Bunschoten Challenger Winston-Salem Open - Winston-Salem Porto Challenger Citi Open - Washington Cincinnati Open - Cincinnati Sofia 2 Challenger U.S. Open - New York Todi Challenger Shanghai Challenger Seville Challenger Davis Cup, World Group, Q2, JPN-GER 0-4 Lisbon Challenger Japan Open Tennis Championships - Tokyo Shanghai Rolex Masters - Shanghai Braga Challenger Shenzhen Challenger Portugal F2 Portugal F4 Portugal F5 USA F26 USA F28 USA F31 USA F2 USA F3 USA F4 Portugal F3 USA F11 USA F12 Spain F25 Mexico F10 Portugal F4 Mexico F11 Portugal F5 Brazil F31 USA F29 Brazil F32 Mexico F3 USA F6 Portugal F2 Portugal F3 USA F7 Portugal F4 USA F9 Egypt F2 Egypt F3 Egypt F4 USA F11 USA F12 Portugal F5 Portugal F6 Portugal F7 Spain F26 Spain F27 USA F24 USA F25 Spain F33 Portugal F9 Mexico F15 Portugal F10 Portugal F11 Egypt F32 Egypt F33 Spain F41 Spain F42 Chile F11 Turkey F49 Chile F12 Turkey F50 USA F1 USA F2 Portugal F1 Portugal F2 USA F5 Portugal F3 USA F6 Turkey F7 Turkey F8 Turkey F9 Portugal F4 Portugal F5 Portugal F6 Belgium F2 Belgium F3 Japan F8 Belgium F4 Belgium F5 Spain F21 Romania F2 Romania F13 Portugal F8 Portugal F9 Portugal F10 Portugal F11 Turkey F42 Turkey F43 Tunisia F3 Tunisia F4 Portugal F3 Morocco F2 Morocco F3 Italy F6 Portugal F4 Portugal F7 Mozambique F1 Mozambique F2 Spain F18 Belgium F13 Spain F28 Egypt F36 Egypt F37 Egypt F38 Egypt F39 Turkey F5 Turkey F6 Turkey F7 Portugal F3 Egypt F9 Egypt F10 Czech Republic F4 Portugal F1 Romania F15 Turkey F47 Turkey F48 Egypt F1 (Sharm El Sheikh) Egypt F4 (Sharm El Sheikh) Egypt F5 (Sharm El Sheikh) Egypt F6 (Sharm El Sheikh) Portugal F5 (Quinta Da Marinha) Portugal F6 (Porto) Portugal F7 (Carcavelos) Ukraine F1 (Cherkassy) Ukraine F2 (Cherkassy) Romania F2 (Bacau) Tunisia F22 (Hammamet) Portugal F10 (Torres Vedras) Portugal F11 (Povoa de Varzim) Portugal F12 (Idanha-A-Nova) Portugal F13 (Idanha-A-Nova) Tunisia F27 (Hammamet) Tunisia F28 (Hammamet) Tunisia F29 (Hammamet) Tunisia F30 (Hammamet) Portugal F1 (Vale Do Lobo) Portugal F3 (Loule) Portugal F5 (Vilamoura) Portugal F6 (Lisbon) Portugal F7 (Porto) Portugal F8 (Cascais) Tunisia F23 (Hammamet) Portugal F14 (Sintra) Portugal F15 (Sintra) M25 Tavira Portugal F5 Kyoto Challenger Sarasota Challenger Sao Leopoldo Challenger Yokohama Challenger Sarasota Challenger Guimaraes Challenger Segovia Challenger Yokohama Challenger Toyota Challenger Kyoto Challenger Rimouski Challenger Guadalajara Challenger Leon Challenger Itajai Challenger Sarasota Challenger Sao Paulo Challenger Savannah Challenger Santos Challenger Tallahassee Challenger Vicenza Challenger Mestre Challenger Kosice Challenger Milan Challenger Kaohsiung Challenger Lexington Challenger Vancouver Challenger Segovia Challenger Aptos Challenger Shanghai Challenger Istanbul Challenger Geneva Challenger Ortisei Challenger Yokohama Challenger Toyota Challenger Happy Valley Challenger Casablanca Challenger Hong Kong Challenger New Delhi Challenger Kolkata Challenger Irving Challenger Sarasota Challenger Mersin Challenger Savannah Challenger Heilbronn Challenger Eskisehir Challenger Mestre Challenger Surbiton Challenger Ilkley Challenger Todi Challenger Granby Challenger Tampere Challenger Lexington Challenger Segovia Challenger Aptos Challenger Manerbio Challenger Campinas Challenger Porto Alegre Challenger Sao Paulo Challenger Ningboo Challenger Hua Hin Challenger Kobe Challenger Yokohama Challenger Toyota Challenger Bangkok Challenger Canberra Challenger Bangkok Challenger Manila Challenger Cherbourg Challenger Le Gosier Challenger Napoli Challenger Barletta Challenger Nanjing Challenger Turin Challenger Anning Challenger Rome Challenger Heilbronn Challenger Samarkand Challenger Mestre Challenger Caltanissetta Challenger Perugia Challenger Winnetka Challenger Bastad Challenger Winnipeg Challenger Poznan Challenger Tampere Challenger Prague Challenger Aptos Challenger Cordenons Challenger Manerbio Challenger Kaohsiung Challenger Traralgon Challenger Canberra Challenger Kobe Challenger Toyota Challenger Astana Challenger Bangkok Challenger Lisbon Challenger Milan Challenger Playford Challenger Burnie Challenger Launceston Challenger Sarasota Challenger Tallahassee Challenger Braga Challenger Gimcheon Challenger Busan Challenger Mestre Challenger Blois Challenger Zhangjiagang Challenger Shanghai Challenger Kaohsiung Challenger Almaty Challenger Tashkent Challenger Traralgon Challenger Canberra Challenger Bratislava Challenger Bangalore Challenger Kobe Challenger Pune Challenger Lille Challenger Sophia Antipolis Challenger Braga Challenger Lisbon Challenger Jerusalem Challenger Bratislava Challenger Milan Challenger Amersfoort Challenger Prague Challenger Sopot Challenger Manerbio Challenger L'Aquila Challenger Baotou Challenger Jinan Challenger Kaohsiung Challenger Ningboo Challenger Liuzhou Challenger Shenzhen Challenger Helsinki Challenger Bendigo 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 Prague Challenger Zagreb Challenger Oeiras 3 Challenger Biella 7 Challenger Bratislava Challenger Porto Challenger Segovia Challenger Mallorca Challenger Kyiv Challenger Braga Challenger Lisbon Challenger Mouilleron-Le-Captif Challenger Alicante Challenger Brest Challenger Tenerife Challenger Bratislava Challenger Helsinki Challenger Traralgon Challenger Forli 3 Challenger Columbus Challenger Cleveland Challenger Bengalaru 1 Challenger Tunis Challenger Troisdorf Challenger Poznan Challenger Malaga Challenger Porto Challenger Iasi Challenger Rome Challenger Tampere Challenger San Benedetto Challenger Meerbusch Challenger Vancouver Challenger Banja Luka Challenger Toulouse Challenger Seville Challenger Braga Challenger Lisbon Challenger Alicante Challenger St. Tropez Challenger Hamburg Challenger Yokohama Challenger Matsuyama Challenger Kobe Challenger Yokkaichi Challenger Ottignies-Louvain-la-Neuve Challenger Chennai Challenger Bengaluru Challenger Pune Challenger St. Brieuc Challenger Girona Challenger Madrid Challenger Oeiras 3 Challenger Ostrava Challenger Aix En Provence Challenger Cagliari Challenger Francavilla Challenger Oeiras 4 Challenger Troisdorf Challenger Prostejov Challenger Suzhou Challenger Estoril Open - Estoril Estoril Open - Estoril Estoril Open - Estoril Portugal Open - Oeiras Portugal Open - Oeiras Erste Bank Open - Vienna Delray Beach Open - Delray Beach Grand Prix Hassan II - Casablanca US Men's Clay Court Championship - Houston Citi Open - Washington Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Millennium Estoril Open - Estoril Brisbane International - Brisbane Memphis Open - Memphis Delray Beach Open - Delray Beach Millennium Estoril Open - Estoril Topshelf Open - 's-Hertogenbosch Gerry Weber Open - Halle Citi Open - Washington BB&T Atlanta Open - Atlanta Winston-Salem Open - Winston-Salem Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo Brisbane International - Brisbane Memphis Open - Memphis Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Millennium Estoril Open - Estoril Dubai Duty Free Tennis Championships - Dubai US Men's Clay Court Championship - Houston Millennium Estoril Open - Estoril Antalya Cup - Antalya Abierto Mexicano - Los Cabos Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo European Open - Antwerp Brisbane International - Brisbane Sydney International - Sydney Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Citi Open - Washington Zhuhai Open - Zhuhai Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel Tata Open Maharashtra - Pune New York Open - New York Delray Beach Open - Delray Beach Dubai Duty Free Tennis Championships - Dubai Generali Open - Kitzbuhel bett1HULKS Championships - Cologne Hamburg European Open - Hamburg Sofia Open - Sofia Murray River Open - Melbourne Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Dubai Duty Free Tennis Championships - Dubai Millennium Estoril Open - Estoril Open Parc - Lyon Nature Valley International - Eastbourne Hall of Fame Open - Newport Citi Open - Washington St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Singapore Tennis Open - Singapore Emilia-Romagna Open - Parma Adelaide International 1 - Adelaide Adelaide International 2 - Adelaide Dallas Open - Dallas Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco BMW Open - Munich Open Parc - Lyon Citi Open - Washington Rakuten Japan Open - Tokyo European Open - Antwerp Erste Bank Open - Vienna Korea Open - Seoul Adelaide International 1 - Adelaide Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Millennium Estoril Open - Estoril Barcelona Open Banc Sabadell - Barcelona Spain F30 Sony Open Tennis - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Shanghai Rolex Masters - Shanghai Miami Open - Miami BNP Paribas Open - Indian Wells Miami Open - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Coupe Rogers - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Mexico F4 U.S. Open - New York Australian Open - Melbourne 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 Australian Open - Melbourne 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 French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha Australian Open - Melbourne 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 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, 2R, POR-FIN 4-1 Davis Cup, World Group, PO, JPN-UKR 5-0 Davis Cup, World Group, 1R, JPN-FRA 1-4 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, World Group, PO, JPN-BIH 4-0 Davis Cup, World Group, QR, CHN-JPN 2-3 Davis Cup, Finals, Group A ATP Cup - Brisbane, Perth, Sydney Davis Cup, World Group I, PO, LTU-POR 0-4 ATP Cup - Melbourne All Lower level tournaments Augsburg Challenger Porto Challenger Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Australian Open (Asia, Wildcard) Australian Open (Asia, Wildcard) Kooyong Classic - Kooyong Truist Atlanta Open - Atlanta Western & Southern Open - Cincinnati Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group I, PO, JPN-POL 4-0 Davis Cup, World Group I, 1R, JPN-COL 3-1 Olympics - Tokyo National Bank Open - Montreal Davis Cup, Group I, PO, LIB-JPN 1-3