# Cannondale — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Find detailed Cannondale bicycle and gear information including specs, geometry, and variants, then locate authorized dealers near you. Search across bikes, electric bikes, and accessories to compare products and check local availability in real-time.

**Category:** E-commerce | **Website:** [cannondale.com/](https://cannondale.com/) | **Docs:** [parse.bot/marketplace/d94509d5-5780-4c29-a944-8df635f2a351/cannondale-com-api](https://parse.bot/marketplace/d94509d5-5780-4c29-a944-8df635f2a351/cannondale-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-cannondale-com-api-d94509d5/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_bike_detail

Get detailed bike information including full specifications, geometry data, and all variants with pricing and UPC codes. Requires the full product page URL. Returns spec groups (Brakes, Components, Drivetrain, Frameset, WheelsAndTires, Electronics, GeneralInfo), geometry by size, and variant availability.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Full URL of the bike detail page (e.g. 'https://www.cannondale.com/en/bikes/road/race/supersix-evo/supersix-evo-hi-mod-frameset'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cannondale-com-api-d94509d5/get_bike_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### get_dealers

Find Cannondale dealers near a geographic location using the Locally.com dealer locator. Returns dealers sorted by proximity. Optionally filter by bike UPC for availability. Default location is San Francisco.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `latitude` | string | No | Latitude of the search center location. Defaults to 37.7749 (San Francisco). |
| `longitude` | string | No | Longitude of the search center location. Defaults to -122.4194 (San Francisco). |
| `radius` | string | No | Search radius as diagonal distance in the map bounding box (approximate km). |
| `upc` | string | No | Optional UPC code to filter dealers stocking a specific bike variant. Use '00' or omit for no filter. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cannondale-com-api-d94509d5/get_dealers \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"latitude":"<string>","longitude":"<string>","radius":"<string>","upc":"<string>"}'
```

### list_bikes

List all bikes from the Cannondale catalog with pagination. Returns bikes across all categories (road, mountain, electric, etc.) with variant and tag information. Each bike includes a URL that can be passed to get_bike_detail for full specifications.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of results per page (max 250). |
| `offset` | integer | No | Starting index for results. Pagination is calculated as page = (offset / limit) + 1. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cannondale-com-api-d94509d5/list_bikes \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","offset":"<integer>"}'
```

### list_electric_bikes

List electric bikes only from the Cannondale catalog with pagination. Filters to bikes categorized under the 'electric' category slug. Each bike includes a URL that can be passed to get_bike_detail for full specifications.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of results per page (max 250). |
| `offset` | integer | No | Starting index for results. Pagination is calculated as page = (offset / limit) + 1. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cannondale-com-api-d94509d5/list_electric_bikes \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","offset":"<integer>"}'
```

### list_gear

List gear and accessories (components, equipment, apparel) from the Cannondale catalog with pagination. Returns non-bike products such as hubs, seatposts, lights, and other accessories.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of results per page (max 250). |
| `offset` | integer | No | Starting index for results. Pagination is calculated as page = (offset / limit) + 1. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cannondale-com-api-d94509d5/list_gear \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","offset":"<integer>"}'
```

### search_products

Search for products (bikes and gear) by keyword across the entire Cannondale catalog. Returns matching results with pagination. Matches against model name, category, platform, description, and other product fields.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of results per page (max 250). |
| `offset` | integer | No | Starting index for results. Pagination is calculated as page = (offset / limit) + 1. |
| `query` | string | Yes | Search keyword (e.g. 'SuperSix', 'gravel', 'helmet'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cannondale-com-api-d94509d5/search_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","offset":"<integer>","query":"<string>"}'
```
