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 Bloomfield Hills Challenger Wimbledon - London Infosys Hall of Fame Open - Newport Mallorca Challenger U.S. Open - New York Seville Challenger Lisbon Challenger Shanghai Rolex Masters - Shanghai Buenos Aires Challenger Shenzhen 1 Challenger Playford Challenger Shenzhen 2 Challenger Santa Fe 2 Challenger Calgary Challenger Montevideo Challenger Drummondville Challenger Brisbane International - Brisbane Oeiras 2 Challenger Oeiras 1 Challenger Dallas Open - Dallas Australian Open - Melbourne Manama Challenger Tenerife 2 Challenger Cleveland Challenger Abierto Mexicano Telcel - Acapulco Tenerife 3 Challenger US Men's Clay Court Championship - Houston Girona Challenger Taipei Challenger San Luis Potosi Challenger Murcia Challenger Oeiras 3 Challenger Wimbledon - London Gwangju Challenger Millennium Estoril Open - Estoril Madrid Challenger Shenzhen 1 Challenger Busan Challenger Francavilla Challenger National Bank Open - Montreal Guangzhou Challenger Zagreb Challenger Oeiras 4 Challenger Boss Open - Stuttgart Poznan Challenger Surbiton Challenger Todi Challenger Terra Wortmann Open - Halle Porto Challenger Brasov Challenger Milan Challenger Winston-Salem Open - Winston-Salem U.S. Open - New York Sibiu Challenger Seville Challenger Porto 2 Challenger Lisbon Challenger Shanghai Rolex Masters - Shanghai Braga Challenger Curitiba Challenger Hangzhou Challenger Swiss Indoors Basel - Basel Rolex Paris Masters - Paris Guayaquil Challenger Belgrade Open - Belgrade Montevideo Challenger M25 Quinta do Lago BNP Paribas Open - Indian Wells Dallas Open - Dallas Mexico City Challenger M25 Vila Real de Santo Antonio Abierto Mexicano Telcel - Acapulco San Luis Potosi Challenger Brisbane International - Brisbane Adelaide International - Adelaide Oeiras 1 Challenger M25 Vila Real de Santo Antonio Australian Open - Melbourne Oeiras 2 Challenger M25 Porto M25 Figueira da Foz Estoril Challenger Rothesay International - Eastbourne Miami Open - Miami Morelia Challenger US Men's Clay Court Championship - Houston M25 Reus Oeiras 5 Challenger Gonet Geneva Open - Geneva Birmingham Challenger Boss Open - Stuttgart French Open - Paris cinch Championships - London National Bank Open - Toronto Wimbledon - London Mifel Tennis Open - Los Cabos Cincinnati Open - Cincinnati U.S. Open - New York M25 Sintra Shanghai Rolex Masters - Shanghai Chengdu Open - Chengdu Almaty Open - Almaty Porto Challenger Portugal F4 Spain F17 Mexico F11 USA F2 USA F3 Spain F32 USA F1 Canada F1 Czech Rep. F2 Czech Rep. F3 Spain F18 Usa F14 Usa F15 Usa F18 Australia F8 Australia F9 Australia F10 Australia F1 Usa F5 Portugal F3 Switzerland F3 Spain F11 Italy F5 Usa F13 Netherlands F2 Usa F15 Brazil F22 USA F23 Brazil F31 Brazil F32 Australia F11 Brazil F33 New Zealand F1 Australia F12 Australia F13 Brazil F1 Canada F2 Colombia F1 Spain F18 Colombia F2 Australia F1 USA F7 Australia F3 Australia F4 Great Britain F7 Poland F1 Poland F2 Portugal F5 Portugal F6 Poland F4 Spain F7 Italy F16 Portugal F1 Portugal F2 Portugal F3 Italy F17 France F12 Italy F22 Brazil F26 Sweden F5 Italy F23 USA F26 Mexico F10 Australia F11 Australia F12 Mexico F1 Australia F3 Costa Rica F1 Colombia F2 Canada F3 Usa F7 Usa F8 Australia F11 Brazil F33 Hong Kong F2 Australia F1 Australia F5 Chile F3 Romania F7 Australia F4 China F6 Turkey F22 (Antalya) M15 Sintra M15 Sintra M25 Porto M25 Vale Do Lobo M25 Villena M25 Vale do Lobo M25 Faro M25 Vale do Lobo Montevideo Challenger M25 Quinta Do Lago M25 Vale do Lobo M25 Mataro VTR Open - Vina del Mar Truist Atlanta Open - Atlanta 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 Challenger Britania Zavaleta - Puebla Abierto Internacional Varonil Ciudad de Cancun - Cancun Salinas Challenger Naples Challenger - Naples 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 Burnie Challenger Caloundra Challenger Dallas Challenger Le Gosier Challenger Recife Challenger Prague Challenger Bordeaux Challenger Campos do Jordao Challenger Trani Challenger Campinas Challenger Recife Challenger Belo Horizonte Challenger Sao Jose Do Rio Preto Challenger Medellin Challenger Sao Leopoldo Challenger Buenos Aires Challenger Guayaquil Challenger Montevideo Challenger Sao Paulo Challenger Bucaramanga Challenger Burnie Challenger Caloundra Challenger Florianopolis Challenger Rabat Challenger Marrakech Challenger Le Gosier Challenger Dallas Challenger St. Brieuc Challenger Blumenau Challenger Santos Challenger Sao Paulo Challenger Rome Challenger Bordeaux Challenger Caltanissetta Challenger Furth Challenger Nottingham-2 Challenger Kosice Challenger Marburg Challenger Winnetka Challenger Arad Challenger Timisoara Challenger Granby Challenger Lexington Challenger Tampere Challenger Vancouver Challenger St. Remy Challenger Trnava Challenger Campinas Challenger Lermontov 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 Burnie Challenger West Lakes Challenger Sydney Challenger Kyoto Challenger Itajai Challenger Santos Challenger Sao Paulo Challenger Rio Quente Challenger Bordeaux Challenger Nottingham Challenger Braunschweig Challenger Lexington Challenger Aptos Challenger Campinas Challenger Porto Alegre Challenger Sao Paulo Challenger Sao Jose Do Rio Preto Challenger Buenos Aires Challenger Melbourne Challenger Traralgon Challenger Bogota Challenger Guayaquil Challenger Yokohama Challenger Sao Paulo Challenger Bucaramanga Challenger Burnie Challenger Dallas Challenger West Lakes Challenger Panama City Challenger Barranquilla Challenger Itajai Challenger Santiago Challenger Sao Paulo Challenger Santos Challenger Cali Challenger Aix En Provence Challenger Heilbronn Challenger Nottingham Challenger Furth Challenger Blois Challenger Marburg Challenger Braunschweig Challenger Lexington Challenger Tampere Challenger Bangkok Challenger Genova Challenger Shanghai Challenger Campinas Challenger Porto Alegre Challenger Charlottesville Challenger Knoxville Challenger Champaign Challenger Toyota Challenger Bucaramanga Challenger Hong Kong Challenger Dallas Challenger Burnie Challenger Santo Domingo Challenger New Delhi Challenger Kolkata Challenger Irving Challenger Le Gosier Challenger San Luis Potosi Challenger Sarasota Challenger Savannah Challenger Anning Challenger Aix En Provence Challenger Bordeaux Challenger Mestre Challenger Caltanissetta Challenger Blois Challenger Braunschweig Challenger Aptos Challenger Vancouver Challenger Como Challenger Meknes Challenger Campinas Challenger Porto Alegre Challenger Sao Paulo Challenger Ho Chi Minh City Challenger Corrientes Challenger Ningboo Challenger Santiago Challenger Lima Challenger Guayaquil Challenger Charlottesville Challenger Buenos Aires Challenger Knoxville Challenger Montevideo Challenger Champaign Challenger Toyota Challenger Bangkok Challenger Rio De Janeiro Challenger Bucaramanga Challenger Maui Challenger Jonkoping Challenger Kazan Challenger Napoli Challenger Barletta Challenger Turin Challenger Bordeaux Challenger Bangkok Challenger Mestre Challenger Vicenza Challenger Prostejov Challenger Manchester Challenger Surbiton Challenger Milan Challenger Braunschweig Challenger Winnetka Challenger Lima Challenger Traralgon Challenger Canberra Challenger Kobe Challenger Toyota 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 Montevideo Challenger Santiago Challenger Rennes Challenger Santiago Challenger Le Gosier Challenger Barletta Challenger Tunis Challenger Braga Challenger Como Challenger Genova Challenger Cary Challenger Columbus Challenger Biella Challenger Tiburon Challenger Stockton Challenger Campinas Challenger Santo Domingo Challenger Traralgon Challenger Lima Challenger Canberra Challenger Guayaquil Challenger Montevideo Challenger Buenos Aires Challenger Orlando Challenger Columbus Challenger Burnie Challenger Chennai Challenger Bangkok Challenger Bangkok Challenger Yokohama Challenger Shenzhen Challenger Zhangjiagang Challenger Taipei City Challenger Barletta Challenger Anning Challenger Sarasota Challenger Francavilla Challenger Nanchang Challenger Braga Challenger Lisbon Challenger Nottingham Challenger Ilkley Challenger Nur-Sultan Challenger Tampere Challenger Chengdu Challenger Sopot Challenger Yokkaichi Challenger Baotou Challenger Jinan Challenger Buenos Aires Challenger Campinas Challenger Santo Domingo Challenger Fairfield Challenger Las Vegas Challenger Traralgon Challenger Playford Challenger Kobe Challenger Pune Challenger Ann Arbor Challenger Bengalaru Challenger Lisbon Challenger Sao Paulo Challenger Maia Challenger Nur-Sultan 2 Challenger Biella 3 Challenger Cleveland 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 San Marino Challenger Verona Challenger Istanbul 2 Challenger Maia 1 Challenger Maia 2 Challenger Bendigo Challenger Cherbourg Challenger Forli 4 Challenger Forli 5 Challenger Roseto Degli Abruzzi 2 Challenger Zadar Challenger Oeiras 1 Challenger Oeiras 2 Challenger Madrid Challenger Aix En Provence Challenger Bordeaux Challenger Forli 6 Challenger Surbiton Challenger Perugia Challenger Montechiarugolo - Parma Challenger Braunschweig Challenger Porto Challenger National Bank Men's Rimouski Challenger - Rimouski JSM Challenger of Champaign - Urbana Sao Paulo Challenger Lima Challenger Cassis Challenger Istanbul Challenger Braga Challenger Lisbon Challenger Campinas Challenger Seoul Challenger Rio De Janeiro Challenger Busan Challenger Las Vegas Challenger Playford Challenger Sydney Challenger Montevideo Challenger Kobe Challenger Sao Leopoldo Challenger Yokkaichi Challenger Canberra Challenger Nonthaburi 3 Challenger Burnie Challenger Chennai Challenger Monterrey Challenger Bengaluru Challenger Pune Challenger Waco Challenger Puerto Vallarta Challenger Las Franquesas del Valles Challenger Mexico City Challenger Girona Challenger San Luis Potosi Challenger Morelos Challenger Seoul Challenger Leon Challenger Gwangju Challenger Prague 2 Challenger Yokohama Challenger Tenerife 1 Challenger Phoenix Challenger Valencia Challenger Porto Challenger Stanford Challenger Lima 2 Challenger Drummondville Challenger Oeiras 3 Challenger Braga Challenger Campinas Challenger Guayaquil Challenger Lima 2 Challenger Pozoblanco Challenger Girona Challenger Oeiras 4 Challenger Newport Beach Challenger Jingshan Challenger Jinan Challenger Newport 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 Medibank International - Sydney Estoril Open - Estoril Campbells Hall of Fame Tennis Championships - Newport Brisbane International - Brisbane Estoril Open - Estoril Open de Nice Cote d'Azur - Nice Brisbane International - Brisbane Apia International - Sydney Brasil Open - Sao Paulo Copa Claro - Buenos Aires Estoril Open - Estoril Campbell's Hall of Fame Tennis Championships - Newport Brisbane International - Brisbane Apia International - Sydney VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Delray Beach International Tennis Championships - Delray Beach Portugal Open - Oeiras AEGON Championships - London Claro Open Colombia - Bogota Citi Open - Washington Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo Brisbane International - Brisbane U.S. National Indoor Tennis Championships - Memphis Delray Beach Open - Delray Beach Brasil Open - Sao Paulo Portugal Open - Oeiras AEGON Championships - London Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg Citi Open - Washington Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Erste Bank Open - Vienna Swiss Indoors Basel - Basel Brisbane International - Brisbane Qatar ExxonMobil Open - Doha Abierto Mexicano Telcel - Acapulco US Men's Clay Court Championship - Houston Open de Nice Cote d'Azur - Nice BB&T Atlanta Open - Atlanta Citi Open - Washington Winston-Salem Open - Winston-Salem Shenzhen Open - Shenzhen China Open - Beijing Millennium Estoril Open - Estoril Brisbane International - Brisbane Apia International - Sydney Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril AEGON Championships - London SkiStar Swedish Open - Bastad Hall of Fame Tennis Championships - Newport Citi Open - Washington Konzum Croatia Open - Umag BB&T Atlanta Open - Atlanta 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 Brisbane International - Brisbane Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Hall of Fame Open - Newport BB&T Atlanta Open - Atlanta Citi Open - Washington Abierto Mexicano - Los Cabos Winston-Salem Open - Winston-Salem Brisbane International - Brisbane Sydney International - Sydney Millennium Estoril Open - Estoril Chengdu Open - Chengdu Adelaide International - Adelaide Tata Open Maharashtra - Pune St. Petersburg Open - St. Petersburg bett1HULKS Championships - Cologne Astana Open - Nur-Sultan Murray River Open - Melbourne Mercedes Cup - Stuttgart Noventi Open - Halle Nature Valley International - Eastbourne Citi Open - Washington Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Sofia Open - Sofia Kremlin Cup - Moscow Emilia-Romagna Open - Parma Astana Open - Nur-Sultan Millennium Estoril Open - Estoril Open Parc - Lyon Libema Open - 's-Hertogenbosch cinch Championships - London Viking International - Eastbourne Hall of Fame Open - Newport Truist Atlanta Open - Atlanta Citi Open - Washington Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo San Diego Open - San Diego Adelaide International 1 - Adelaide Almaty Open - Almaty Singapore Tennis Open - Singapore Generali Open - Kitzbuhel Abierto de Tenis Mifel - Los Cabos Citi Open - Washington Rakuten Japan Open - Tokyo 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 Shanghai Rolex Masters - Shanghai Rogers Cup - Toronto Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Rogers Cup - Montreal Western & Southern Open - Cincinnati Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Miami Open - Miami Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami Rogers Cup - Toronto Rolex Paris Masters - Paris National Bank Open - Montreal Miami Open - Miami National Bank Open - Toronto Australian Open - Melbourne Australian Open - Melbourne 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 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 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 - 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 French Open - Paris 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 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 I, 2R, POR-UKR 4-1 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, 1R, ROU-POR 3-1 ATP Cup - Sydney Davis Cup, Group I, PO, POR-POL 4-0 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) Wimbledon (juniors) Australian Open (juniors) U.S. Open (juniors) Australian Open (Australia, Wildcard) Australian Open (Australia, Wildcard) All Lower level tournaments Olympics - Rio de Janeiro Olympics - Tokyo U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 French Open (juniors)