← Review table (e-bike) · shopper page

Endurace:ONfly CF 8

canyon:4045 · source URL · confidence 1

Eligibility

Cannot win: e-bike bikes are not value-ranked yet (no e-bike-specific equipment model)

Size decisions

retailer labelalphacomparable cmmatchmappingin stockvariant priceevidence
2XLXXL—unknownunsupportedyes€6.999—
XSXS—unknownunsupportedno€6.999—
SS—unknownunsupportedno€6.999—
MM—unknownunsupportedno€6.999—
LL—unknownunsupportedno€6.999—
XLXL—unknownunsupportedyes€6.999—
2XSXXS—unknownunsupportedno€6.999—
mappingunsupported
reasonCanyon publishes no defensible conventional equivalence for its letter sizes. Canyon publishes rider-height ranges and geometry only, and explicitly declines any centimetre equivalence. Its road sizing guide says 'Don't get hung up on traditional S,M, and L sizing. The equivalent of a medium on one company's bike could be a small or a large on another', and its sizing guide says 'No need to decode old-school geometry charts or debate whether you need a 54 or a 56 cm frame.' The Ultimate geometry sheet's size columns are 2XS…2XL with a body-height row and a seat-tube row (434-614 mm) and no centimetre size name anywhere. Canyon's own size chart controller is disallowed by its robots.txt and is not fetched. Mapping Canyon would mean overruling the manufacturer's published position with a guess.

A shopper asking for: 54 → nothing compatible · 56 → nothing compatible · 58 → nothing compatible · 60 → nothing compatible

Identity

Only listing of this configuration — nothing to merge.

Provenance — why we believe each fact

fieldsourceevidence
brandretailer:canyon / parseCanyon
modelretailer:canyon / derivedEndurace:ONfly CF 8
modelYearretailer:canyon / parseYear: 2025
categoryretailer:canyon / parseE-Bike
frameMaterialretailer:canyon / parseCarbon
groupsetFamilyretailer:canyon / dictionarySBL SHIM R8170 1000 LF140 FM JKITD FIN F | Shimano Ultegra Di2 R8170 || Shimano Ultegra Di2 || Shimano Ultegra Di2 FD-R8150
electronicShiftingretailer:canyon / parseDi2
speedsretailer:canyon / parse12s
brakesretailer:canyon / parseR8170
suspensionretailer:canyon / derivedno suspension fork and no rear shock on a drop-bar listing
forkretailer:canyon / dictionaryCanyon FK0140
dropperPostretailer:canyon / derivedseatpost row "Canyon S15 VCLS 2.0 CF" names no dropper, in a 40-field spec table
beltDriveretailer:canyon / parseShimano Ultegra Di2 FD-R8150
wheelMaterialretailer:canyon / dictionaryDT Swiss ERC 1400
wheelTierretailer:canyon / dictionaryDT Swiss ERC 1400
weightKgretailer:canyon / parseWeight: 10.94 kg
powerMeterretailer:canyon / derivedabsent from a 40-field spec table
availabilityretailer:canyon / derived2/7 sizes in stock
ebike.motorretailer:canyon / parseTQ | TQ HPR40
ebike.motor.positiondeterministic / dictionarytq-hpr40: https://www.tq-ebike.com/en/e-bike-system/hpr40/
ebike.motor.torqueNmdeterministic / dictionarytq-hpr40 40 Nm: https://www.tq-ebike.com/en/e-bike-system/hpr40/
ebike.battery.capacityWhretailer:canyon / parse290 Wh
ebike.eDisciplineretailer:canyon / parseshelf: E-Road

Warnings

Score breakdown

{
  "frameScore": 26,
  "drivetrainScore": 0,
  "wheelScore": 20,
  "extrasScore": 0,
  "suspensionScore": 2,
  "weightAdjustment": 4,
  "equipmentValue": 52,
  "notes": [
    "Groupset not identified: 0 drivetrain points.",
    "Wheels \"high-quality-carbon\" = 20.",
    "Brakes \"hydraulic-disc\" = 0, the baseline for mtb-hardtail.",
    "10.94 kg vs 14.4 kg mtb-hardtail reference = +4.",
    "Fork \"rigid\" +2 (0 mm travel, which is not scored)."
  ],
  "marketPrice": null,
  "valueScore": null,
  "savingsVsMarket": null
}

AI normalization

Not used: deterministic parsing resolved every field it needed.

Normalized record

