Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 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 Wimbledon - London Australian Open - Melbourne Nordea Open - Bastad Hangzhou Open - Hangzhou Spain F10 Spain F15 Spain F18 Spain F19 Spain F28 Spain F29 Spain F30 Spain F31 Spain F32 Spain F33 Spain F35 Spain F38 Spain F39 Spain F40 Spain F42 Spain F3 Spain F8 Spain F2 Spain F10 Spain F11 Spain F14 Spain F16 Spain F17 Spain F18 Spain F20 Spain F22 Spain F23 Spain F24 Spain F25 Spain F26 Spain F27 Spain F28 Spain F30 Spain F31 Spain F33 Spain F35 Spain F38 Spain F39 Spain F40 Spain F41 Spain F1 Spain F2 Spain F3 Spain F16 Bosnia & Herzegovina F2 Spain F17 Croatia F8 Bosnia/Herzegovina F6 Morocco F1 Morocco F2 Bosnia/Herzegovina F1 Bosnia & Herzegovina F2 Spain F7 Spain F16 Estonia F1 Spain F29 Croatia F7 Croatia F8 Israel F3 Croatia F1 Croatia F2 Spain F7 Italy F3 Spain F11 Italy F6 Italy F7 Spain F14 Spain F15 Bosnia & Herzegovina F2 Spain F16 Bosnia & Herzegovina F3 Bosnia & Herzegovina F5 Netherlands F2 Serbia F1 Serbia F2 Spain F22 Serbia F3 Spain F28 Serbia F7 Croatia F7 Croatia F8 Croatia F9 Spain F37 Croatia F12 Croatia F13 Croatia F14 Turkey F32 Turkey F33 Turkey F3 Turkey F4 Croatia F1 Italy F1 Italy F2 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F5 Italy F20 Croatia F11 Croatia F12 Turkey F2 Croatia F1 Croatia F2 Italy F1 Italy F5 Romania F3 Bosnia & Herzegovina F4 Serbia F3 Croatia F12 Spain F5 Croatia F5 Croatia F6 Croatia F7 Spain F24 Egypt F9 Egypt F10 Spain F27 (Donostia-San-Sebastian) Spain F6 (Xabia) Portugal F7 (Porto) M25 Denia M25 Oviedo M25 Riba - Roja de Turia M25 Murcia M15 Antalya M25 Prague M15 Madrid M15 Manacor M25 Villena M25 Cairo Bulgaria F1 M25 Santander Spain F20 Spain F6 Spain F9 Spain F19 Spain F16 Spain F41 Spain F42 Spain F43 Challenger Copa Sevilla 2008 - Seville Meknes Challenger Rabat Challenger Marrakech Challenger Sarajevo Challenger Monza Challenger Rome Challenger Oberstaufen Challenger Penza Challenger Saransk Challenger Netherlands F3 Vigo Challenger Seville Challenger Croatia F10 Tarragona Challenger Florionapolis Challenger Cairo Challenger Alessandria Challenger Oberstaufen Challenger San Sebastian Challenger Barletta Challenger Orbetello Challenger Wuhai Challenger Beijing Challenger Como Challenger M25 Torello Trnava Challenger Heilbronn Challenger Meknes Challenger Casablanca Challenger Blumenau Challenger Milan Challenger Scheveningen Challenger Poznan Challenger San Marino Challenger Cordenons Challenger Como Challenger Brasov Challenger Trnava Challenger Lermontov Challenger Kosice Challenger M25 La Nucia Poznan Challenger Liberec Challenger Kazan Challenger Banja Luka Challenger Casablanca Challenger Irving Challenger Mersin Challenger San Benedetto Challenger Seville Challenger Geneva Challenger XI Ciutat de Barcelona - Barcelona Morelos Challenger Irving Challenger Ostrava Challenger Furth Challenger Prague Challenger Marburg Challenger Poznan Challenger San Benedetto Challenger Scheveningen Challenger Seville Challenger Alphen Challenger Trnava Challenger Rome Challenger Mohammedia Challenger M25 Mataro ATP Challenger Tour Finals Irving Challenger Guadalajara Challenger Alphen Challenger Mohammedia Challenger Bogota Challenger Montevideo Challenger Turin Challenger San Sebastian Challenger Palermo Challenger M25 Oviedo Segovia Challenger Santo Domingo Challenger Meerbusch Challenger Seville Challenger Tanger Challenger BH Indoor Sarajevo - Sarajevo Marburg Challenger XI Ciutat de Barcelona - Barcelona Mallorca Challenger New Haven Challenger Seville Challenger Pozoblanco Challenger Zadar Challenger Zagreb Challenger TEAN International - Alphen Aan Den Rijn Todi Challenger Prostejov Challenger Tashkent Challenger Vicenza Challenger Moscow Challenger Seville Challenger Liberec Challenger San Sebastian Challenger Casablanca Challenger St. Brieuc Challenger Lugano Challenger Rome Challenger Prostejov Challenger Braunschweig Challenger Scheveningen Challenger Tashkent Challenger Casablanca Challenger Trnava Challenger Vicenza Challenger Braunschweig Challenger Lisbon Challenger Saransk Challenger Montevideo Challenger Blois Challenger Tampere Challenger Bastad Challenger Scheveningen Challenger Meknes Challenger Kenitra Challenger Szczecin Challenger Mouilleron-Le-Captif Challenger Helsinki Challenger Cali Challenger Bucaramanga Challenger Raanana Challenger Aix En Provence Challenger Rome Challenger Heilbronn Challenger Szczecin Challenger Guayaquil Challenger San Benedetto Challenger Seville Challenger Salzburg-Anif Challenger Tulln Challenger Marbella Challenger Biella 1 Challenger Cortina Challenger Trnava Challenger Szczecin Challenger Marbella Challenger Kobe Challenger Santo Domingo Challenger Heilbronn Challenger Ottignies-Louvain-la-Neuve Challenger Caltanissetta Challenger Istanbul Challenger Szekesfehervar Challenger Tunis Challenger Montemar Challenger Canberra Challenger Rome Challenger Marrakech Challenger Guayaquil Challenger Cap Cana Challenger Zadar Challenger Todi Challenger Dallas Challenger San Francisco Challenger Barletta Challenger Orleans Challenger Quimper Challenger Lyon Challenger Santos Challenger Milan Challenger Tunis Challenger Meerbusch Challenger Seville Challenger Sao Paulo Challenger Matsuyama Challenger Noumea Challenger Caltanissetta Challenger Monza Challenger Salzburg Challenger Mallorca Challenger Arad Challenger Manama Challenger 84° Concurso Internacional Tenis San Sebastian - San Sebastian Aptos Challenger Manerbio Challenger Meerbusch Challenger Rome 2 Challenger Nottingham 2 Challenger Trieste Challenger Meerbusch Challenger Barcelona Challenger Bergamo Challenger Bratislava Challenger Helsinki Challenger Lille Challenger Lugano Challenger Aix En Provence Challenger Mauthausen Challenger Amersfoort Challenger Cordenons Challenger Brest Challenger Banja Luka Challenger Sibiu Challenger Alicante Challenger Yokohama Challenger Antalya Challenger Maia Challenger Ostrava Challenger Ostrava Challenger Tunis Challenger Ilkley Challenger Heineken Open - Auckland Florence Challenger Brasov Challenger Lima Challenger Bratislava Challenger Medellin Challenger Maia Challenger Bendigo Challenger Penza Challenger Open Tarragona Costa Daurada - Tarragona Sibiu Challenger Split Challenger Barcelona Challenger Lisbon Challenger Guayaquil Challenger Gran Canaria 2 Challenger Zagreb Challenger Oeiras 3 Challenger Aircel Chennai Open - Chennai Heineken Open - Auckland Open Sud de France - Montpellier Sibiu Challenger Estoril Open - Estoril Alphen Challenger Bendigo Challenger Alphen Challenger Rabat Challenger Bergamo Challenger Open Sabadell Atlantico - Barcelona Banja Luka Challenger Samarkand Challenger Szczecin Challenger Sao Paulo Challenger Sao Paulo Challenger If Stockholm Open - Stockholm Santo Domingo Challenger Barcelona Open BancSabadell - Barcelona Heilbronn Challenger Arad Challenger Furth Challenger Kosice Challenger Rennes Challenger Credit Agricole Suisse Open - Gstaad Tanger Challenger Winston-Salem Open - Winston-Salem Meknes Challenger Ecuador Open - Quito PBZ Zagreb Indoors - Zagreb Troyes Challenger San Luis Potosi Challenger Geneva Open - Geneva Sarajevo Challenger Marbella Challenger Marrakech Challenger Mercedes Cup - Stuttgart Ecuador Open - Quito Memphis Open - Memphis Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco BRD Nastase Tiriac Trophy - Bucharest Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul Geneva Open - Geneva Erste Bank Open - Vienna If Stockholm Open - Stockholm Erste Bank Open - Vienna Bet-at-home Open - Hamburg Shenzhen Open - Shenzhen Sydney International - Sydney Cherbourg Challenger ABN AMRO World Tennis Tournament - Rotterdam AEGON Championships - London Plava Laguna Croatia Open - Umag Kremlin Cup - Moscow Sarajevo Challenger St. Petersburg Open - St. Petersburg Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Mersin Challenger Astana Open - Nur-Sultan Studena Croatia Open - Umag Abierto Mexicano Telcel - Acapulco St. Brieuc Challenger St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Kremlin Cup - Moscow Grand Prix Hassan II - Casablanca Rome Challenger Alicante Challenger Winston-Salem Open - Winston-Salem Bratislava Challenger BRD Nastase Tiriac Trophy - Bucharest Tunis Challenger SkiStar Swedish Open - Bastad Delray Beach Open - Delray Beach Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem Lima Challenger Abierto Mexicano - Los Cabos Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona Antalya Cup - Antalya Rome Challenger Abierto Mexicano - Los Cabos Poznan Challenger St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Arad Challenger Winston-Salem Open - Winston-Salem Grand Prix Hassan II - Casablanca Kremlin Cup - Moscow Ostrava Challenger Anytech365 Andalucia Open - Marbella Poznan Challenger Serbia Open - Belgrade Andria Challenger Firenze Open - Florence Qatar ExxonMobil Open - Doha Millennium Estoril Open - Estoril Plava Laguna Croatia Open - Umag Serbia Open - Belgrade Cortina Challenger Vercelli Challenger Mercedes Cup - Stuttgart Eskisehir Challenger Bucharest Open - Bucharest Genova Challenger Rio Open - Rio de Janeiro Tiriac Open - Bucharest Boss Open - Stuttgart European Open - Brussels Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Nottingham 1 Challenger Todi Challenger Madrid Challenger Seville Challenger Sarajevo Challenger Brisbane International - Brisbane Buenos Aires Challenger Kosice Challenger Seville Challenger Open 13 - Marseille Grand Prix Hassan II - Marrakech Santiago Challenger Buenos Aires Challenger Sibiu Challenger Alphen Challenger Valencia Open - Valencia Madrid Challenger Prostejov Challenger Aircel Chennai Open - Chennai Nordea Open - Bastad Erste Bank Open - Vienna TEB BNP Paribas Istanbul Open - Istanbul Barcelona Challenger Ostrava Challenger Sibiu Challenger Vegeta Croatia Open - Umag Bet-at-home Open - Hamburg Lima Challenger Almaty Open - Almaty Valencia Open - Valencia Newport Beach Challenger Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Garanti Koza Sofia Open - Sofia Alicante Challenger Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Winston-Salem Open - Winston-Salem Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Open de Nice Cote d'Azur - Nice Tunis Challenger Aegon Nottingham Open - Nottingham Bet-at-home Open - Hamburg Konzum Croatia Open - Umag Braunschweig Challenger Erste Bank Open - Vienna Tampere Challenger Shenzhen Open - Shenzhen Kremlin Cup - Moscow Bratislava Challenger Bratislava 2 Challenger Garanti Koza Sofia Open - Sofia Memphis Open - Memphis New York Open - New York Dubai Duty Free Tennis Championships - Dubai Forli 5 Challenger Barcelona Open BancSabadell - Barcelona Hungarian Open - Budapest Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul China Open - Beijing Kenitra Challenger St. Petersburg Open - St. Petersburg Perugia Challenger Como Challenger Erste Bank Open - Vienna Open Sud de France - Montpellier Hamburg European Open - Hamburg Vancouver Challenger Lisbon Challenger Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Gazprom Hungarian Open - Budapest Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Lima Challenger Banja Luka Challenger Plava Laguna Croatia Open - Umag Marbella Challenger Belgrade Challenger Geneva Open - Geneva Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad Split Challenger Zhuhai Open - Zhuhai China Open - Beijing Open Sud de France - Montpellier Seville Challenger Abierto Mexicano Telcel - Acapulco Open Sud de France - Montpellier Zug Challenger Segovia Challenger Sibiu Challenger Rosario Challenger Santo Domingo Challenger Serbia Open - Belgrade Braga Challenger Movistar Chile Open - Santiago Plava Laguna Croatia Open - Umag Delray Beach Open - Delray Beach Open 13 Provence - Marseille Prague 2 Challenger Grand Prix Hassan II - Marrakech BMW Open - Munich bett1HULKS Championships - Cologne Istanbul Challenger Qatar ExxonMobil Open - Doha Stockholm Open - Stockholm Bratislava 2 Challenger Banja Luka Open - Banja Luka Hamburg Open - Hamburg Ismaning Challenger Helsinki Challenger Danderyd Challenger Barletta Challenger Mutua Madrilena Madrid Open - Madrid Nottingham 2 Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Shanghai Rolex Masters - Shanghai Miami Open - Miami Bonn Challenger PBZ Zagreb Indoors - Zagreb Internazionali BNL d'Italia - Rome Porto 2 Challenger Miami Open - Miami Apia International - Sydney Topshelf Open - 's-Hertogenbosch Open Parc - Lyon Kremlin Cup - Moscow Brisbane International - Brisbane Open 13 Provence - Marseille TEB BNP Paribas Istanbul Open - Istanbul Abierto Mexicano de Tenis Mifel - Los Cabos ABN AMRO World Tennis Tournament - Rotterdam Vilnius Challenger Segovia Challenger Heilbronn Challenger Bratislava 1 Challenger Open Sabadell Atlantico - Barcelona Belgrade Open - Belgrade Adelaide International - Adelaide Barcelona Open Banc Sabadell - Barcelona Canberra Challenger Phoenix Challenger Hellenic Championship - Athens Generali Open - Kitzbuhel Bordeaux Challenger Astana Open - Astana BNP Paribas Open - Indian Wells Shanghai Rolex Masters - Shanghai Mutua Madrid Open - Madrid Sony Open Tennis - Miami Mutua Madrid Open - Madrid BNP Paribas Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai Aircel Chennai Open - Chennai Stockholm Open - Stockholm Miami Open - Miami Mutua Madrid Open - Madrid BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Western & Southern Open - New York Internazionali BNL d'Italia - Rome Hangzhou Open - Hangzhou Japan Open Tennis Championships - Tokyo Dubai Duty Free Tennis Championships - Dubai Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Rogers Cup - Toronto BNP Paribas Open - Indian Wells Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Western & Southern Open - Cincinnati Monte-Carlo Rolex Masters - Monte-Carlo Shanghai Rolex Masters - Shanghai Miami Open - Miami National Bank Open - Toronto Cincinnati Open - Cincinnati Mutua Madrid Open - Madrid Moselle Open - Metz European Open - Antwerp U.S. Open - New York China Open - Beijing Australian Open - Melbourne German Tennis Championships - Hamburg Rakuten Japan Open - Tokyo Wimbledon - London Qatar ExxonMobil Open - Doha Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne Wimbledon - London U.S. Open - New York U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London French Open - Paris U.S. Open - New York French Open - Paris French Open - Paris Wimbledon - London French Open - Paris U.S. Open - New York Australian Open - Melbourne Wimbledon - London 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 U.S. Open - New York French Open - Paris Australian Open Qualifying - Doha Australian Open - Melbourne Wimbledon - London Internazionali BNL d'Italia - Rome U.S. Open - New York French Open - Paris Argentina Open - Buenos Aires Internazionali BNL d'Italia - Rome Mallorca Championships - Mallorca Wimbledon - London U.S. Open - New York Australian Open - Melbourne Davis Cup, Group II, 3R, DEN-BIH 3-2 Davis Cup, Group II, 2R, FIN-BIH 2-3 Davis Cup, Group I, 2R, SVK-BIH 2-3 Davis Cup, World Group I, PO, BIH-RSA 3-1 Davis Cup, Group II, 3R, BIH-LTU 2-3 Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, World Group, QR, AUS-BIH 4-0 Davis Cup, Group I, 1R, PER-BIH 3-2 Davis Cup, Group I, 1R, BIH-POL 5-0 Davis Cup, Group II, 2R, BLR-BIH 4-1 Davis Cup, Group II, 3R, LTU-BIH 0-5 Davis Cup, Group II, 1R, BIH-GRE 3-1 Davis Cup, World Group I, 1R, TPE-BIH 3-2 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, BIH-LUX 4-1 Davis Cup, Group II, 2R, BIH-MDA 1-3 Davis Cup, Group II, 1R, ZIM-BIH 1-4 Davis Cup, Group I, 1R, ECU-BIH 3-2 Wimbledon (juniors) U.S. Open (juniors) Davis Cup, Group I, PO, TUN-BIH 1-3 Davis Cup, Group I, 1R, BIH-MEX 3-1 Davis Cup, Group I, 1R, BIH-GER 0-4 Davis Cup, Group I, PO, BUL-BIH 1-3 Davis Cup, Group I, PO, UZB-BIH 1-3 Davis Cup, Group II, 2R, BIH-TUR 3-1 Davis Cup, Group I, 2R, BIH-NED 1-3 French Open (juniors) All Lower level tournaments Olympics - Rio de Janeiro Manacor Challenger Japan Open Tennis Championships - Tokyo