cannondale.com APIcannondale.com ↗
Access Cannondale bike listings, full specs, geometry tables, variant pricing, and local dealer locations via 6 structured API endpoints.
curl -X GET 'https://api.parse.bot/scraper/a3515044-41d4-44cf-a889-e3c49ca05dda/list_bikes?limit=5&offset=0' \ -H 'X-API-Key: $PARSE_API_KEY'
List all bikes from the Cannondale catalog with pagination. Returns bikes across all categories (road, mountain, electric, etc.) with variant and tag information.
| Param | Type | Description |
|---|---|---|
| limit | integer | Number of results per page (max 250). |
| offset | integer | Starting index for results. Pagination is calculated as page = (offset / limit) + 1. |
{
"type": "object",
"fields": {
"bikes": "array of bike objects with name, platform, category, sub_category, salsify_id, url, description, model_year, is_electric, tags, badges, and variants",
"count": "integer number of bikes returned in this response",
"total": "integer total number of bikes in the catalog"
},
"sample": {
"data": {
"bikes": [
{
"url": "https://www.cannondale.com/en/bikes/electric/e-fitness/quick-neo/quick-neo-smu",
"name": "Quick Neo",
"tags": [
"ELECTRIC-ASSIST",
"FLATBAR"
],
"badges": [],
"category": "Electric",
"platform": "Quick Neo",
"variants": [
{
"sku": "C63271M30SM",
"size": "SM",
"color_swatch": "BLK",
"has_inventory": false,
"product_image_3q": "677nvtzemt",
"main_detail_image": "niowiq7txo"
}
],
"model_year": 2021,
"salsify_id": "8103-2021-SMU",
"description": "A super light hybrid eBike with up to 102mi range Bosch motor",
"is_electric": true,
"sub_category": "E-Fitness"
},
{
"url": "https://www.cannondale.com/en/bikes/electric/e-mountain/moterra-neo/moterra-neo-4-c65423u",
"name": "Moterra Neo 4",
"tags": [
"ELECTRIC-ASSIST",
"FULLSUSPENSION"
],
"badges": [],
"category": "Electric",
"platform": "Moterra Neo",
"variants": [
{
"sku": "C65423U10SM",
"size": "SM",
"color_swatch": "SBK",
"has_inventory": false
}
],
"model_year": 2021,
"salsify_id": "7824-COLL2023-C65423U",
"description": "An enduro eMTB, SRAM SX, 150mm RockShox Silver R fork & 75mi Shimano motor",
"is_electric": true,
"sub_category": "E-Mountain"
}
],
"count": 2,
"total": 602
},
"status": "success"
}
}About the cannondale.com API
The Cannondale API covers 6 endpoints that return structured product data from cannondale.com, including full bike specifications, geometry tables, variant-level pricing, and dealer locations. The get_bike_detail endpoint returns spec groups across Brakes, Drivetrain, Frameset, WheelsAndTires, and Electronics alongside per-size geometry maps. Pagination is supported across listing endpoints, and search_products lets you query the full catalog by keyword.
Catalog Listings and Search
Three listing endpoints cover the full catalog: list_bikes returns all bikes across road, mountain, electric, and other categories with fields like name, platform, category, sub_category, model_year, is_electric, tags, and url. list_electric_bikes applies a category filter for electric bikes only, returning the same shape. list_gear covers components, equipment, and apparel. All three support limit (up to 250) and offset for pagination. search_products accepts a query string and paginates results from both bikes and gear, returning count, total, and a results array with the same product fields.
Detailed Bike Data
get_bike_detail takes a full Cannondale product page URL and returns a structured object with specs grouped into named sections — Brakes, Components, Drivetrain, Frameset, WheelsAndTires, Electronics, and GeneralInfo — plus a geometry object mapping frame size to individual measurements, a variants array with per-variant sku, size, color, upc, price, sale_price, and inventory, and an images array. This is the primary endpoint for spec comparison and inventory workflows.
Dealer Locator
get_dealers returns nearby authorized Cannondale dealers given a latitude, longitude, and optional radius. Results include dealer id, name, address, city, lat, and lng. The optional upc parameter — which can be obtained from the variants array in get_bike_detail — narrows results to dealers that stock a specific bike variant, making it useful for pairing product lookup with local availability checks.
- Build a bike spec comparison tool using
get_bike_detailto pull Drivetrain and Frameset specs across multiple models - Track variant-level pricing and sale prices by polling
list_bikesandget_bike_detailfor inventory and price changes - Populate a store locator by querying
get_dealerswith GPS coordinates from a user's browser - Filter the electric bike catalog using
list_electric_bikeswith pagination for an e-bike recommendation widget - Check local stock for a specific bike variant by passing its UPC from
get_bike_detailintoget_dealers - Index the full Cannondale catalog for site search by iterating
list_gearandlist_bikeswith offset pagination - Surface geometry tables per frame size for cyclist fit calculators using the
geometryfield inget_bike_detail
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Cannondale offer an official developer API?+
What does `get_bike_detail` return beyond basic product info?+
get_bike_detail returns a specs object broken into groups — Brakes, Components, Drivetrain, Frameset, WheelsAndTires, Electronics, and GeneralInfo — a geometry object keyed by frame size, a variants array with per-variant sku, upc, price, sale_price, and inventory, plus an images array and full description. You pass the full Cannondale product page URL as the url parameter.Can I get user reviews or ratings for bikes through this API?+
How does pagination work across listing endpoints?+
limit (max 250) and offset parameters. The effective page is calculated as (offset / limit) + 1. Each response includes count (items in the current page) and total (full catalog size), so you can iterate until offset + count >= total.Does the API cover Cannondale products sold outside the US, or historical model years?+
model_year field per product, but coverage of non-US regional catalogs or discontinued models not present on the live site is not guaranteed. You can fork the API on Parse and revise it to target region-specific Cannondale URLs if those pages exist.