| 11-10 | DNF | | Tour de Vendée (1.1) | 202.0km |
| | | Petronas Le Tour de Langkawi (2.Pro) |
| 22 | | Klassement |
| 05-10 | 13 | 22 | Stage 8Tangkak - Kuala Lumpur (180.0km) | 180.0km |
| 04-10 | 35 | 29 | Stage 7Melaka - Medini (214.0km) | 214.0km |
| 03-10 | 47 | 29 | Stage 6Shah Alam - Port Dickson (123.0km) | 123.0km |
| 02-10 | 32 | 31 | Stage 5Temerloh - Frasers Hill (123.0km) | 123.0km |
| 01-10 | 24 | 21 | Stage 4Kuala Terengganu - Kemaman (140.0km) | 140.0km |
| 30-09 | 12 | 21 | Stage 3Gerik - Pasir Puteh (198.0km) | 198.0km |
| 29-09 | 23 | 26 | Stage 2Padang Besar - Kepala Batas (167.0km) | 167.0km |
| 28-09 | 19 | 23 | Stage 1Langkawi - Langkawi (96.0km) | 96.0km |
| 14-09 | DNF | | Trofeo Matteotti (1.1) | 195.0km |
| 13-09 | 24 | | Memorial Marco Pantani (1.1) | 195.0km |
| 10-09 | 86 | | Giro della Toscana - Memorial Alfredo Martini (1.1) | 189.0km |
| 07-09 | 53 | | GP Industria & Artigianato (1.Pro) | 196.0km |
| | | Tour du Limousin (2.1) |
| 53 | | Klassement |
| 26 | | Jongeren |
| 22-08 | 64 | 53 | Stage 4Bonneval - Limoges (164.0km) | 164.0km |
| 21-08 | 50 | 46 | Stage 3Saint-Jal - Masseret (182.0km) | 182.0km |
| 20-08 | 57 | 47 | Stage 2Thiviers - Grèzes (174.0km) | 174.0km |
| 19-08 | 25 | 28 | Stage 1Panazol - La Courtine (184.0km) | 184.0km |
| 17-08 | 72 | | La Polynormande (1.1) | 168.0km |
| | | Arctic Race of Norway (2.Pro) |
| 66 | | Klassement |
| 31 | | Jongeren |
| 10-08 | 73 | 66 | Stage 4Tromsø - Tromsø (135.0km) | 135.0km |
| 09-08 | 57 | 52 | Stage 3Husøy - Målselv (182.0km) | 182.0km |
| 08-08 | 21 | 37 | Stage 2Tennevoll - Sørreisa (166.0km) | 166.0km |
| 07-08 | 62 | 64 | Stage 1Borkenes - Harstad (182.0km) | 182.0km |
| | | Tour of Austria (2.1) |
| 45 | | Klassement |
| 30 | | Punten |
| 13-07 | 33 | 45 | Stage 5Feldkirch - Feldkirch (144.0km) | 144.0km |
| 12-07 | 36 | 52 | Stage 4Innsbruck - Kühtai (117.0km) | 117.0km |
| 11-07 | 69 | 58 | Stage 3Salzburg - Salzburg (142.0km) | 142.0km |
| 10-07 | 46 | 55 | Stage 2Bischofshofen - St. Johann in Tirol (142.0km) | 142.0km |
| 09-07 | 56 | 53 | Stage 1Steyr - Steyr (167.0km) | 167.0km |
| 28-06 | 79 | | National Road Championships - Netherlands (CN) | 163.0km |
| 22-06 | 60 | | Andorra MoraBanc Clàssica (1.1) | 138.0km |
| | | La Route d'Occitanie - CIC (2.1) |
| 66 | | Klassement |
| 30 | | Punten |
| 28 | | Jongeren |
| 21-06 | 66 | 66 | Stage 4Saint-Gaudens - Saint-Girons (128.0km) | 128.0km |
| 20-06 | 58 | 60 | Stage 3Pujaudran - Luz-Ardiden (173.0km) | 173.0km |
| 19-06 | 10 | | Stage 2Gignac - Carmaux (195.0km) | 195.0km |
| 18-06 | 123 | 123 | Stage 1Saint-Affrique - Roquefortf (10.0km) | 10.0km |
| | | Tour of Slovenia (2.Pro) |
| 52 | | Klassement |
| 08-06 | 63 | 52 | Stage 5Litija - Novo Mesto (123.0km) | 123.0km |
| 07-06 | 52 | 44 | Stage 4Maribor - Golte (175.0km) | 175.0km |
| 06-06 | 102 | 52 | Stage 3Majšperk - Ormož (173.0km) | 173.0km |
| 05-06 | 54 | 52 | Stage 2Velenje - Rogaška Slatina (157.0km) | 157.0km |
| 04-06 | 38 | 41 | Stage 1Piran - Škofljica (168.0km) | 168.0km |
| 26-05 | 16 | | Mercan'Tour Classic Alpes-Maritimes (1.1) | 152.0km |
| | | Tour de Hongrie (2.Pro) |
| 26 | | Klassement |
| 20 | | Punten |
| 3 | | Berg |
| 18-05 | 34 | 26 | Stage 5Etyek - Esztergom (167.0km) | 167.0km |
| 17-05 | 22 | 28 | Stage 4Tata - Székesfehérvár (167.0km) | 167.0km |
| 16-05 | 29 | 28 | Stage 3Gödöllő - Kékestető (163.0km) | 163.0km |
| 15-05 | 55 | 41 | Stage 2Veszprem - Siofok (178.0km) | 178.0km |
| 14-05 | 37 | 41 | Stage 1Budapest - Gyor (210.0km) | 210.0km |
| | | Presidential Cycling Tour of Turkiye (2.Pro) |
| 59 | | Klassement |
| 04-05 | 28 | 59 | Stage 8Çeşme - İzmir (105.0km) | 105.0km |
| 03-05 | 126 | 59 | Stage 7Selçuk - Çeşme (144.0km) | 144.0km |
| 02-05 | 61 | 61 | Stage 6Kusadasi - Selçuk (161.0km) | 161.0km |
| 01-05 | | 63 | Stage 5Marmaris - Aydin (151.0km) | 151.0km |
| 30-04 | 56 | 63 | Stage 4Marmaris - Akkaya (115.0km) | 115.0km |
| 29-04 | 111 | 78 | Stage 3Fethiye - Marmaris (175.0km) | 175.0km |
| 28-04 | 60 | 27 | Stage 2Kemer - Kalkan (167.0km) | 167.0km |
| 27-04 | 44 | 47 | Stage 1Antalya - Antalya (132.0km) | 132.0km |
| 20-04 | 72 | | Tour du Doubs (1.1) | 196.0km |
| 19-04 | 51 | | Tour du Jura Cycliste (1.1) | 176.0km |
| 18-04 | 57 | | Classic Grand Besançon Doubs (1.1) | 168.0km |
| 09-04 | 107 | | Scheldeprijs (1.Pro) | 205.0km |
| | | ΔΕΗ Tour of Hellas (2.1) |
| 29 | | Klassement |
| 06-04 | 41 | 29 | Stage 5Athene - Athene (155.0km) | 155.0km |
| 05-04 | 47 | 30 | Stage 4Chalkida - Athene (185.0km) | 185.0km |
| 04-04 | | 27 | Stage 3Delphi - Chalkida (151.0km) | 151.0km |
| 03-04 | 28 | 27 | Stage 2Agrinio - Arachova (177.0km) | 177.0km |
| 02-04 | 24 | 24 | Stage 1Patra - Agrinio (140.0km) | 140.0km |
| | | Tour de Taiwan (2.1) |
| 18-03 | DNS | | Stage 3Xinpu - Shigang (154.0km) | 154.0km |
| 17-03 | DNS | | Stage 2Taoyuan - Jiobanshan (117.0km) | 117.0km |
| 16-03 | 22 | 25 | Stage 1Taipei - Taipei (88.0km) | 88.0km |
| 05-03 | DNF | | Trofeo Laigueglia (1.Pro) | 190.0km |
| 01-03 | 102 | | Omloop Het Nieuwsblad Elite (1.UWT) | 197.0km |
| | | Tour des Alpes-Maritimes (2.1) |
| 61 | | Klassement |
| 29 | | Jongeren |
| 23-02 | 64 | 61 | Stage 2Villefranche-sur-Mer - Vence (131.0km) | 131.0km |
| 22-02 | 50 | 50 | Stage 1Contes - Gourdon (162.0km) | 162.0km |
| 21-02 | 71 | | Classic Var (1.1) | 165.0km |
| 02-02 | 57 | | Trofeo Palma (1.1) | 149.0km |
| 31-01 | 60 | | Trofeo Serra Tramuntana (1.1) | 151.0km |
| 30-01 | 88 | | Trofeo Felanitx-Ses Salines (1.1) | 184.0km |
| 29-01 | 62 | | Trofeo Calvià (1.1) | 149.0km |