{
  "id": "canyon:4045",
  "retailer": "canyon",
  "retailerProductId": "4045",
  "productUrl": "https://www.canyon.com/en-de/electric-bikes/electric-road-bikes/endurace-on-fly/endurace-onfly-cf-8/4045.html",
  "brand": "Canyon",
  "model": "Endurace:ONfly CF 8",
  "modelYear": 2025,
  "category": "e-bike",
  "categoryBasis": "stated",
  "sourceCategory": "e-bike",
  "price": 6999,
  "originalPrice": null,
  "currency": "EUR",
  "discountPercent": null,
  "frameMaterial": "carbon",
  "frameModel": "Canyon Endurace:ONfly CF",
  "frameTier": null,
  "groupsetBrand": "Shimano",
  "groupsetFamily": "Ultegra Di2",
  "groupsetGeneration": null,
  "electronicShifting": true,
  "speeds": 12,
  "mixedGroupset": false,
  "groupsetComponents": {
    "shifters": "Ultegra Di2",
    "rearDerailleur": "Ultegra Di2",
    "frontDerailleur": "Ultegra Di2",
    "cassette": "Ultegra"
  },
  "groupsetTierSpread": 0,
  "crank": "Praxis EC-5",
  "cassette": "Shimano CS-R8101 11-34 12s",
  "brakes": "hydraulic-disc",
  "brakePistons": null,
  "brakeTier": "unknown",
  "suspension": "none",
  "fork": {
    "make": null,
    "line": null,
    "tier": "rigid",
    "travelMm": 0
  },
  "rearShock": null,
  "dropperPost": false,
  "beltDrive": false,
  "hubDynamo": null,
  "rack": null,
  "mudguards": null,
  "chaincase": null,
  "kickstand": null,
  "lighting": null,
  "wheelSize": null,
  "wheelset": "DT Swiss ERC 1400 Dicut | DT Swiss ERC1400 | Carbon (CF)",
  "wheelMaterial": "carbon",
  "wheelTier": "high-quality-carbon",
  "tyres": "Schwalbe Pro One TLE, 32mm",
  "weightKg": 10.94,
  "ebike": {
    "motor": {
      "text": "TQ | TQ HPR40",
      "brand": "tq",
      "model": "tq-hpr40",
      "position": "mid",
      "torqueNm": 40,
      "torqueSource": "manufacturer",
      "ratedPowerW": null,
      "peakPowerW": null
    },
    "battery": {
      "text": "TQ 290 Wh",
      "capacityWh": 290,
      "count": 1,
      "integration": "unknown",
      "removable": null
    },
    "speedClass": "unknown",
    "rangeExtender": "unknown",
    "display": null,
    "abs": null,
    "autoShift": null,
    "statedRangeKm": null,
    "eDiscipline": "e-road",
    "eDisciplineBasis": "leaf",
    "frameShape": "unknown",
    "cargoType": "unknown",
    "maxSystemWeightKg": null,
    "rackCapacityKg": null,
    "weightIncludesBattery": null
  },
  "powerMeter": false,
  "powerMeterKind": null,
  "availableSizes": [
    {
      "rawSize": "2XL",
      "size": null,
      "sizeCm": null,
      "inStock": true,
      "stockCount": null,
      "price": 6999
    },
    {
      "rawSize": "XS",
      "size": "XS",
      "sizeCm": null,
      "inStock": false,
      "stockCount": null,
      "price": 6999
    },
    {
      "rawSize": "S",
      "size": "S",
      "sizeCm": null,
      "inStock": false,
      "stockCount": null,
      "price": 6999
    },
    {
      "rawSize": "M",
      "size": "M",
      "sizeCm": null,
      "inStock": false,
      "stockCount": null,
      "price": 6999
    },
    {
      "rawSize": "L",
      "size": "L",
      "sizeCm": null,
      "inStock": false,
      "stockCount": null,
      "price": 6999
    },
    {
      "rawSize": "XL",
      "size": "XL",
      "sizeCm": null,
      "inStock": true,
      "stockCount": null,
      "price": 6999
    },
    {
      "rawSize": "2XS",
      "size": null,
      "sizeCm": null,
      "inStock": false,
      "stockCount": null,
      "price": 6999
    }
  ],
  "seller": null,
  "availability": "in-stock",
  "gtins": [],
  "imageUrl": "https://dma.canyon.com/image/upload/w_945,h_495,c_fit/f_auto/q_auto/v1746461037/2025_FULL_endurace-on-fly_cf-8_4045_R137_P01_mnkkhx",
  "rawTitle": "Endurace:ONfly CF 8",
  "fetchedAt": "2026-09-26T08:37:03.454Z",
  "normalizationConfidence": 1,
  "warnings": [
    {
      "code": "implausible-weight",
      "message": "Stated weight 10.94 kg is outside the 12-70 kg plausible range for a complete e-bike.",
      "severity": "high"
    }
  ],
  "ebikeAi": {
    "requested": [
      "speedClass",
      "batteryIntegration",
      "frameShape"
    ],
    "applied": [],
    "rejected": [],
    "notes": "The source does not establish speedClass, batteryIntegration, or frameShape.",
    "raw": {
      "motorBrand": {
        "value": "tq",
        "evidence": "Motor: TQ",
        "confidence": 1
      },
      "motorModel": {
        "value": "tq-hpr40",
        "evidence": "Motor: TQ HPR40",
        "confidence": 1
      },
      "batteryWh": {
        "value": "290",
        "evidence": "Battery: TQ 290 Wh",
        "confidence": 1
      },
      "speedClass": {
        "value": null,
        "evidence": null,
        "confidence": 0
      },
      "batteryIntegration": {
        "value": null,
        "evidence": null,
        "confidence": 0
      },
      "frameShape": {
        "value": null,
        "evidence": null,
        "confidence": 0
      },
      "notes": "The source does not establish speedClass, batteryIntegration, or frameShape."
    }
  }
}

