| 11-09 | DNS | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | 197.0km |
| 07-09 | 26 | | GP Industria & Artigianato (1.Pro) | 196.0km |
| | | Tour of Magnificent Qinghai (2.Pro) |
| 18 | | Klassement |
| 19 | | Punten |
| 10 | | Berg |
| 13-07 | 95 | 18 | Stage 8Xihaizhen - Xihaizhen (121.0km) | 121.0km |
| 12-07 | 59 | 16 | Stage 7Gonghe - Haiyan (137.0km) | 137.0km |
| 11-07 | 19 | 17 | Stage 6Gangcha - Gonghe (232.0km) | 232.0km |
| 10-07 | 11 | 13 | Stage 5Qilian - Gangcha (168.0km) | 168.0km |
| 09-07 | 38 | 11 | Stage 4Menyuan - Qilian (172.0km) | 172.0km |
| 08-07 | 22 | 7 | Stage 3Huzhu - Menyuan (219.0km) | 219.0km |
| 07-07 | 6 | 8 | Stage 2Duoba - Huzhu (151.0km) | 151.0km |
| 06-07 | 42 | 44 | Stage 1Xining - Xining (120.0km) | 120.0km |
| | | La Route d'Occitanie - CIC (2.1) |
| 20-06 | DNS | | Stage 3Pujaudran - Luz-Ardiden (173.0km) | 173.0km |
| 19-06 | 112 | | Stage 2Gignac - Carmaux (195.0km) | 195.0km |
| 18-06 | 39 | 39 | Stage 1Saint-Affrique - Roquefortf (10.0km) | 10.0km |
| | | Tour of Slovenia (2.Pro) |
| 44 | | Klassement |
| 45 | | Punten |
| 08-06 | 64 | 44 | Stage 5Litija - Novo Mesto (123.0km) | 123.0km |
| 07-06 | 46 | 38 | Stage 4Maribor - Golte (175.0km) | 175.0km |
| 06-06 | 85 | 29 | Stage 3Majšperk - Ormož (173.0km) | 173.0km |
| 05-06 | 14 | 18 | Stage 2Velenje - Rogaška Slatina (157.0km) | 157.0km |
| 04-06 | 29 | 32 | Stage 1Piran - Škofljica (168.0km) | 168.0km |
| 26-05 | 5 | | Mercan'Tour Classic Alpes-Maritimes (1.1) | 152.0km |
| | | Presidential Cycling Tour of Turkiye (2.Pro) |
| 8 | | Klassement |
| 7 | | Punten |
| 14 | | Berg |
| 04-05 | 70 | 8 | Stage 8Çeşme - İzmir (105.0km) | 105.0km |
| 03-05 | 42 | 8 | Stage 7Selçuk - Çeşme (144.0km) | 144.0km |
| 02-05 | 5 | 8 | Stage 6Kusadasi - Selçuk (161.0km) | 161.0km |
| 01-05 | | 10 | Stage 5Marmaris - Aydin (151.0km) | 151.0km |
| 30-04 | 10 | 10 | Stage 4Marmaris - Akkaya (115.0km) | 115.0km |
| 29-04 | 8 | 5 | Stage 3Fethiye - Marmaris (175.0km) | 175.0km |
| 28-04 | 9 | 9 | Stage 2Kemer - Kalkan (167.0km) | 167.0km |
| 27-04 | 40 | 43 | Stage 1Antalya - Antalya (132.0km) | 132.0km |
| | | ΔΕΗ Tour of Hellas (2.1) |
| 17 | | Klassement |
| 16 | | Punten |
| 1 | | Berg |
| 06-04 | 17 | 17 | Stage 5Athene - Athene (155.0km) | 155.0km |
| 05-04 | 4 | 17 | Stage 4Chalkida - Athene (185.0km) | 185.0km |
| 04-04 | | 71 | Stage 3Delphi - Chalkida (151.0km) | 151.0km |
| 03-04 | 74 | 71 | Stage 2Agrinio - Arachova (177.0km) | 177.0km |
| 02-04 | 28 | 28 | Stage 1Patra - Agrinio (140.0km) | 140.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 7 | | Klassement |
| 12 | | Punten |
| 29-03 | 9 | 7 | Stage 5Brisighella - Forlì (132.0km) | 132.0km |
| 28-03 | 7 | 10 | Stage 4Brisighella - Brisighella (150.0km) | 150.0km |
| 27-03 | 5 | 10 | Stage 3Riccione - Cesena (142.0km) | 142.0km |
| 26-03 | 19 | 18 | Stage 2Riccione - Sogliano al Rubicone (163.0km) | 163.0km |
| 25-03 | 27 | 27 | Stage 1Ferrara - Bondeno (174.0km) | 174.0km |
| 19-03 | 35 | | Milano - Torino (1.Pro) | 174.0km |
| 05-03 | 5 | | Trofeo Laigueglia (1.Pro) | 190.0km |
| 02-03 | 20 | | Faun Drome Classic (1.Pro) | 189.0km |
| 01-03 | 27 | | Faun-Ardèche Classic (1.Pro) | 165.0km |
| | | Vuelta a Andalucia Ruta Ciclista Del Sol (2.Pro) |
| 15 | | Klassement |
| 17 | | Punten |
| 23-02 | 4 | 15 | Stage 5Benahavís - La Línea (168.0km) | 168.0km |
| 22-02 | 27 | 17 | Stage 4Córdoba - Alhaurín de la Torre (194.0km) | 194.0km |
| 21-02 | 14 | 16 | Stage 3Arjona - Pozoblanco (162.0km) | 162.0km |
| 20-02 | 19 | 20 | Stage 2Alcaudete - Torredelcampo (133.0km) | 133.0km |
| 19-02 | 20 | 20 | Stage 1Torrox - Cueva de Nerja (162.0km) | 162.0km |
| 02-02 | 96 | | Trofeo Palma (1.1) | 149.0km |
| 31-01 | DNF | | Trofeo Serra Tramuntana (1.1) | 151.0km |
| 29-01 | 17 | | Trofeo Calvià (1.1) | 149.0km |