Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004
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 Canada F3 Canada F4 Savannah Challenger Heilbronn Challenger Canada F2 Canada F1 Canada F2 Canada F3 Guatemala F1 Panama F1 Costa Rica F1 USA F4 USA F5 USA F6 Canada F2 USA F7 USA F8 Spain F39 Spain F42 El Salvador F1 Guatemala F1 Colombia F1 Colombia F2 Spain F8 Spain F10 Spain F11 Spain F14 Spain F18 Spain F27 Spain F29 Spain F34 Spain F36 Spain F37 Spain F38 Spain F40 Spain F42 Spain F2 Spain F5 Spain F7 Spain F8 Spain F11 Spain F13 Spain F14 Spain F16 Spain F17 Spain F20 Spain F23 Spain F28 Spain F15 Spain F10 Spain F32 Spain F34 Spain F35 Spain F36 Spain F37 Spain F2 Spain F3 Spain F4 Spain F5 Portugal F3 Spain F10 Spain F11 Spain F12 Spain F13 Spain F15 Spain F16 Spain F17 Slovenia F2 Slovenia F3 Morocco F3 Spain F22 Spain F23 Spain F30 Spain F32 Canada F4 Canada F5 Spain F37 Spain F39 Israel F1 Israel F2 Israel F3 Spain F5 Spain F6 Portugal F1 Portugal F2 Spain F8 Spain F9 Spain F10 Brazil F9 Brazil F10 Brazil F11 Brazil F12 Spain F15 Spain F16 Spain F20 Morocco F4 Romania F4 Canada F3 Canada F4 Canada F5 Canada F7 Spain F35 Venezuela F8 Spain F37 USA F26 Spain F38 USA F27 Spain F39 Spain F41 Turkey F1 Turkey F2 Turkey F3 Spain F1 Spain F2 Spain F3 USA F5 USA F6 Canada F1 Spain F5 Canada F2 Spain F11 Spain F12 Romania F1 Poland F1 Italy F11 Spain F15 Canada F5 Canada F7 Canada F9 Spain F32 Algeria F1 Algeria F2 Algeria F3 Australia F1 Canada F1 Canada F2 Croatia F5 Croatia F6 Russia F8 Spain F16 Spain F17 Spain F19 Canada F5 Canada F7 Canada F8 Canada F9 Brazil F12 Spain F9 Spain F16 Spain F13 Tunisia F6 Tunisia F7 Spain F14 Spain F17 Spain F18 Spain F19 Spain F21 Spain F22 Canada F6 Spain F23 Italy F22 Switzerland F3 Switzerland F4 Switzerland F5 Canada F9 Spain F28 Spain F31 Spain F32 Greece F8 Greece F9 Greece F11 Cyprus F2 Cyprus F3 Spain F1 Spain F2 Spain F4 Morocco F2 Morocco F3 Spain F7 USA F16 USA F17 USA F24 USA F25 USA F18 Canada F3 Canada F1 Canada F3 El Salvador F1 Canada F4 Canada F5 Spain F39 Spain F31 (Sabadell) Spain F32 (Melilla) Tunisia F31 (Hammamet) Tunisia F32 (Hammamet) Tunisia F36 (Hammamet) Spain F36 China F2 (Anning) China F3 (Anning) Portugal F3 (Loule) Portugal F5 (Vilamoura) Portugal F6 (Lisbon) Spain F9 (Madrid) Spain F10 (Majadahonda) Canada F3 (Calgary) Canada F4 (Kelowna) Spain F38 Switzerland F3 (Sion) Tunisia F39 (Monastir) Tunisia F40 (Monastir) Tunisia F43 (Monastir) Tunisia F44 (Monastir) Tunisia F45 (Monastir) Canada F5 Spain F20 Spain F43 Spain F1 M25 Nur-Sultan Spain F33 M25 Antalya Belgium F3 M25 Vic Challenger Banque Nationale Rimouski - Rimouski M25 Girona Countrywide Classic USTA Challenger - Carson Trofeo Sisma Mantova - Mantova Bruno & Bruno Trial Lawyers Men's Challenger - New Orleans M25 Reus M25 Glasgow M25 Valldoreix II Naples ITG Challenger - Naples Sunset Moulding Yuba City Racquet Club Challenger - Yuba City Morocco Tennis Tour - Rabat Challenger Natrel Presented by National Bank - Granby Morocco Tennis Tour - Marrakech M25 Roda de Bara M15 Ceuta Moncton Men's Challenger - Moncton Oldum Brown Vancouver Open - Vancouver Waco Tennis Challenger - Waco M25 Badalona National Bank Men's Rimouski Challenger - Rimouski Levene Gouldin & Thompson Tennis Challenger - Binghamton Spain F5 Dallas Challenger Oklahoma Challenger - Tulsa Ford Tennis Championships - Louisville M25 Sabadell M25 Cancun Challenger Banque Nationale - Granby Reggio Emilia Challenger Turin Challenger Pozoblanco Challenger Granby Challenger The 'Fitz' Casino Challenger - Tunica 2007 West Side Tennis Club Clay Court Challenger - Forest Hills Vancouver Challenger Arpa Ceramic Cup - Reggio Emilia Seville Challenger Cali Challenger Bogota Challenger Quito Challenger Santiago Challenger The Natrel's Challenger - Granby Carson Challenger Ojai Challenger Montevideo Challenger Pozoblanco Challenger Aptos Challenger Singapore Challenger Rimouski Challenger Lubbock Challenger - Lubbock Rome Challenger Alessandria Challenger San Luis Potosi Challenger - San Luis Potosi Granby Challenger Memorial A. Manfredini Sassuolo Challenger - Sassuolo M25+H Bagneres-de-Bigorre Knoxville Challenger Noumea Challenger Honolulu Challenger Ford Tennis Championships - Louisville Asuncion Challenger Carson Challenger Marrakech Challenger Challenger de Providencia-Copa Kia - Santiago Barranquilla Challenger Abierto Internacional de Salinas 'Dario Expreso' - Salinas San Luis Potosi Challenger Athens Challenger San Benedetto Challenger Orbetello Challenger Vancouver Challenger Zagreb Challenger Karshi Challenger Brasov Challenger Trnava Challenger Reggio Emilia Challenger Santos Challenger Granby Challenger Tallahassee Challenger Arad Challenger Vancouver Challenger M25 Antalya Prague Challenger Granby Challenger Zenith Tennis Cup-Harbour Club - Milan Lexington Challenger Vancouver Challenger Burnie Challenger Brasov Challenger Semgroup Challenger - Tulsa Szczecin Challenger Prague Challenger Napa Challenger JSM Challenger of Champaign - Urbana Tiburon Challenger Sao Jose Do Rio Preto Challenger Buenos Aires Challenger Maui Challenger Dallas Challenger Chennai Challenger New Delhi Challenger Irving Challenger Mersin Challenger Prague Challenger Lexington Challenger Meerbusch Challenger Como Challenger Napa Challenger Ostrava Challenger Open de Montauban - Montauban Riviera di Rimini Challenger - Rimini M25 Torello Sibiu Challenger Columbus Challenger Sacramento Challenger Happy Valley Challenger Drummondville Challenger Savannah Challenger Tallahassee Challenger Mestre Challenger Trnava Challenger Meerbusch Challenger Monterrey Challenger Brest Challenger Budapest Challenger Knoxville Challenger Panama City Challenger Savannah Challenger Vicenza Challenger Surbiton Challenger Nottingham Challenger Winnipeg Challenger Gatineau Challenger Granby Challenger Turin Challenger Segovia Challenger Meerbusch Challenger Manerbio Challenger Burnie Challenger Indian Wells Challenger Sarasota Challenger Tallahassee Challenger Aix En Provence Challenger Bordeaux Challenger Nottingham Challenger Almaty Challenger Cordenons Challenger Zhangjiagang Challenger Fairfield Challenger Burnie Challenger Aix En Provence Challenger Shymkent Challenger Santa Cruz de la Sierra 2 Challenger Gwangju Challenger Troisdorf Challenger Malaga Challenger Santiago Challenger Manta Challenger Ningboo Challenger Blois Challenger Granby Challenger Sibiu Challenger Sacramento Challenger Happy Valley Challenger Lima Challenger Noumea Challenger Tiburon Challenger Odlum Brown Vancouver Open - Vancouver Kosice Challenger Kolkata Challenger Winnetka Challenger Cary Challenger Lexington Challenger Ostrava Challenger Tallahassee Challenger Rome Challenger Bordeaux Challenger Alicante Challenger Bangkok Challenger Manta Challenger Nur-Sultan 3 Challenger Lexington Challenger Morelos Challenger Maia 1 Challenger Sacramento Challenger Tiburon Challenger Pro Challenger at Calabasas - Calabasas Morelos Challenger Barletta Challenger M15 Torello Le Gosier Challenger M15 Torello Savannah Challenger Puerto Vallarta Challenger Columbus Challenger Granby Challenger Lisbon Challenger Surbiton Challenger Rennes Challenger Winnipeg Challenger Tiburon Challenger Gatineau Challenger Fairfield Challenger Monterrey Challenger Ilkley Challenger Kosice Challenger Morelos Challenger Amersfoort Challenger Marbella Challenger Le Gosier Challenger Como Challenger Ho Chi Minh City Challenger Todi Challenger San Benedetto Challenger Spain F3 Bordeaux Challenger Launceston Challenger Genova Challenger Vancouver Challenger Spain F6 Cary Challenger Meknes Challenger Stockton Challenger Mohammedia Challenger Charlottesville Challenger Poznan Challenger Rennes Challenger Zhuhai Challenger San Francisco Challenger Alicante Challenger Sarasota Challenger Grodzisk Mazowiecki Challenger Bordeaux Challenger Heilbronn Challenger Lisbon Challenger Blois Challenger Granby Challenger Tenerife 2 Challenger Shenzhen Challenger Pozoblanco Challenger Pereira Challenger M25 Les Franqueses del Valles Sarasota Challenger Savannah Challenger Shymkent Challenger Granby Challenger Liberec Challenger Pullach Challenger Tenerife 1 Challenger Shanghai Challenger Charlottesville Challenger Knoxville Challenger Champaign Challenger Furth Challenger Kosice Challenger Indian Wells Challenger Iasi Challenger Phoenix Challenger Drummondville Challenger Monterrey Challenger Panama City Challenger Sarasota Challenger Calgary Challenger Bercuit Challenger Heilbronn Challenger Recanati Challenger The Natrel's Challenger of Granby - Granby Lexington Challenger Jinan Challenger Kaohsiung Challenger Morelos Challenger Prague Challenger Orlando Challenger Gran Canaria 1 Challenger Gran Canaria 2 Challenger Rome 1 Challenger Rome 2 Challenger Ostrava Challenger Naples Challenger - Naples Bratislava Challenger Porto Challenger Braunschweig Challenger Nur-Sultan 4 Challenger Nur-Sultan 2 Challenger Mallorca Challenger St. Tropez Challenger Braga Challenger Columbus Challenger Charlottesville Challenger Roanne Challenger Columbus Challenger Cleveland Challenger Bengalaru 1 Challenger Bengalaru 2 Challenger Concepcion 2 Challenger Pereira Challenger Aguascalientes Challenger Lyon Challenger Oeiras 3 Challenger Lexington Challenger Charlottesville Challenger St. Tropez Challenger Bogota Challenger Karshi Challenger Maspalomas Challenger Tenerife 2 Challenger Antalya Challenger Szekesfehervar Challenger Girona Challenger Madrid Challenger Cagliari Challenger Tyler Challenger Troyes Challenger Porto Challenger Shenzhen 2 Challenger Valencia Challenger Nonthaburi 2 Challenger Glasgow Challenger Tenerife 2 Challenger Swanston Challenger - Sacramento III Aberto Santa Catarina de Tenis - Florianopolis XL Bermuda Open - Bermuda Trofeo Cassa di Risparmio di Alessandria - Alessandria Villena Challenger Shanghai Challenger Columbus Challenger Tiburon Challenger Milan Challenger 2008 Lubbock Challenger - Lubbock Fairfield Challenger Ningboo Challenger Liuzhou Challenger Charlottesville Challenger Knoxville Challenger Bangkok Challenger Columbus Challenger Sacramento Challenger - Sacramento The Mercedes Benz of Calabasas - Calabasas Ostrava Challenger Heilbronn Challenger Barcelona Challenger Istanbul Challenger Marbella Challenger Cary Challenger Caloundra Challenger Potchefstroom 1 Challenger Split 2 Challenger Biella 7 Challenger Szczecin Challenger San Remo Challenger Zagreb Challenger Napoli Challenger Pau Challenger Legg Mason Tennis Classic - Washington Sarasota Challenger Chennai Open - Chennai U.S. Mens's Clay Court Championship - Houston Serbia Open - Belgrade Brisbane International - Brisbane Burnie Challenger Champaign Challenger Delray Beach International Tennis Championships - Delray Beach US Men's Clay Court Championship - Houston Brasil Open - Sao Paulo Milan Challenger Copa Claro - Buenos Aires Dubai Duty Free Tennis Championships - Dubai Sibiu Challenger Samarkand Challenger Seville Challenger Winnipeg Challenger Lermontov Challenger Sacramento Challenger Prostejov Challenger Honolulu Challenger Orlando Challenger Furth Challenger Tallahassee Challenger Delray Beach International Tennis Championships - Delray Beach Marbella Challenger Generali Open - Kitzbuhel Memphis Open - Memphis Brasil Open - Costa do Sauipe Noumea Challenger Erste Bank Open - Vienna Brisbane International - Brisbane Nature Valley International - Eastbourne Anytech365 Andalucia Open - Marbella US Men's Clay Court Championship - Houston West Lakes Challenger US Men's Clay Court Championship - Houston Porto Challenger Sydney Challenger Salinas Challenger Rimouski Challenger Rimouski Challenger Thailand Open - Bangkok VTR Open - Vina del Mar Nottingham Challenger Itajai Challenger Panama City Challenger Baton Rouge Challenger Las Vegas Challenger Charlottesville Challenger Tallahassee Challenger Millennium Estoril Open - Estoril Knoxville Challenger Las Vegas Challenger Open Parc - Lyon Abierto Mexicano - Los Cabos Bet-at-home Open - Hamburg Champaign Challenger Potchefstroom 2 Challenger SkiStar Swedish Open - Bastad New York Open - New York M25 Sierre Savannah Challenger Copa Telmex - Buenos Aires Delray Beach International Tennis Championships - Delray Beach Calgary Challenger Ostrava Challenger Girona Challenger Portoroz Challenger AIG Japan Open Tennis Championships - Tokyo Infosys Hall of Fame Open - Newport Seville Challenger United Cup - Australia Padova Challenger Braunschweig Challenger Estoril Open - Estoril Shenzhen Challenger Alphen Challenger Girona Challenger Citi Open - Washington US Men's Clay Court Championship - Houston Open de Nice Cote d'Azur - Nice Moscow Challenger Gatineau Challenger Kenitra Challenger Rome Challenger Maui Challenger Iasi Challenger US Men's Clay Court Championship - Houston Split Challenger Barcelona Open BancSabadell - Barcelona Budapest Challenger Olbia Challenger Quimper Challenger Cherbourg Challenger Drummondville Challenger Shenzhen Challenger Quanzhou Challenger Claro Open Colombia - Bogota BB&T Atlanta Open - Atlanta Segovia Challenger Tallahassee Challenger Open 13 - Marseille Open 13 Provence - Marseille Maui Challenger Knoxville Challenger Barcelona Challenger Shanghai Challenger Savannah Challenger Dallas Challenger Kobe Challenger Hua Hin Challenger Monterrey Challenger Meknes Challenger Intrum Stockholm Open - Stockholm Newport Beach Challenger Casablanca Challenger Ilkley Challenger Guadalajara Challenger Granby Challenger Meknes Challenger Bangkok Challenger ASB Classic - Auckland Stockton Challenger Garanti Koza Sofia Open - Sofia Delray Beach Open - Delray Beach US Men's Clay Court Championship - Houston Open 13 Provence - Marseille Barcelona Open BancSabadell - Barcelona Columbus Challenger TEB BNP Paribas Istanbul Open - Istanbul Newport Beach Challenger Vancouver Challenger Launceston Challenger Cary Challenger Kenitra Challenger Surbiton Challenger Abierto Mexicano - Los Cabos Winnipeg Challenger Gatineau Challenger Sibiu Challenger Vancouver Challenger Ecuador Open - Quito New Haven Challenger Cary Challenger Mouilleron-Le-Captif Challenger Las Vegas Challenger AEGON International - Eastbourne Champaign Challenger Pune Challenger Oeiras 2 Challenger Newport Beach Challenger Tenerife 3 Challenger Burnie Challenger Prague II Challenger Rome Challenger Prostejov Challenger Oeiras 3 Challenger Nur-Sultan 1 Challenger Augsburg Challenger Szczecin Challenger Prague Challenger Little Rock Challenger Orlando 2 Challenger Forli Challenger Open Parc - Lyon ABN AMRO World Tennis Tournament - Rotterdam Roanne Challenger Hamburg European Open - Hamburg Swiss Open - Gstaad Abierto Mexicano Telcel - Acapulco Skopje Challenger Palmas del Mar Challenger Davis Cup, Group 1, 1R, COL-CAN 4-1 Open Parc - Lyon Open SEAT 2008 - Barcelona Grand Prix Hassan II - Casablanca Maspalomas Challenger Brisbane - Brisbane SAP Open - San Jose China Open - Beijing Brisbane International - Brisbane Delray Beach Open - Delray Beach Segovia Challenger New York Open - New York Delray Beach Open - Delray Beach Open Parc - Lyon Rogers Cup - Montreal Rogers Masters - Toronto Morelos Challenger Tallahassee Challenger Almaty Challenger Rogers Cup - Montreal Las Franquesas del Valles Challenger Rogers Cup - Toronto Rogers Cup - Montreal BNP Paribas Open - Indian Wells BNP Paribas Open - Indian Wells Launceston Challenger Aix En Provence Challenger Bratislava Challenger Biella 2 Challenger Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Tallahassee Challenger Shenzhen 1 Challenger Cary 2 Challenger Drummondville Challenger Koblenz Challenger Hamburg Challenger Barletta Challenger Rennes Challenger New York Open - New York Nottingham Challenger Open Parc - Lyon BNP Paribas Open - Indian Wells Rogers Cup - Toronto Rogers Cup - Montreal BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Rogers Cup - Toronto Western & Southern Open - Cincinnati Rogers Cup - Montreal Miami Open - Miami Rogers Cup - Toronto Miami Open - Miami 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 Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells French Open - Paris Rogers Masters - Montreal Rogers Cup - Toronto Wimbledon - London U.S. Open - New York U.S. Open - New York Miami Open - Miami Coupe Rogers - Montreal U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London French Open - Paris U.S. Open - New York U.S. Open - New York French Open - Paris Rogers Cup - Montreal Mallorca Championships - Mallorca Rogers Cup - Toronto National Bank Open - Montreal Shanghai Rolex Masters - Shanghai National Bank Open - Toronto Miami Open - Miami BNP Paribas Open - Indian Wells Barcelona Open BancSabadell - Barcelona Hall of Fame Tennis Championships - Newport Aircel Chennai Open - Chennai Open Sabadell Atlantico - Barcelona US Men's Clay Court Championship - Houston Fever-Tree Championships - London Wimbledon - London Davis Cup, Finals, Group B Davis Cup, Qualifiers, 1R, NED-CAN 4-0 Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open (juniors) French Open (juniors) U.S. Open (juniors) Australian Open - Melbourne All Lower level tournaments Wimbledon - London U.S. Open - New York U.S. Open - New York French Open - Paris Australian Open - Melbourne Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne Australian Open Qualifying - Doha Rogers Masters - Toronto Wimbledon - London U.S. Open - New York Cassis Challenger Citi Open - Washington Davis Cup, Group 1, 1R, CAN-MEX 4-1 Davis Cup, Group I, 1R, MEX-CAN 1-4 Davis Cup, Group 1, 1R, CAN-COL 5-0 Davis Cup, Group 1, 2R, CHI-CAN 3-2 Davis Cup, World Group, 1R, JPN-CAN 4-1 Davis Cup, Group 1, 2R, BRA-CAN 3-1 Davis Cup, Group 1, PO, PER-CAN 2-3 Wimbledon (juniors) Davis Cup, Americas Group I, PO, CAN-DOM 5-0 Davis Cup, World Group, PO, ISR-CAN 2-3 Australian Open (juniors) M25 Sabadell U.S. Open (juniors) Ottignies-Louvain-la-Neuve Challenger Tulln Challenger