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 M15 Budapest Chengdu Open - Chengdu M15 Kursumlijska Banja Bengaluru Challenger M25 New Delhi M15 Tianjin M15 Monastir M15 Monastir Croatia F3 Bosnia/Herzegovina F1 Bosnia/Herzegovina F2 Bosnia/Herzegovina F3 Serbia F1 Serbia F2 Tunisia F5 Tunisia F6 Nigeria F3 Nigeria F4 Turkey F3 Russia F2 Turkey F4 Turkey F5 Turkey F6 Bosnia/Herzegovina F4 Portugal F1 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 Serbia F2 Syria F1 Syria F2 Russia F3 Serbia F7 Croatia F8 Bosnia/Herzegovina F5 Bosnia/Herzegovina F6 Croatia F10 Turkey F12 Turkey F13 Germany F3 Germany F4 Bosnia/Herzegovina F1 Bosnia & Herzegovina F2 Kazakhstan F1 Kazakhstan F2 Turkey F6 France F6 Turkey F7 France F7 Italy F6 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 Bosnia & Herzegovina F5 Serbia F2 Estonia F1 Estonia F2 Serbia F4 Serbia F5 Croatia F7 Sudan F1 Sudan F2 Turkey F4 Spain F7 Italy F3 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 Serbia F2 Serbia F3 Croatia F8 Turkey F32 Turkey F33 Turkey F34 Turkey F35 Turkey F1 Turkey F2 Turkey F3 Turkey F4 Croatia F1 Croatia F2 Italy F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 Bosnia & Herzegovina F5 Serbia F1 Serbia F2 Serbia F3 Serbia F4 Serbia F6 Serbia F7 Serbia F8 Croatia F8 Croatia F9 Serbia F11 Serbia F13 Serbia F14 Croatia F11 Croatia F12 Turkey F43 Turkey F44 Turkey F45 Turkey F46 Croatia F1 Croatia F2 Canada F1 Canada F2 Bosnia & Herzegovina F1 Turkey F35 Senegal F1 Senegal F2 Turkey F49 Turkey F50 France F1 Turkey F2 Turkey F3 Turkey F5 Turkey F6 Greece F1 Greece F2 Greece F3 Greece F4 Turkey F22 Turkey F23 Turkey F24 Turkey F25 Egypt F27 Egypt F28 Egypt F29 Senegal F1 Senegal F2 Turkey F46 Turkey F27 Turkey F28 Turkey F29 Germany F18 Egypt F40 Egypt F41 Nigeria F4 Nigeria F2 Egypt F13 Croatia F1 Egypt F14 Egypt F1 (Sharm El Sheikh) Egypt F2 (Sharm El Sheikh) Egypt F3 (Sharm El Sheikh) Egypt F8 (Sharm El Sheikh) Egypt F9 (Sharm El Sheikh) Egypt F12 (Sharm El Sheikh) Serbia & Montenegro F6 Egypt F13 (Sharm El Sheikh) Bosnia & Herzegovina F5 Egypt F7 (Sharm El Sheikh) Egypt F8 (Sharm El Sheikh) Hungary F6 (Gyor) M25 Kiseljak Croatia F5 M25 Gyor M25 Falun M25+H Lagos M25+H Lagos M15 Opava M15 Prague M15 Monastir M25 Nussloch M25 Aktobe M15 Trnava M15 Doha M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Cairo M15 Cairo M15 Cairo M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Sibenik M15 Prijedor M25 Kiseljak M15 Sarajevo M15 Sibenik M25 Belgrade M15 Doboj M25 Prostejov M15 Pirot M25 Skopje Bosnia/Herzegovina F1 Serbia&Montenegro F1 M25 Split Bosnia/Herzegovina F1 Bosnia/Herzegovina F2 M25 Maribor M25 Sunderland M25 Jakarta Serbia & Montenegro F3 Serbia & Montenegro F4 Croatia F4 Croatia F5 M25 Jakarta M15 Brcko Tunisia F7 Croatia F4 Serbia F3 Russia F3 Serbia F4 Serbia F5 Croatia F9 Tunisia F4 Bosnia/Herzegovina F2 Bosnia/Herzegovina F3 Serbia F1 Ukraine F3 Austria F4 Serbia F2 Austria F5 Austria F6 Serbia F3 Russia F3 Serbia F4 Serbia F5 Russia F5 Serbia F6 Russia F6 Bosnia/Herzegovina F6 Bosnia/Herzegovina F7 Croatia F10 Iran F5 Iran F6 M15 Doha Ivory Coast F1 Ivory Coast F2 Croatia F1 Portugal F2 Croatia F7 Portugal F3 Serbia F5 Turkey F4 Russia F1 Turkey F5 Russia F2 Serbia F3 Turkey F2 Croatia F8 Bosnia & Herzegovina F7 Italy F22 Croatia F9 Serbia F3 M15 Sharm El Sheikh M25 Velenje M15 Dubrovnik M15 Split M25 Trimbach Geneva Challenger - Geneva Banja Luka Challenger 2008 - Banja Luka Ljubljana Challenger Sarajevo Challenger Milan Challenger Bratislava Challenger Barletta Challenger Rome Challenger Bordeaux Challenger Braunschweig Challenger San Marino Challenger Seville Challenger Szczecin Challenger Heilbronn Challenger Quimper Challenger Banja Luka Challenger St. Brieuc Challenger Fergana Challenger Marburg Challenger Astana Challenger Segovia Challenger Portoroz Challenger Meerbusch Challenger Genova Challenger M25 Loughborough Tashkent Challenger Hua Hin Challenger Astana Challenger Pune Challenger Eckental Challenger Andria Challenger Shenzhen Challenger Ostrava Challenger Samarkand Challenger Prostejov Challenger Ilkley Challenger M15 Doboj Astana Challenger Cortina Challenger Chengdu Challenger Segovia Challenger Jinan Challenger M25 Stockholm Kaohsiung Challenger Brest Challenger Eckental Challenger St. Brieuc Challenger Taipei City Challenger Nanchang Challenger Leon Challenger Karshi Challenger Samarkand Challenger Loughborough Challenger Shymkent Challenger M15 Sharm ElSheikh Almaty Challenger Fergana Challenger Astana Challenger M25 Aktobe Shanghai Challenger M25 New Delhi M15 Meerbusch M25 Lucknow Ortisei Challenger Ismaning Challenger M25 Dubrovnik M15 Sharm El Sheikh Eckental Challenger Bratislava Challenger Andria Challenger M15 Sharm El Sheikh Bergamo Challenger Indian Wells Challenger M15 Sharm El Sheikh Phoenix Challenger St. Brieuc Challenger Taipei City Challenger Barletta Challenger Francavilla Challenger Seoul Challenger Busan Challenger Gwangju Challenger Nigeria F3 Surbiton Challenger Nottingham Challenger Fergana Challenger Nur-Sultan Challenger Manerbio Challenger Orleans Challenger Eckental Challenger Canberra Challenger Bengalaru Challenger Eckental Challenger Biella 2 Challenger Lugano Challenger Belgrade Challenger Zagreb Challenger Nottingham 1 Challenger Nottingham 2 Challenger Prostejov Challenger Prague 2 Challenger Banja Luka Challenger Istanbul 2 Challenger Losinj Challenger Bergamo Challenger Eckental Challenger Forli 2 Challenger Forli 1 Challenger Forli 2 Challenger Forli 5 Challenger Lugano Challenger Mexico City Challenger Tallahassee Challenger Zagreb Challenger Troisdorf Challenger Prostejov Challenger Poznan Challenger Bratislava Challenger Luedenscheid Challenger Salzburg Challenger Banja Luka Challenger Nonthaburi 1 Challenger M15 Kursumlijska Banja Cherbourg Challenger Pau Challenger Ismaning Challenger Hamburg Challenger Vilnus Challenger Brest Challenger Bratislava Challenger M25 Trnava M15 Osijek Nonthaburi 2 Challenger M15 Prijedor Nonthaburi 3 Challenger Rovereto Challenger M15 Sarajevo M25 Hua Hin Zadar Challenger Skopje Challenger M15 Sarajevo Banja Luka Challenger Tulln Challenger M25 Champaign Segovia Challenger Guangzhou Challenger Shenzhen 2 Challenger Bergamo Challenger M25 Maribor New Delhi Challenger Meknes Challenger Taipei Challenger M25 Trnava M15 Trnava Penza Challenger Guangzhou Challenger M25 Sheffield M25 Tianjin M15 Sharm ElSheikh M15 Monastir Aptos Challenger Manerbio Challenger IPP Open - Helsinki M25 Mumbai M15 Heraklion Tashkent Challenger Helsinki Challenger Tyumen Challenger Chennai Challenger Kolkata Challenger New Delhi Challenger Como Challenger M15 Osijek M15 Monastir Astana Challenger Karshi Challenger Helsinki Challenger M15 Bali M15 Monastir Saransk Challenger Kitzbuhel Challenger Seville Challenger Napoli Challenger Guangzhou Challenger M15 Monastir M15 Heraklion Marburg Challenger Recanati Challenger Portoroz Challenger Kazan Challenger M15 Bali M25 Bali Casablanca Challenger M15 Singapore Nottingham-2 Challenger M15 Kayseri M15 Kayseri Astana Challenger Portoroz Challenger Zagreb Challenger M15 Doha M15 Doha Bratislava Challenger Andria Challenger Cortina Challenger Samarkand Challenger M15 Hinode Wroclaw Challenger Ostrava Challenger Penza Challenger Istanbul Challenger Izmir Challenger Sao Paulo Challenger Kosice Challenger Timisoara Challenger Zagreb Challenger Istanbul Challenger Kazan Challenger Geneva Challenger Rimouski Challenger M15 Kayseri M15 Kayseri Palermo Challenger Karshi Challenger M15 Kayseri St. Petersburg Open - St. Petersburg Ortisei Challenger Bratislava Challenger Meknes Challenger Surbiton Challenger Bastad Challenger Segovia Challenger Bergamo Challenger ATP Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg St. Remy Challenger Istanbul Challenger Izmir Challenger Lille Challenger Marrakech Challenger Mexico City Challenger Guadalajara Challenger Interwetten Austrian Open - Kitzbuhel Anning Challenger St. Petersburg Open - St. Petersburg Rennes Challenger Recanati Challenger Sarajevo Open 2004 - Sarajevo Split Challenger Segovia Challenger Tashkent Challenger Portoroz Challenger Cordenons Challenger BCR Open Romania - Bucharest Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg Aircel Chennai Open - Chennai BH Telecom Indoors Sarajevo 2006 - Sarajevo Ortisei Challenger Heineken Open - Auckland Sibiu Challenger Open Sabadell Atlantico - Barcelona Serbia Open - Belgrade Mercedes Cup - Stuttgart ATP Studena Croatia Open - Umag BCR Open Romania - Bucharest Kremlin Cup - Moscow Segovia Challenger Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Serbia Open - Belgrade Kremlin Cup - Moscow IPP Open - Helsinki Aircel Chennai Open - Chennai U.S. National Indoor Tennis Championships - Memphis Arad Challenger Sony Ericsson Open 2008 - Belgrade Delray Beach International Tennis Championships - Delray Beach BRD Nastase Tiriac Trophy - Bucharest Power Horse Cup - Dusseldorf Moscow Challenger Topshelf Open - 's-Hertogenbosch BB&T Atlanta Open - Atlanta BH Indoor Sarajevo - Sarajevo Bet-at-home Cup - Kitzbuhel Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg PTT Thailand Open - Bangkok Kremlin Cup - Moscow Erste Bank Open - Vienna Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest BMW Open - Munich AEGON Championships - London Claro Open Colombia - Bogota Citi Open - Washington Shenzhen Open - Shenzhen China Open - Beijing Kremlin Cup - Moscow Medjurgorje Open - Medjugorje Aircel Chennai Open - Chennai PBZ Zagreb Indoors - Zagreb Geneva Challenger - Geneva Dubai Duty Free Tennis Championships - Dubai Ortisei Challenger BRD Nastase Tiriac Trophy - Bucharest TEB BNP Paribas Istanbul Open - Istanbul President's Cup - Astana Belgrade Challenger Korat Challenger Sarajevo Challenger Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg Aircel Chennai Open - Chennai Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Geneva Challenger Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest BMW Open - Munich Geneva Open - Geneva Nonthaburi 3 Challenger Khanty-Mansiysk Challenger Kazan Challenger Belgrade Challenger Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Winston-Salem Open - Winston-Salem China Open - Beijing Troyes Challenger Orbetello Challenger Qatar ExxonMobil Open - Doha Zhangjiagang Challenger ABN AMRO World Tennis Tournament - Rotterdam Rijeka Challenger Open 13 - Marseille Todi Challenger Grand Prix Hassan II - Marrakech Hungarian Open - Budapest Millennium Estoril Open - Estoril Ricoh Open - 's-Hertogenbosch Aachen Challenger St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen European Open - Antwerp Kazan Challenger Casablanca Challenger Split Challenger Qatar ExxonMobil Open - Doha Sydney International - Sydney Garanti Koza Sofia Open - Sofia Monza Challenger Delray Beach Open - Delray Beach Dubai Duty Free Tennis Championships - Dubai TEB BNP Paribas Istanbul Open - Istanbul Kosice Challenger Ricoh Open - 's-Hertogenbosch Oberstaufen Challenger Antalya Cup - Antalya Orbetello Challenger Plava Laguna Croatia Open - Umag Karlsruhe Challenger Binghamton Challenger Citi Open - Washington Madrid Challenger Sarajevo Challenger Marrakech Challenger Chengdu Open - Chengdu Rome Challenger China Open - Beijing Napoli Challenger Kremlin Cup - Moscow Swiss Indoors Basel - Basel Tata Open Maharashtra - Pune Nottingham Challenger Sydney International - Sydney Open Sud de France - Montpellier Braunschweig Challenger ABN AMRO World Tennis Tournament - Rotterdam Pozoblanco Challenger Segovia Challenger Turkish Airlines Open Antalya - Antalya St. Remy Challenger Orleans Challenger Mons Challenger St. Petersburg Open - St. Petersburg Geneva Challenger Loughborough Challenger Helsinki Challenger M15 Monastir Recanati Challenger Tyumen Challenger Kremlin Cup - Moscow Itajai Challenger Tata Open Maharashtra - Pune Portoroz Challenger Dubai Duty Free Tennis Championships - Dubai San Benedetto Challenger St. Petersburg Open - St. Petersburg Recanati Challenger Fergana Challenger Astana Open - Nur-Sultan Sofia Open - Sofia Vancouver Challenger San Marino Challenger Izmir Challenger Rabat Challenger Eckental Challenger M25 Marburg Tunis Challenger M25+H Kassel Heilbronn Challenger Kosice Challenger Winnetka Challenger Portoroz Challenger Lexington Challenger Dubai Duty Free Tennis Championships - Dubai Astana Challenger St. Remy Challenger Banja Luka Challenger Serbia Open - Belgrade Tashkent Challenger Bucaramanga Challenger Eckental Challenger Prostejov Challenger Ortisei Challenger Helsinki Challenger Andria Challenger Happy Valley Challenger Santo Domingo Challenger Cherbourg Challenger Quimper Challenger Shenzhen Challenger Kazan Challenger Raanana Challenger Batman Challenger Mersin Challenger Open Parc - Lyon Abierto Mexicano de Tenis Mifel - Los Cabos Samarkand Challenger Prostejov Challenger Furth Challenger Milan Challenger Truist Atlanta Open - Atlanta Prague Challenger Sofia Open - Sofia Anytech365 Andalucia Open - Marbella Istanbul Challenger Aptos Challenger Izmir Challenger Rennes Challenger Agri Challenger San Marino Challenger Pune Challenger Eckental Challenger Canberra Challenger Santos Challenger Bergamo Challenger Cherbourg Challenger Quimper Challenger Irving Challenger Raanana Challenger Meerbusch Challenger Ostrava Challenger Bet-at-home Open - Hamburg Ilkley Challenger Genova Challenger Gerry Weber Open - Halle Tashkent Challenger Geneva Challenger Bratislava Challenger IPP Open - Helsinki Ortisei Challenger Brescia Challenger Quimper Challenger Budapest Challenger Wroclaw Challenger Zhuhai Challenger St. Brieuc Challenger Brest Challenger Karshi Challenger Heilbronn Challenger Bratislava Challenger Kremlin Cup - Moscow Genova Challenger Apia International - Sydney Milan Challenger Orleans Challenger Quimper Challenger Saransk Challenger Astana Open - Nur-Sultan Happy Valley Challenger Izmir Challenger Banja Luka Challenger 2005 - Banja Luka Zhangjiagang Challenger Astana Open - Astana Ecuador Open - Quito Recanati Challenger Perugia Challenger Prague Challenger Napoli Challenger Vancouver Challenger Portoroz Challenger Istanbul Challenger Nur-Sultan Challenger Brest Challenger Furth Challenger Indian Wells Challenger Prostejov Challenger Jonkoping Challenger Sibiu Challenger Ilkley Challenger Kazan Challenger Istanbul Challenger Budapest Challenger Nur-Sultan 1 Challenger Nur-Sultan 2 Challenger Marbella Challenger Kremlin Cup - Moscow Milan Challenger Trieste Challenger Warsaw Challenger Ortisei Challenger Forli 3 Challenger Bengalaru 1 Challenger Bengalaru 2 Challenger Biel Challenger Sanremo Challenger Sarajevo Open - Sarajevo San Luis Potosi Challenger Tunis Challenger Malaga Challenger Porto Challenger Trieste Challenger Nur-Sultan Challenger Zug Challenger Segovia Challenger Samarkand Challenger Grodzisk Mazowiecki Challenger Nonthaburi 2 Challenger Nonthaburi 3 Challenger Istanbul Challenger M25 Dallas Nonthaburi 1 Challenger Koblenz Challenger Vilnius Challenger Szekesfehervar Challenger Seoul Challenger Gwangju Challenger Busan Challenger Mauthausen Challenger Troisdorf Challenger Trieste Challenger Shenzhen 1 Challenger Blois Challenger Nonthaburi 1 Challenger Nonthaburi 2 Challenger Chennai Challenger Pune Challenger Shenzhen 1 Challenger Guangzhou Challenger Wuxi Challenger Astana Challenger Jinan Challenger Shanghai Challenger Sofia Open - Sofia Tunis Challenger ATP Kremlin Cup - Moscow BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Kremlin Cup - Moscow Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Serbia Open - Belgrade Vicenza Challenger Mercedes Cup - Stuttgart BNP Paribas Open - Indian Wells Miami Open - Miami Western & Southern Open - Cincinnati BNP Paribas 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 Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Coupe Rogers - Montreal St. Petersburg Open - St. Petersburg Internazionali BNL d'Italia - Rome Portugal Open - Oeiras BNP Paribas Open - Indian Wells Shanghai Rolex Masters - Shanghai St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Swiss Indoors Basel - Basel Dubai Duty Free Tennis Championships - Dubai New York Open - New York Topshelf Open - 's-Hertogenbosch Hall of Fame Open - Newport Citi Open - Washington St. Petersburg Open - St. Petersburg Tata Open Maharashtra - Pune St. Petersburg Open - St. Petersburg U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York SAP Open - San Jose Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Banja Luka Open - Banja Luka 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 Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid 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 French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Davis Cup, Group II, 2R, BIH-EST 3-2 Davis Cup, Group II, 3R, DEN-BIH 3-2 Davis Cup, Group 2, 1R, MKD-BIH 2-3 Davis Cup, Europe/Africa Group II, 2R, EST-BIH 2-3 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group II, 1R, MAR-BIH 2-3 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group I, 1R, RUS-DEN 4-1 Davis Cup, Group II, 1R, BIH-LUX 4-1 Davis Cup, World Group, PO, RUS-KAZ 3-1 Davis Cup, Group I, 2R, GBR-RUS 3-2 Davis Cup, Group I, 2R, RUS-AUT 1-3 U.S. Open (juniors) Wimbledon (juniors) French Open (juniors) All Lower level tournaments Davis Cup, Group I, 2R, RUS-ESP 3-2 Salinas Challenger Olympics - Rio de Janeiro M15 Prijedor M15 Kamen French Open (juniors)