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 M25 Castelo Branco Helsinki Challenger Grodzisk Mazowiecki Challenger Lugano Challenger Morelia Challenger Cuernavaca Challenger Wimbledon - London Iasi Challenger Portugal F5 Portugal F1 Portugal F2 Portugal F4 Portugal F5 Portugal F3 Spain F25 Portugal F4 Portugal F5 Brazil F31 Portugal F1 Portugal F2 Portugal F3 Portugal F4 Egypt F2 Egypt F4 Spain F10 Spain F26 Spain F27 Spain F30 Spain F33 Portugal F9 Brazil F32 Portugal F10 Portugal F11 Egypt F32 Turkey F44 Egypt F33 Turkey F45 Spain F40 Spain F41 Spain F42 Turkey F49 Turkey F50 Portugal F1 Portugal F3 Spain F3 Spain F5 Turkey F8 Turkey F9 Portugal F4 Portugal F5 Portugal F6 Belgium F2 Belgium F3 Belgium F4 Bulgaria F3 Belgium F5 Romania F2 Romania F13 Portugal F7 Portugal F8 Portugal F9 Portugal F11 Norway F2 Turkey F7 Portugal F10 Portugal F5 Spain F13 Spain F21 Italy F6 Turkey F42 Turkey F43 Tunisia F3 Tunisia F4 Tunisia F5 Tunisia F6 Tunisia F7 Tunisia F8 Portugal F3 Morocco F2 Norway F1 Tunisia F11 Morocco F3 Tunisia F12 Tunisia F13 Italy F6 Italy F7 Portugal F4 Portugal F6 Bosnia & Herzegovina F1 Portugal F7 Mozambique F1 Mozambique F2 Spain F18 Italy F15 Portugal F2 Italy F23 Belgium F13 Spain F28 Spain F31 Spain F32 France F22 France F23 Egypt F36 Egypt F37 Egypt F38 Great Britain F11 Egypt F39 Portugal F7 Turkey F2 Turkey F3 Turkey F4 Turkey F5 Turkey F6 Turkey F7 France F5 Portugal F3 Egypt F9 Italy F3 Egypt F10 Spain F7 Italy F9 Spain F13 Spain F18 Czech Republic F4 Spain F19 Spain F20 Spain F24 Spain F25 Italy F26 Belgium F12 Romania F15 Sweden F5 Spain F4 Norway F1 Norway F2 Norway F3 Estonia F4 Turkey F47 Turkey F48 Turkey F1 (Antalya) Turkey F2 (Antalya) Turkey F3 (Antalya) Egypt F4 (Sharm El Sheikh) Egypt F5 (Sharm El Sheikh) Great Britain F3 (Shrewsbury) Portugal F1 (Vale Do Lobo) France F5 (Toulouse) Bahrain F1 (Manama) Bahrain F2 (Manama) Portugal F6 (Porto) Portugal F7 (Carcavelos) Nigeria F1 (Abuja) Nigeria F2 (Abuja) Ukraine F1 (Cherkassy) Nigeria F3 (Abuja) Ukraine F2 (Cherkassy) Romania F2 (Bacau) Spain F15 (Sta. Margarida Montbui) Tunisia F22 (Hammamet) Tunisia F23 (Hammamet) Poland F4 (Mragowo) Portugal F10 (Torres Vedras) Austria F2 (Kramsach) Portugal F11 (Povoa de Varzim) Austria F3 (Wels) Portugal F12 (Idanha-A-Nova) Portugal F13 (Idanha-A-Nova) Portugal F14 (Porto) Turkey F30 (Istanbul) Turkey F31 (Istanbul) Spain F28 (Oviedo) Spain F29 (Sevilla) Germany F5 (Kamen) Spain F30 (Madrid) Tunisia F27 (Hammamet) Spain F31 (Sabadell) Tunisia F28 (Hammamet) Egypt F28 (Sharm El Sheikh) Tunisia F29 (Hammamet) Egypt F29 (Sharm El Sheikh) Tunisia F30 (Hammamet) Egypt F31 (Sharm El Sheikh) Egypt F32 (Sharm El Sheikh) Egypt F33 (Sharm El Sheikh) Dominican Republic F1 (Santo Domingo Este) Dominican Republic F3 (Santo Domingo Este) Egypt F4 (Sharm El Sheikh) Egypt F5 (Sharm El Sheikh) Portugal F1 (Vale Do Lobo) France F4 (Toulouse) Portugal F3 (Loule) France F5 (Poitiers) Norway F2 Portugal F5 (Vilamoura) Portugal F6 (Lisbon) Portugal F7 (Porto) Portugal F8 (Cascais) Tunisia F23 (Hammamet) Spain F16 (Palma del Rio) Spain F17 (Bakio) Germany F8 (Kassel) Portugal F14 (Sintra) Portugal F15 (Sintra) Spain F23 (Vigo) Spain F29 (Sabadell) M15 Sharm El Sheikh M15 Sharm El Sheikh M25 Bolton M25 Donostia-San-Sebastian M25 Tavira M25 Pardubice M25+H Rodez M25 Hamburg M25 Vale Do Lobo M25 La Nucia M25 Meerbusch M25 Angers M25 Prague M25 Jablonec nad Nisou M25 Most M25 Grasse M25 Bourg-en-Bresse M25 Jonkoping M25 Nevers M25 Hamburg M25 Portimao M25 Vale do Lobo M25 Esch/Alzette Egypt F3 M25 Varnamo M25 Elvas M25 Astana M25 Falun M25 Roehampton M25 Idanha-a-Nova M25 Monastir M25 Vila Real de Santo Antonio M25 Loule M25 Vila Real de Santo Antonio M25 Roda de Bara M15 Ystad M25 Esch/Alzette M25 Satu Mare M25 Vale do Lobo M25 Norwich M25 Mungia-Laukariz M25 Glasgow M25 Montauban M25 Porto M25 Oldenzaal M25 Sintra M25 Loule M25 Vila Real de Santo Antonio M25 Nevers Guimaraes Challenger Segovia Challenger Barletta Challenger Sao Paulo Challenger Segovia Challenger M25 Faro Ortisei Challenger M25 Sintra Todi Challenger Great Britain F3 Manerbio Challenger Porto Alegre Challenger Bangkok Challenger Rome Challenger Segovia Challenger Manerbio Challenger Santos Challenger Prague Challenger Mersin Challenger Puerto Vallarta Challenger Egypt F6 (Sharm El Sheikh) Zhangjiagang Challenger Kaohsiung Challenger Da Nang Challenger Jerusalem Challenger Bratislava Challenger Milan Challenger Nur-Sultan 1 Challenger Bratislava Challenger Helsinki Challenger Forli 3 Challenger Mexico City Challenger Troisdorf Challenger Cordenons Challenger Matsuyama Challenger Kobe Challenger Ottignies-Louvain-la-Neuve Challenger San Marino Challenger Matsuyama Challenger Milan Challenger Sibiu Challenger Portugal F5 (Quinta Da Marinha) M25 Setubal Great Britain F10 Casablanca Challenger M25 Loughborough M25 Sunderland Madrid Challenger Orleans Challenger M25 Faro M25 Quinta Do Lago M25 Vale do Lobo M25 Badalona Nottingham Challenger Oeiras 1 Challenger Manama Challenger Lisbon Challenger Almaty Challenger San Marino Challenger M25 Tarragona Segovia Challenger Bratislava Challenger Meknes Challenger Pune Challenger M25 Valldoreix Prague Challenger Tampere Challenger Manerbio Challenger Sao Paulo Challenger M15 Kalmar Lisbon Challenger Manila Challenger Tashkent Challenger Napoli Challenger M25 Grasse Braga Challenger M25 Setubal Samarkand Challenger Baotou Challenger M25 Aarhus Perugia Challenger Poznan Challenger Maia Challenger Lyon Challenger Tampere Challenger M25 Brussels Nur-Sultan 2 Challenger Alphen Challenger Banja Luka Challenger Mallorca Challenger M25 Idanha-a-Nova Bangkok Challenger Cassis Challenger Malaga Challenger Como Challenger Iasi Challenger Bratislava Challenger Tunis Challenger Oeiras 2 Challenger Egypt F1 (Sharm El Sheikh) M25 Sabadell Spain F6 (Cornella) Porto 2 Challenger Spain F8 Vicenza Challenger Lille Challenger St. Brieuc Challenger Guadalajara Challenger Leon Challenger Seville Challenger Loughborough Challenger Mestre Challenger Shymkent Challenger Hamburg Challenger Vilnus Challenger Segovia Challenger Shanghai Challenger Girona Challenger Ningboo Challenger Eckental Challenger Bangalore Challenger Punta Del Este Challenger Tulln Challenger Italy F8 Sophia Antipolis Challenger San Luis Potosi Challenger Lisbon Challenger Samarkand Challenger Helsinki Challenger Tampere Challenger Sopot Challenger L'Aquila Challenger Jinan Challenger Kaohsiung Challenger Orleans Challenger Astana Challenger Nur-Sultan Challenger Sao Paulo Challenger Maia Challenger St. Petersburg 2 Challenger Lille Challenger Prague Challenger Dominican Republic F2 (Santo Domingo Este) Biella 7 Challenger Bratislava Challenger Segovia Challenger Meerbusch Challenger Dobrich 2 Challenger Kyiv Challenger Braga Challenger Brest Challenger Tenerife Challenger Traralgon Challenger Bengalaru 1 Challenger Cherbourg Challenger Pau Challenger Monterrey Challenger Lille Challenger Braga Challenger San Luis Potosi Challenger Morelos Challenger Shymkent 1 Challenger Tunis Challenger Shymkent 2 Challenger Poznan Challenger Blois Challenger Milan Challenger Porto Challenger San Benedetto Challenger Yokkaichi Challenger Banja Luka Challenger Toulouse Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Alicante Challenger St. Tropez Challenger Brest Challenger Yokohama Challenger Tenerife 1 Challenger Pune Challenger Maia Challenger Sanremo Challenger Murcia Challenger Ostrava Challenger Aix En Provence Challenger Tyler Challenger Troyes Challenger Salzburg Challenger Oeiras 3 Challenger Porto Challenger Mallorca Challenger Seville Challenger Brest Challenger Kobe Challenger Quimper Challenger Glasgow Challenger Sarasota Challenger Savannah Challenger Cherbourg Challenger Oeiras 4 Challenger Prague Challenger Skopje Challenger Heilbronn Challenger Milan Challenger Zagreb Challenger Brasov Challenger Tampere Challenger Bunschoten Challenger Porto 2 Challenger Shenzhen Challenger Glasgow Challenger Porto Challenger Nur-Sultan Challenger Ningboo Challenger Liuzhou Challenger Eckental Challenger Bangkok Challenger Rennes Challenger Quimper Challenger Bengalaru Challenger Cherbourg Challenger Sofia 2 Challenger Biella Challenger Seville Challenger Portoroz Challenger Ostrava Challenger Split Challenger Oeiras 3 Challenger Porto Challenger Mouilleron-Le-Captif Challenger Alicante Challenger Turin Challenger Cortina Challenger Estoril Open - Estoril Portugal Open - Oeiras Zug Challenger Millennium Estoril Open - Estoril Manama Challenger Oeiras 3 Challenger Kolkata Challenger Bordeaux Challenger Warsaw Challenger New Delhi Challenger Busan Challenger Gwangju Challenger Poznan Challenger Sao Leopoldo Challenger Cali Challenger M15+H Bressuire Abierto Mexicano Telcel - Acapulco Millennium Estoril Open - Estoril Stockholm Open - Stockholm Sydney Tennis Classic - Sydney Millennium Estoril Open - Estoril Bogota Challenger Biel Challenger St. Brieuc Challenger Millennium Estoril Open - Estoril Estoril Open - Estoril Murray River Open - Melbourne Mestre Challenger Augsburg Challenger BMW Open - Munich Gonet Geneva Open - Geneva Shenzhen Challenger Eskisehir Challenger BNP Paribas Nordic Open - Stockholm Trieste Challenger Bangkok Challenger Caltanissetta Challenger Bastad Challenger Cordenons Challenger Portugal Open - Oeiras Nordea Open - Bastad Grand Prix Hassan II - Casablanca Cassis Challenger Millennium Estoril Open - Estoril Potchefstroom 1 Challenger Lille Challenger Braga Challenger Itajai Challenger Todi Challenger Topshelf Open - 's-Hertogenbosch Lisbon Challenger M25 Roehampton Barcelona Challenger Millennium Estoril Open - Estoril Tampere Challenger Budapest Challenger Lille Challenger Campinas Challenger Alicante Challenger San Benedetto Challenger Amersfoort Challenger Portoroz Challenger Lisbon Challenger Helsinki Challenger Manama Challenger Chennai Challenger Bergamo Challenger Prague II Challenger Prostejov Challenger Rome Challenger Parma Challenger Prostejov Challenger Potchefstroom 2 Challenger St. Petersburg 1 Challenger Blois Challenger Istanbul Challenger Tata Open Maharashtra - Pune Sofia Open - Sofia Tampere Challenger Zug Challenger Meerbusch Challenger Como Challenger Braga Challenger Helsinki Challenger Maspalomas Challenger Bengaluru Challenger Pau Challenger Lugano Challenger Oeiras 4 Challenger Troisdorf Challenger Aguascalientes Challenger Perugia Challenger Orleans Challenger Poznan Challenger United Cup - Australia Malaga Challenger Hamburg Challenger Villena Challenger Ismaning Challenger Calgary Challenger Champaign Challenger Roanne Challenger Millennium Estoril Open - Estoril Bratislava 2 Challenger Suzhou Challenger Seoul Challenger Ostrava Challenger Nordea Open - Bastad Porto Challenger Grodzisk Mazowiecki Challenger European Open - Antwerp Open 13 Provence - Marseille Leon Challenger Shymkent Challenger Recanati Challenger Francavilla Challenger Brest Challenger Little Rock Challenger Grand Prix Hassan II - Marrakech Lisbon Challenger Istanbul Challenger Banja Luka Challenger Zagreb Challenger Bratislava 2 Challenger Estoril Open - Estoril Matsuyama Challenger Oeiras 3 Challenger Palmas del Mar Challenger Antofagasta Challenger Bogota Challenger Orleans Challenger Tallahassee Challenger Nordea Open - Bastad French Open - Paris Nordea Open - Bastad Miami Open - Miami French Open - Paris U.S. Open - New York Rothesay International - Eastbourne Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group II, 1R, NOR-LTU 0-5 Davis Cup, Group II, PO, NOR-MON 0-5 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, 1R, LAT-NOR 0-4 Davis Cup, Group II, 2R, NOR-DEN 1-4 Davis Cup, Group II, PO, NOR-IRL 3-1 Davis Cup, Group II, 1R, NOR-GEO 3-1 ATP Cup - Brisbane, Perth, Sydney Davis Cup, Group I, 1R, NOR-UZB 3-1 ATP Cup - Sydney Davis Cup, Qualifiers, 1R, NOR-KAZ 1-3 Wimbledon (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) All Lower level tournaments Wimbledon - London Australian Open - Melbourne Australian Open Qualifying - Doha U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne Wimbledon - London Wimbledon - London Australian Open - Melbourne U.S. Open - New York Davis Cup, Group I, SF, NOR-UKR 3-1 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group II, PO, LUX-NOR 2-3 Lisbon Challenger Davis Cup, Group II, 2R, POR-FIN 4-1 U.S. Open (juniors) Davis Cup, World Group I, PO, NOR-BAR 4-0 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, Group I, 1R, PER-NOR 4-1 Davis Cup, Group I, PO, NOR-LAT 4-0 Davis Cup, Group I, 1R, TPE-NOR 2-3 Davis Cup, Group I, 1R, NOR-IND 3-1 Davis Cup, Group II, 1R, LTU-NOR 3-2 Wimbledon (juniors) Davis Cup, Group II, 1R, EGY-NOR 4-0 U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Davis Cup, World Group, PO, NOR-SRB 0-4 U.S. Open (juniors) Braga Challenger M25 Bakio