| | | Gree-Tour of Guangxi (2.UWT) |
| 30 | | Klassement |
| 15 | | Punten |
| 15 | | Jongeren |
| 8 | | Berg |
| 19-10 | 35 | 30 | Stage 6Nanning - Nanning (134.0km) | 134.0km |
| 18-10 | 32 | 32 | Stage 5Yizhou - Nongla (165.0km) | 165.0km |
| 17-10 | 86 | 7 | Stage 4Bama - Jinchengjiang (176.0km) | 176.0km |
| 16-10 | 90 | 6 | Stage 3Jingxi - Bama (214.0km) | 214.0km |
| 15-10 | 63 | 4 | Stage 2Chongzuo - Jingxi (179.0km) | 179.0km |
| 14-10 | 95 | 95 | Stage 1Fangchenggang - Fangchenggang (149.0km) | 149.0km |
| 20-09 | 82 | | SUPER 8 Classic (1.Pro) | 204.0km |
| 14-09 | DNF | | Grand Prix Cycliste de Montréal (1.UWT) | 209.0km |
| 12-09 | 107 | | Grand Prix Cycliste de Québec (1.UWT) | 216.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 29-08 | 13 | 10 | Stage 6aLa Rosière Espace San Bernardo - La Rosière Espace San Bernardo (41.0km) | 41.0km |
| 29-08 | 7 | 9 | Stage 6bLa Rosière-Montvalezan - La Rosière-Montvalezan (10.0km) | 10.0km |
| 28-08 | 7 | 8 | Stage 5Saint-Gervais Mont-Blanc - Tignes (121.0km) | 121.0km |
| 27-08 | 63 | 22 | Stage 4Montagnat - Val Suran (110.0km) | 110.0km |
| 26-08 | 62 | 22 | Stage 3Étang-sur-Arroux - Châtillon-sur-Chalaronne (158.0km) | 158.0km |
| 25-08 | 111 | 23 | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais (136.0km) | 136.0km |
| 24-08 | 20 | 8 | Stage 1Aoste - Saint-Galmier (188.0km) | 188.0km |
| 23-08 | 10 | 10 | PrologueTignes - Tignes (3.0km) | 3.0km |
| | | Baltic Chain Tour (2.2) |
| 15 | | Klassement |
| 24-08 | 46 | 15 | Stage 3Tartu - Tartu (170.0km) | 170.0km |
| 23-08 | 20 | 20 | Stage 2Tartu - Tartu (175.0km) | 175.0km |
| 22-08 | 3 | 14 | Stage 1aRiga - Riga (5.0km) | 5.0km |
| 22-08 | 40 | 25 | Stage 1bRiga - Valga (190.0km) | 190.0km |
| | | Vuelta a Burgos (2.Pro) |
| 54 | | Klassement |
| 40 | | Berg |
| 15 | | Jongeren |
| 09-08 | 71 | 54 | Stage 5Bodega Cillar de Silos - Lagunas de Neila (138.0km) | 138.0km |
| 08-08 | 67 | 54 | Stage 4Burpellet - Regumiel de la Sierra (162.0km) | 162.0km |
| 07-08 | 20 | 54 | Stage 3San Pedro de Cardena - Valpuesta (185.0km) | 185.0km |
| 06-08 | 114 | 100 | Stage 2Cilleruelo de Abajo - Buniel (162.0km) | 162.0km |
| 05-08 | 100 | 100 | Stage 1Olmillos de Sasamón - Alto del Castillo (205.0km) | 205.0km |
| | | Course Cycliste de Solidarnosc et des Champions Olympiques (2.2) |
| 03-07 | DNF | | Stage 2Jedlicze - Debica (173.0km) | 173.0km |
| 02-07 | 98 | 81 | Stage 1bRopczyce - Stalowa Wola (104.0km) | 104.0km |
| 02-07 | 68 | 73 | Stage 1aStrzyzow - Sedziszow Malopolski (100.0km) | 100.0km |
| 29-06 | DNF | | National Road Championships - Denmark (CN) | 202.0km |
| 27-06 | 41 | | National Road Championships - Denmark TT (CN) | 41.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 61 | | Klassement |
| 22-06 | 62 | 61 | Stage 8Pinerolo - Pinerolo (127.0km) | 127.0km |
| 21-06 | 62 | 61 | Stage 7Bra - Prato Nevoso (163.0km) | 163.0km |
| 20-06 | 111 | 59 | Stage 6Ovada - Acqui Terme (154.0km) | 154.0km |
| 19-06 | 69 | 48 | Stage 5Fiorenzuola d'Arda - Gavi (153.0km) | 153.0km |
| 18-06 | 71 | 34 | Stage 4Manerbio - Salsomaggiore Terme (134.0km) | 134.0km |
| 17-06 | 35 | 34 | Stage 3Albese con Cassano - Passo del Maniva (144.0km) | 144.0km |
| 16-06 | 53 | 38 | Stage 2Rho - Cantù (146.0km) | 146.0km |
| 15-06 | 44 | 44 | Stage 1Rho - Rho (8.0km) | 8.0km |
| 14-06 | DNF | | UCI Gravel World Series - Gravel Challenge Blaavands Huk (National) | |
| | | Tour of Lithuania (2.2) |
| 18 | | Klassement |
| 08-06 | 21 | 18 | Stage 5Vilnius - Vilnius (152.0km) | 152.0km |
| 07-06 | 59 | 61 | Stage 4Utena - Utena (160.0km) | 160.0km |
| 06-06 | 42 | 63 | Stage 3Kėdainiai - Kėdainiai (160.0km) | 160.0km |
| 05-06 | 40 | 78 | Stage 2Tauragė - Tauragė (176.0km) | 176.0km |
| 04-06 | 125 | 124 | Stage 1Klaipeda - Klaipeda (179.0km) | 179.0km |
| | | Course de la Paix Grand Prix Jeseníky (2.NCUP) |
| 5 | | Klassement |
| 5 | | Punten |
| 6 | | Berg |
| 2 | | Jongeren |
| 01-06 | 32 | 5 | Stage 4Jeseník - Šumperk (118.0km) | 118.0km |
| 31-05 | 2 | 3 | Stage 3Zábřeh - Dlouhé (131.0km) | 131.0km |
| 30-05 | 38 | 11 | Stage 2Uničov - Rýmařov (149.0km) | 149.0km |
| 17-05 | 68 | | Giro Himledalen (1.2) | 180.0km |
| 04-05 | 132 | | Fyn Rundt - Tour of Funen (1.2) | 198.0km |
| 03-05 | DNF | | Grand Prix Herning (1.2) | 176.0km |
| 22-04 | DNF | | G.P. Palio del Recioto - Trofeo Zanotti Mobili (1.2U) | 147.0km |
| 21-04 | 6 | | Giro del Belvedere (1.2U) | 168.0km |
| | | Circuit des Ardennes (2.2) |
| 32 | | Klassement |
| 12 | | Berg |
| 11 | | Jongeren |
| 13-04 | 62 | 32 | Stage 5Chooz - Charleville-Mézières (160.0km) | 160.0km |
| 11-04 | 30 | 31 | Stage 3Boulzicourt - Saint-Marceau (172.0km) | 172.0km |
| 05-04 | DNF | | Volta NXT Classic (1.1) | 192.0km |
| 08-03 | DNF | | Rhodes GP (1.2) | 179.0km |