# Fortnine — 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.

> Search FortNine.ca's motorcycle and powersports products, compare variants and prices, read customer reviews, and check compatibility with a vehicle make and model. Browse brands, explore categories, and access detailed product information all in one place.

**Category:** E-commerce | **Website:** [fortnine.ca/](https://fortnine.ca/) | **Docs:** [parse.bot/marketplace/bc6e760d-7073-4b01-b362-c6c4f0003add/fortnine-ca-api](https://parse.bot/marketplace/bc6e760d-7073-4b01-b362-c6c4f0003add/fortnine-ca-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-fortnine-ca-api-bc6e760d/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_category_products

List products within a category identified by its URL slug. Returns paginated product listings with 1-indexed pages. Category slugs use hyphenated format matching the site's URL structure.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number (1-indexed) |
| `slug` | string | Yes | Category URL slug in hyphenated format (e.g. 'motorcycle-riding-gear', 'motorcycle-helmets', 'motorcycle-headwear') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-fortnine-ca-api-bc6e760d/get_category_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","slug":"<string>"}'
```

### get_product_detail

Fetch full product information by URL slug including marketing description, feature bullet points, and specifications grouped by section. The product_id field can be used with get_product_reviews.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Product URL slug (e.g. 'shoei-rf-1400-solid-helmet', 'alpinestars-sp-8-v3-gloves') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-fortnine-ca-api-bc6e760d/get_product_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_product_reviews

Retrieve customer reviews for a product via Bazaarvoice, sorted by submission time descending. Includes aggregate rating statistics and secondary rating breakdowns. Supports offset-based pagination via offset and limit params.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of reviews to return |
| `offset` | integer | No | Offset for pagination |
| `product_id` | string | Yes | Product ID in format 'conf.CM<digits>' (e.g. 'conf.CM1526043'). Obtain from get_product_detail or search_products sku field. |

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

### get_product_variants

Get configurable product options (colors, sizes) and their swatch images. Each attribute has selectable options; swatches provide visual previews per option value.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Product URL slug (e.g. 'shoei-rf-1400-solid-helmet') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-fortnine-ca-api-bc6e760d/get_product_variants \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_vehicle_makes

Get vehicle makes available for a given year. First step in the vehicle fitment filter: year → make → model. Returns makes grouped by popularity.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `year` | string | Yes | Vehicle year (e.g. '2024') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-fortnine-ca-api-bc6e760d/get_vehicle_makes \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"year":"<string>"}'
```

### get_vehicle_models

Get vehicle models for a given year and make. Second step in the vehicle fitment filter. Use make_id obtained from get_vehicle_makes.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `make_id` | string | Yes | Make ID from get_vehicle_makes (e.g. '26' for Honda) |
| `year` | string | Yes | Vehicle year (e.g. '2024') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-fortnine-ca-api-bc6e760d/get_vehicle_models \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"make_id":"<string>","year":"<string>"}'
```

### list_brands

List all brands available on FortNine. Returns the complete brand directory with URL-safe slugs for further navigation.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-fortnine-ca-api-bc6e760d/list_brands \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### search_products

Full-text product search via Algolia. Matches product names, brands, and descriptions. Paginates with 0-indexed pages; each page returns up to `limit` hits. Total result count and page count are included for client-side iteration.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Results per page |
| `page` | integer | No | Page number (0-indexed) |
| `query` | string | Yes | Search keyword (e.g. 'helmet', 'gloves', 'AGV') |

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