Parsed specification table

{
  "Material": "Carbon (CF)",
  "Weight": "10.94 kg",
  "World": "E-Bike",
  "Style": "E-Road",
  "Best for": "Electric assistance",
  "Generation": "Adult",
  "Year": "2025",
  "Brake Type": "Disc brake",
  "Brake Brand": "Shimano",
  "Number of Chainrings": "2",
  "Motor Brand": "TQ",
  "Rear Derailleur Brand": "Shimano",
  "Rear Derailleur Type": "Electronic",
  "Rear Derailleur Model": "Shimano Ultegra",
  "Wheel Brand": "DT Swiss",
  "Frame tyre clearance": "35",
  "Fork tyre clearance": "35",
  "Lights": "Reflector Set | LightSkin Ultra Mini | LIGH LUPI C14 TAIL KF SET R137 Final",
  "Seatpost": "Canyon S15 VCLS 2.0 CF",
  "Thru Axle": "Canyon Through Axle",
  "Handlebar Tape": "Canyon Ergospeed Gel",
  "Chain": "Shimano XT",
  "Tyre": "Schwalbe Pro One TLE, 32mm",
  "Front Derailleur": "Shimano Ultegra Di2 FD-R8150",
  "Saddle": "Fizik Aliante R5",
  "Front Wheel": "DT Swiss ERC 1400 Dicut",
  "Shift-/ Brake Lever": "SBL SHIM R8170 1000 LF140 FM JKITD FIN F | Shimano Ultegra Di2 R8170",
  "Rear Derailleur": "Shimano Ultegra Di2",
  "Brake Rotor": "Shimano Ultegra RT-CL800",
  "Cassette": "Shimano CS-R8101 11-34 12s",
  "Frame": "Canyon Endurace:ONfly CF",
  "Fork": "Canyon FK0140",
  "Battery": "TQ 290 Wh",
  "Motor": "TQ HPR40",
  "IoT-Modul": "Comodule Guardian GPS Module",
  "Cockpit": "CP0048 PACE T-Bar 90 mm",
  "Rear Wheel": "DT Swiss ERC1400",
  "Crank": "Praxis EC-5",
  "Brake Lever": "SBL SHIM R8170 1000 LF140 FM JKITD FIN F | Shimano Ultegra Di2 R8170",
  "Wheel Material": "Carbon (CF)"
}

Raw adapter output

