| 2025-12-11 | 41 | China Road Pro Cycling League & Tour of Yunnan - Yuxi Stage | | 103 | 02:11:01.000 | 47.17 |
| 2025-12-09 | 1 | China Road Pro Cycling League & Tour of Yunnan - Chuxiong Stage | | 148 | 03:34:16.000 | 41.444 |
| 2025-12-07 | 47 | China Road Pro Cycling League & Tour of Yunnan - Dali Stage | | 113 | 02:22:16.000 | 47.657 |
| 2025-12-06 | 2 | China Road Pro Cycling League & Tour of Yunnan - Lijiang Stage | me | 63.8 | 01:25:43.000 | 44.659 |
| 2025-11-30 | 9 | China Road Pro Cycling League - Zigong Stage | | 166 | 03:43:28.000 | 44.57 |
| 2025-11-01 | 9 | Nedbank Gravel Burn | me | 112 | 03:19:14.000 | 33.729 |
| 2025-11-01 | 2 | Nedbank Gravel Burn | me | 0 | 19:06:29.000 | 0 |
| 2025-10-31 | 7 | Nedbank Gravel Burn | me | 144 | 05:22:07.000 | 26.823 |
| 2025-10-30 | 3 | Nedbank Gravel Burn | me | 137 | 04:00:47.000 | 34.139 |
| 2025-10-29 | 2 | Nedbank Gravel Burn | me | 111 | 03:12:13.000 | 34.648 |
| 2025-10-28 | 1 | Nedbank Gravel Burn | me | 90 | 02:43:35.000 | 33.011 |
| 2025-10-27 | 3 | Nedbank Gravel Burn | me | 108 | 02:55:32.000 | 36.916 |
| 2025-10-26 | 5 | Nedbank Gravel Burn | me | 84 | 02:55:08.000 | 28.778 |
| 2025-10-18 | 8 | Big Sugar Gravel | | 0 | 02:17:03.000 | 0 |
| 2025-06-28 | DNF | UCI Gravel World Series ME - Gravel Suisse | me | 0 | 00:00:00.000 | |
| 2025-06-07 | 1 | Festivus of Gravel | me | 0 | 05:37:15.400 | 0 |
| 2025-05-31 | 2 | Life Time UNBOUND Gravel Presented by Shimano | me | 326 | 08:37:51.000 | 37.772 |
| 2025-05-02 | 8 | The Traka 360 | me | 360 | 11:52:58.000 | 30.296 |
| 2025-04-20 | 25 | UCI Gravel World Series ME - Monaco Gravel Race | me | 120 | 04:16:52.000 | 28.03 |
| 2025-04-10 | 10 | Life Time Sea Otter Classic | me | 143 | 04:23:32.000 | 32.558 |
| 2025-04-05 | 3 | GP Berra Immobilier - Mémorial Jean Luisier | me | 0 | 03:53:39.000 | 0 |
| 2025-03-09 | 1 | UCI Gravel World Series ME - Gravel Brazil | me | 120 | 03:44:43.160 | 32.04 |
| 2025-03-02 | 1 | Transcordilleras | me | 0 | 31:49:28.000 | 0 |
| 2025-03-02 | 2 | Transcordilleras | me | 0 | 02:29:49.000 | 0 |
| 2025-03-01 | 1 | Transcordilleras | me | 0 | 04:48:16.000 | 0 |
| 2025-02-28 | 3 | Transcordilleras | me | 0 | 02:00:40.000 | 0 |
| 2025-02-27 | 1 | Transcordilleras | me | 0 | 03:26:10.000 | 0 |
| 2025-02-26 | 1 | Transcordilleras | me | 0 | 03:28:54.000 | 0 |
| 2025-02-25 | 2 | Transcordilleras | me | 0 | 05:11:35.000 | 0 |
| 2025-02-24 | 1 | Transcordilleras | me | 0 | 04:34:59.000 | 0 |
| 2025-02-23 | 2 | Transcordilleras | me | 0 | 05:49:01.800 | 0 |
| 2025-02-16 | 18 | Clásica de Rionegro | ME | 0 | 05:43:32.000 | 0 |
| 2025-02-16 | 19 | Clásica de Rionegro | ME | 126 | 02:55:16.000 | 43.134 |
| 2025-02-15 | 13 | Clásica de Rionegro | ME | 124 | 02:34:41.000 | 48.098 |
| 2024-10-19 | 3 | Gravel Race Bern | me | 50 | 01:36:38.000 | 31.045 |
| 2024-10-13 | 7 | European Continental Championships ME - Gravel | me | 153 | 04:41:29.000 | 32.613 |
| 2023-10-13 | 9 | Serenissima Gravel | | 0 | 04:01:35.000 | 0 |
| 2013-09-07 | 3 | 4 Jours Des As-en-provence - Etappe 1 | | 0 | 03:23:01.000 | 0 |
| 2013-09-06 | 7 | 4 Jours Des As-en-provence - Etappe 1 | | 0 | 03:26:14.000 | 0 |
| 2013-09-05 | 16 | 4 Jours Des As-en-provence - Etappe 1 | | 0 | 02:31:44.000 | 0 |