# REI — 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 and browse REI's full catalog of outdoor gear and clothing, compare detailed product specifications, check real-time store availability, and read customer reviews to find the perfect equipment for your adventures. Explore products by category or use targeted searches to discover gear that matches your needs, all with instant access to pricing and local stock information.

**Category:** E-commerce | **Website:** [rei.com/](https://rei.com/) | **Docs:** [parse.bot/marketplace/df9e86ca-ff3b-41a6-a321-44f2cfb07729/rei-com-api](https://parse.bot/marketplace/df9e86ca-ff3b-41a6-a321-44f2cfb07729/rei-com-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/rei/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get category navigation

Retrieves the top-level product categories and their immediate subcategories from REI's camping-and-hiking taxonomy. Each category carries a slug (usable in get_category_products), a display label, a product count, and a children array of subcategories with the same shape. Returns only the camping-and-hiking branch hierarchy.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/rei/get-category-navigation \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get category products

Fetches paginated product listings for a specific REI category. Products include brand, title, price, rating, availability, color options, and image links. Pagination metadata and category facets are included for further drill-down. Sort options are limited to relevance and brand alphabetical.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_slug` | string | Yes | Category slug from REI URL path (e.g., 'camping-and-hiking', 'backpacking-tents', 'sleeping-bags'). Discoverable via get_category_navigation. |
| `page` | integer | No | Page number for pagination. |
| `pagesize` | integer | No | Results per page. Accepted values: 30, 90. |
| `sortby` | string | No | Sort order for results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/rei/get-category-products \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"category_slug":"<string>","page":"<integer>","pagesize":"<integer>","sortby":"<string>"}'
```

### Get product detail

Retrieves comprehensive product detail for a single style number: pricing, brand, media gallery, features list, specifications (best use, seasons, capacity, weight), review summary with histogram, and category breadcrumb. Returns stale_input when the style number does not exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `style_number` | string | Yes | Product style number/ID (e.g., '243702'). Found in search/category results as prodId. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/rei/get-product-detail \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"style_number":"<string>"}'
```

### Get product reviews

Fetches paginated customer reviews for a product from Bazaarvoice. Each review includes rating (1-5), title, full text, author nickname, submission date, recommendation status, and helpfulness vote counts. Ordered by most recent first.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `pagesize` | integer | No | Reviews per page (1-100). |
| `style_number` | string | Yes | Product style number (e.g., '243702'). Found in search/category results as prodId. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/rei/get-product-reviews \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","pagesize":"<integer>","style_number":"<string>"}'
```

### Get store availability

Check in-store availability of a product by style number and zip code.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `style_number` | string | Yes | Product style number |
| `zip_code` | string | No | Zip code for location-based search |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/rei/get-store-availability \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"style_number":"<string>","zip_code":"<string>"}'
```

### Search products

Full-text search across the entire REI product catalog. Returns paginated results with product tiles including brand, title, price, rating, and availability. Facets show category breakdown of matches. Sort is relevance-only for search.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `pagesize` | integer | No | Results per page. Accepted values: 30, 90. |
| `query` | string | Yes | Search keywords (e.g., 'tent', 'backpack', 'hiking boots'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/rei/search-products \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","pagesize":"<integer>","query":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://paywithlocus.com/agent/index.md): every Locus agent page.