{
  "retailer": "canyon",
  "retailerProductId": "4045",
  "productUrl": "https://www.canyon.com/en-de/electric-bikes/electric-road-bikes/endurace-on-fly/endurace-onfly-cf-8/4045.html",
  "extractionMethod": "json-ld",
  "sourceCategory": "e-bike",
  "rawTitle": "Endurace:ONfly CF 8",
  "rawBrand": "Canyon",
  "price": 6999,
  "originalPrice": null,
  "currency": "EUR",
  "imageUrl": "https://dma.canyon.com/image/upload/w_945,h_495,c_fit/f_auto/q_auto/v1746461037/2025_FULL_endurace-on-fly_cf-8_4045_R137_P01_mnkkhx",
  "rawSpecifications": {
    "Material": "Carbon (CF)",
    "Weight": "10.94 kg",
    "World": "E-Bike",
    "Style": "E-Road",
    "Best for": "Electric assistance",
    "Generation": "Adult",
    "Year": "2025",
    "Brake Type": "Disc brake",
    "Brake Brand": "Shimano",
    "Number of Chainrings": "2",
    "Motor Brand": "TQ",
    "Rear Derailleur Brand": "Shimano",
    "Rear Derailleur Type": "Electronic",
    "Rear Derailleur Model": "Shimano Ultegra",
    "Wheel Brand": "DT Swiss",
    "Frame tyre clearance": "35",
    "Fork tyre clearance": "35",
    "Lights": "Reflector Set | LightSkin Ultra Mini | LIGH LUPI C14 TAIL KF SET R137 Final",
    "Seatpost": "Canyon S15 VCLS 2.0 CF",
    "Thru Axle": "Canyon Through Axle",
    "Handlebar Tape": "Canyon Ergospeed Gel",
    "Chain": "Shimano XT",
    "Tyre": "Schwalbe Pro One TLE, 32mm",
    "Front Derailleur": "Shimano Ultegra Di2 FD-R8150",
    "Saddle": "Fizik Aliante R5",
    "Front Wheel": "DT Swiss ERC 1400 Dicut",
    "Shift-/ Brake Lever": "SBL SHIM R8170 1000 LF140 FM JKITD FIN F | Shimano Ultegra Di2 R8170",
    "Rear Derailleur": "Shimano Ultegra Di2",
    "Brake Rotor": "Shimano Ultegra RT-CL800",
    "Cassette": "Shimano CS-R8101 11-34 12s",
    "Frame": "Canyon Endurace:ONfly CF",
    "Fork": "Canyon FK0140",
    "Battery": "TQ 290 Wh",
    "Motor": "TQ HPR40",
    "IoT-Modul": "Comodule Guardian GPS Module",
    "Cockpit": "CP0048 PACE T-Bar 90 mm",
    "Rear Wheel": "DT Swiss ERC1400",
    "Crank": "Praxis EC-5",
    "Brake Lever": "SBL SHIM R8170 1000 LF140 FM JKITD FIN F | Shimano Ultegra Di2 R8170",
    "Wheel Material": "Carbon (CF)"
  },
  "rawFeatures": [
    "A high-end, beautifully refined e-road bike. Premium components: Shimano Ultegra electronic shifting, carbon wheels, iconic S14 carbon seatpost. Natural-feeling motor support, road bike aesthetics. Feature-packed carbon frame: GPS tracker, top tube mounts, fender mounts. High-vis artwork, integrated lighting."
  ],
  "rawSizes": [
    {
      "rawSize": "2XL",
      "size": null,
      "sizeCm": null,
      "inStock": true,
      "stockCount": null,
      "price": 6999
    },
    {
      "rawSize": "XS",
      "size": "XS",
      "sizeCm": null,
      "inStock": false,
      "stockCount": null,
      "price": 6999
    },
    {
      "rawSize": "S",
      "size": "S",
      "sizeCm": null,
      "inStock": false,
      "stockCount": null,
      "price": 6999
    },
    {
      "rawSize": "M",
      "size": "M",
      "sizeCm": null,
      "inStock": false,
      "stockCount": null,
      "price": 6999
    },
    {
      "rawSize": "L",
      "size": "L",
      "sizeCm": null,
      "inStock": false,
      "stockCount": null,
      "price": 6999
    },
    {
      "rawSize": "XL",
      "size": "XL",
      "sizeCm": null,
      "inStock": true,
      "stockCount": null,
      "price": 6999
    },
    {
      "rawSize": "2XS",
      "size": null,
      "sizeCm": null,
      "inStock": false,
      "stockCount": null,
      "price": 6999
    }
  ],
  "availabilityText": null,
  "fetchedAt": "2026-09-26T08:37:03.454Z",
  "sourceMeta": {
    "productGroupId": "4045",
    "rideStyle": "E-Road",
    "variantCount": 14,
    "colours": [
      "Stealth",
      "Frosted White"
    ],
    "variantSkus": [
      "50036200",
      "50033923",
      "50033924",
      "50033925",
      "50033926",
      "50033927",
      "50034245",
      "50034246",
      "50034247",
      "50034248",
      "50034249",
      "50034250",
      "50034251",
      "50034401"
    ]
  },
  "listingPath": [
    "E-Bikes",
    "E-Road"
  ]
}

Impressum · Privacy · Contact · About BikeFind