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 Salzburg Challenger Troyes Challenger Nordea Open - Bastad M25 Astana Porto Challenger Mallorca Challenger Seville Challenger Buenos Aires Challenger Montevideo Challenger Calgary Challenger Bratislava 2 Challenger Braga Challenger Davis Cup, Group I, 1R, PER-NOR 4-1 Bogota Challenger Lisbon Challenger Lima 2 Challenger Santa Fe 2 Challenger Ismaning Challenger Champaign Challenger M15 Kalmar Todi Challenger M25 Loughborough Manama Challenger Oeiras 2 Challenger M25 Esch/Alzette Oeiras 3 Challenger Oeiras 1 Challenger M25 Sunderland Tenerife 2 Challenger M25 Quinta Do Lago M25 Vila Real de Santo Antonio Quimper Challenger M25 Brussels Tenerife 3 Challenger M25 Faro M25 Badalona M25 Tarragona Girona Challenger M25 Varnamo Murcia Challenger Savannah Challenger Tulln Challenger M25 Roehampton Millennium Estoril Open - Estoril Madrid Challenger Sarasota Challenger Francavilla Challenger Grand Prix Hassan II - Marrakech Zagreb Challenger M25 Roehampton Oeiras 4 Challenger M25 Aarhus M25 Grasse Poznan Challenger M15 Ystad Porto Challenger Brasov Challenger Milan Challenger Astana Challenger Seville Challenger Sibiu Challenger Porto 2 Challenger M25 Oldenzaal Lisbon Challenger M25 Falun M25 Vila Real de Santo Antonio M25 Nevers Braga Challenger M25 Glasgow Campinas Challenger Curitiba Challenger Valencia Challenger Oeiras 2 Challenger Guayaquil Challenger M25 Norwich Lima 2 Challenger Helsinki Challenger Montevideo Challenger M25 Quinta do Lago Tenerife 1 Challenger Lille Challenger Lugano Challenger M25 Vale do Lobo Grodzisk Mazowiecki Challenger Glasgow Challenger M25 Esch/Alzette Busan Challenger M25 Vale do Lobo M25 Vila Real de Santo Antonio Oeiras 3 Challenger Cherbourg Challenger Oeiras 4 Challenger M25 Vale do Lobo Manama Challenger San Marino Challenger Nottingham Challenger Oeiras 1 Challenger Oeiras 5 Challenger Villena Challenger M25 Porto M25 Figueira da Foz Gwangju Challenger Poznan Challenger Estoril Challenger Girona Challenger Tampere Challenger Morelia Challenger Zagreb Challenger Cuernavaca Challenger M25 Reus Prague Challenger Banja Luka Challenger Skopje Challenger Vicenza Challenger Heilbronn Challenger Perugia Challenger M25 Mataro Wimbledon - London Nordea Open - Bastad Pozoblanco Challenger M25 Sintra U.S. Open - New York Porto Challenger Grodzisk Mazowiecki Challenger Istanbul Challenger Helsinki Challenger Roanne Challenger Orleans Challenger M25 Sintra BNP Paribas Nordic Open - Stockholm Bratislava 2 Challenger Lyon Challenger M25 Vale do Lobo Spain F32 Portugal F4 Portugal F5 Portugal F6 Spain F7 Portugal F1 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 Colombia F2 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 Italy F5 Usa F13 Usa F15 Brazil F22 Brazil F31 Brazil F32 Brazil F33 Brazil F1 Colombia F1 Colombia F2 USA F7 Brazil F26 Brazil F33 Portugal F1 Spain F10 Spain F13 Portugal F10 Portugal F11 Turkey F44 Spain F40 Spain F41 Spain F42 Bulgaria F3 Spain F21 Portugal F7 Portugal F8 Portugal F10 Portugal F11 Norway F1 Norway F2 Tunisia F5 Tunisia F6 Tunisia F7 Tunisia F8 Tunisia F11 Tunisia F12 Tunisia F13 Italy F6 Italy F7 Bosnia & Herzegovina F1 Italy F15 Turkey F45 Spain F3 Spain F4 Spain F5 Italy F6 Italy F23 Spain F31 Spain F32 France F22 France F23 Norway F2 Great Britain F10 Great Britain F11 Turkey F2 Montevideo Challenger Turkey F3 Turkey F4 Turkey F5 Great Britain F3 France F5 Italy F3 Spain F7 Spain F8 Italy F8 Italy F9 Spain F13 Spain F18 Spain F19 Spain F20 Spain F24 Spain F25 Italy F26 Belgium F12 Sweden F5 Norway F1 Norway F2 Norway F3 Estonia F4 Turkey F1 (Antalya) Turkey F2 (Antalya) Turkey F3 (Antalya) Great Britain F3 (Shrewsbury) Spain F6 (Cornella) Portugal F1 (Vale Do Lobo) France F5 (Toulouse) Bahrain F1 (Manama) Bahrain F2 (Manama) Nigeria F1 (Abuja) Nigeria F2 (Abuja) Nigeria F3 (Abuja) Spain F15 (Sta. Margarida Montbui) Tunisia F22 (Hammamet) Tunisia F23 (Hammamet) Germany F5 (Kamen) Poland F4 (Mragowo) Austria F2 (Kramsach) Austria F3 (Wels) Portugal F14 (Porto) Turkey F30 (Istanbul) Turkey F31 (Istanbul) Spain F28 (Oviedo) Spain F29 (Sevilla) Spain F30 (Madrid) Spain F31 (Sabadell) Egypt F28 (Sharm El Sheikh) Egypt F29 (Sharm El Sheikh) Egypt F31 (Sharm El Sheikh) Egypt F32 (Sharm El Sheikh) Egypt F33 (Sharm El Sheikh) Dominican Republic F1 (Santo Domingo Este) Dominican Republic F2 (Santo Domingo Este) Dominican Republic F3 (Santo Domingo Este) Egypt F4 (Sharm El Sheikh) Egypt F5 (Sharm El Sheikh) France F4 (Toulouse) France F5 (Poitiers) Spain F16 (Palma del Rio) Spain F17 (Bakio) Germany F8 (Kassel) Spain F23 (Vigo) Spain F29 (Sabadell) M15 Sharm El Sheikh M15 Sharm El Sheikh M25 Bolton M25 Donostia-San-Sebastian M15 Sintra M15 Sintra M25 Pardubice M25 Porto M25+H Rodez M25 Hamburg M25 Vale Do Lobo M15+H Bressuire M25 Villena M25 Vale do Lobo M25 Faro M25 Vale do Lobo M25 La Nucia M25 Meerbusch M25 Angers M25 Prague M25 Jablonec nad Nisou M25 Most M25 Grasse M25 Montauban M25 Bourg-en-Bresse M25 Jonkoping M25 Nevers M25 Hamburg M25 Portimao M25 Loule Naples Challenger - Naples 2007 Knoxville Challenger - Knoxville Bancolombia Open - Bogota Abierto Internacional de Salinas 'Dario Expreso' - Salinas Roma Open Challenger - Rome III Challenger Isla de Gran Canaria Ciudad de Telde - Telde San Remo Tennis Cup - San Remo Nielsen USTA Pro Tennis Championship - Winnetka Challenger Banque Nationale - Granby Moncton Men's Challenger - Moncton Oldum Brown Vancouver Open - Vancouver Levene Gouldin & Thompson Tennis Challenger - Binghamton GHI Bronx Tennis Classic - Bronx Semgroup Challenger - Tulsa Sacramento Challenger - Sacramento Ford Tennis Championships - Louisville National Bank Men's Rimouski Challenger - Rimouski JSM Challenger of Champaign - Urbana Challenger Britania Zavaleta - Puebla Abierto Internacional Varonil Ciudad de Cancun - Cancun Sao Paulo Challenger Salinas Challenger Tunis Challenger Lexington Challenger Campos do Jordao Challenger Brasilia Challenger Salvador Challenger Belo Horizonte Challenger Montevideo Challenger Buenos Aires Challenger Asuncion Challenger Santiago Challenger Sao Paulo Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Le Gosier Challenger Recife Challenger Prague Challenger Bordeaux Challenger Campos do Jordao Challenger Campinas Challenger Recife Challenger Belo Horizonte Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Buenos Aires Challenger Guayaquil Challenger Montevideo Challenger Sao Paulo Challenger Bucaramanga Challenger Florianopolis Challenger Le Gosier Challenger Dallas Challenger Blumenau Challenger Santos Challenger Sao Paulo Challenger Bordeaux Challenger Caltanissetta Challenger Kosice Challenger Marburg Challenger Arad Challenger Timisoara Challenger Tampere Challenger St. Remy Challenger Campinas Challenger Belem Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Sao Leopoldo Challenger ATP Challenger Tour Finals Sao Paulo Challenger Bucaramanga Challenger Itajai Challenger Santos Challenger Sao Paulo Challenger Bordeaux Challenger Braunschweig Challenger Campinas Challenger Porto Alegre Challenger Sao Paulo Challenger Sao Jose Do Rio Preto Challenger Buenos Aires Challenger Montevideo Challenger Bogota Challenger Guayaquil Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Panama City Challenger Barranquilla Challenger Itajai Challenger Sao Paulo Challenger Santos Challenger Aix En Provence Challenger Furth Challenger Blois Challenger Marburg Challenger Braunschweig Challenger Tampere Challenger Genova Challenger Campinas Challenger Porto Alegre Challenger Charlottesville Challenger Knoxville Challenger Champaign Challenger Bucaramanga Challenger Dallas Challenger Santo Domingo Challenger Irving Challenger Le Gosier Challenger Sarasota Challenger Savannah Challenger Aix En Provence Challenger Bordeaux Challenger Mestre Challenger Caltanissetta Challenger Blois Challenger Braunschweig Challenger Biella Challenger Cortina Challenger Aptos Challenger Portoroz Challenger Vancouver Challenger Manerbio Challenger Como Challenger Meknes Challenger Campinas Challenger Porto Alegre Challenger Sao Paulo Challenger Corrientes Challenger Santiago Challenger Lima Challenger Guayaquil Challenger Buenos Aires Challenger Montevideo Challenger Bangkok Challenger Rio De Janeiro Challenger Bucaramanga Challenger Jonkoping Challenger Kazan Challenger Napoli Challenger Barletta Challenger Turin Challenger Bordeaux Challenger Mestre Challenger Vicenza Challenger Prostejov Challenger Milan Challenger Braunschweig Challenger Segovia Challenger Alphen Challenger Banja Luka Challenger Orleans Challenger Lima Challenger Guayaquil Challenger Barletta Challenger Francavilla Challenger Rome Challenger Bordeaux Challenger Lisbon Challenger Todi Challenger Milan Challenger Braunschweig Challenger Scheveningen Challenger Floridablanca Challenger Santo Domingo Challenger Como Challenger Seville Challenger Rome Challenger Campinas Challenger Buenos Aires Challenger Lima Challenger Guayaquil Challenger Santiago Challenger Rennes Challenger Santiago Challenger Lille Challenger Le Gosier Challenger St. Brieuc Challenger Barletta Challenger Guadalajara Challenger Tunis Challenger Leon Challenger Puerto Vallarta Challenger Braga Challenger Bordeaux Challenger Loughborough Challenger Shymkent Challenger Tampere Challenger Segovia Challenger Como Challenger Genova Challenger Zhangjiagang Challenger Shanghai Challenger Kaohsiung Challenger Biella Challenger Campinas Challenger Santo Domingo Challenger Barcelona Challenger Ningboo Challenger Lima Challenger Eckental Challenger Guayaquil Challenger Bratislava Challenger Montevideo Challenger Bangalore Challenger Buenos Aires Challenger Pune Challenger Orlando Challenger Columbus Challenger Da Nang Challenger Newport Beach Challenger Punta Del Este Challenger Budapest Challenger Chennai Challenger Bangkok Challenger Bangkok Challenger Yokohama Challenger Barletta Challenger Sarasota Challenger San Luis Potosi Challenger Leon Challenger Francavilla Challenger Braga Challenger Shymkent Challenger Lisbon Challenger Samarkand Challenger Jerusalem Challenger Poznan Challenger Recanati Challenger Nur-Sultan Challenger San Benedetto Challenger Tampere Challenger Sopot Challenger Manerbio Challenger Portoroz Challenger Cassis Challenger Glasgow Challenger Orleans Challenger Buenos Aires Challenger Nur-Sultan Challenger Campinas Challenger Santo Domingo Challenger Brest Challenger Eckental Challenger Helsinki Challenger Maia Challenger Ann Arbor Challenger Bangkok Challenger Rennes Challenger Quimper Challenger Cherbourg Challenger Bergamo Challenger Nur-Sultan Challenger Sibiu Challenger Lisbon Challenger Sao Paulo Challenger Maia Challenger Potchefstroom 1 Challenger Potchefstroom 2 Challenger St. Petersburg 1 Challenger St. Petersburg 2 Challenger Lille Challenger Oeiras 1 Challenger Oeiras 2 Challenger Oeiras 3 Challenger Oeiras 4 Challenger Biella 7 Challenger Forli Challenger Milan Challenger Porto Challenger Amersfoort Challenger Tampere Challenger Poznan Challenger Trieste Challenger San Marino Challenger Meerbusch Challenger Verona Challenger Warsaw Challenger Mallorca Challenger Helsinki Challenger Maia 1 Challenger Maia 2 Challenger Bendigo Challenger Cherbourg Challenger Forli 4 Challenger Pau Challenger Forli 5 Challenger Monterrey Challenger Roseto Degli Abruzzi 2 Challenger Lille Challenger Zadar Challenger Oeiras 1 Challenger Mexico City Challenger Oeiras 2 Challenger Madrid Challenger San Luis Potosi Challenger Aguascalientes Challenger Morelos Challenger Aix En Provence Challenger Bordeaux Challenger Shymkent 1 Challenger Shymkent 2 Challenger Forli 6 Challenger Poznan Challenger Perugia Challenger Montechiarugolo - Parma Challenger Blois Challenger Milan Challenger Cali Challenger Braunschweig Challenger Bogota Challenger Zug Challenger Cordenons Challenger San Marino Challenger Lima Challenger Banja Luka Challenger Como Challenger Seville Challenger Braga Challenger Orleans Challenger Lisbon Challenger Mouilleron-Le-Captif Challenger Campinas Challenger Rio De Janeiro Challenger Vilnus Challenger Brest Challenger Las Vegas Challenger Bratislava Challenger Montevideo Challenger Helsinki Challenger Sao Leopoldo Challenger Maspalomas Challenger Canberra Challenger Tenerife 1 Challenger Ottignies-Louvain-la-Neuve Challenger Manama Challenger Monterrey Challenger Pau Challenger Waco Challenger Puerto Vallarta Challenger Lugano Challenger Biel Challenger Las Franquesas del Valles Challenger Sanremo Challenger Girona Challenger Murcia Challenger Madrid Challenger Rome Challenger Prague 2 Challenger Tunis Challenger Little Rock Challenger Tyler Challenger Palmas del Mar Challenger Antofagasta Challenger Lyon Challenger Estoril Open - Estoril Estoril Open - Estoril Gerry Weber Open - Halle Delray Beach International Tennis Championships - Delray Beach Estoril Open - Estoril Pilot Pen Tennis - New Haven Estoril Open - Estoril Estoril Open - Estoril Campbells Hall of Fame Tennis Championships - Newport Estoril Open - Estoril Open de Nice Cote d'Azur - Nice VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Estoril Open - Estoril VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Delray Beach International Tennis Championships - Delray Beach Portugal Open - Oeiras U.S. National Indoor Tennis Championships - Memphis Delray Beach Open - Delray Beach Brasil Open - Sao Paulo Portugal Open - Oeiras Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg Erste Bank Open - Vienna Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Abierto Mexicano Telcel - Acapulco US Men's Clay Court Championship - Houston BB&T Atlanta Open - Atlanta Millennium Estoril Open - Estoril Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Apia International - Sydney Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Open Parc - Lyon Bet-at-home Open - Hamburg Generali Open - Kitzbuhel Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Abierto Mexicano - Los Cabos Millennium Estoril Open - Estoril Nordea Open - Bastad Stockholm Open - Stockholm Sydney Tennis Classic - Sydney Millennium Estoril Open - Estoril Nordea Open - Bastad United Cup - Australia BMW Open - Munich Gonet Geneva Open - Geneva Rothesay International - Eastbourne Tallahassee Challenger Sony Ericsson Open - Miami Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Miami Open - Miami U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London 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 Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 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, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group II, 1R, LTU-NOR 3-2 Davis Cup, Group II, PO, LUX-NOR 2-3 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group II, 1R, LAT-NOR 0-4 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, Group II, 2R, NOR-DEN 1-4 Davis Cup, Group II, 1R, EGY-NOR 4-0 Davis Cup, Group I, 2R, SWE-POR 3-2 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, World Group I, PO, NOR-BAR 4-0 Davis Cup, Group I, 1R, NOR-UZB 3-1 Davis Cup, Group I, 1R, ROU-POR 3-1 ATP Cup - Sydney Davis Cup, Group I, SF, NOR-UKR 3-1 Davis Cup, Qualifiers, 1R, NOR-KAZ 1-3 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, Group I, 1R, NOR-IND 3-1 Davis Cup, World Group, PO, NOR-SRB 0-4 Davis Cup, Group I, 1R, TPE-NOR 2-3 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) All Lower level tournaments Davis Cup, Group I, PO, NOR-LAT 4-0 Olympics - Rio de Janeiro