# Cult Beauty — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.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.

> Browse and search Cult Beauty's product catalog by category or brand, view detailed product information including ingredients and loyalty points, and read customer reviews. Discover new arrivals, sale items, and filter products to find exactly what you're looking for.

**Category:** E-commerce | **Website:** [cultbeauty.co.uk/](https://cultbeauty.co.uk/) | **Docs:** [parse.bot/marketplace/4d4891a3-c9c5-4836-b91f-bb8d3d845493/cultbeauty-co-uk-api](https://parse.bot/marketplace/4d4891a3-c9c5-4836-b91f-bb8d3d845493/cultbeauty-co-uk-api)

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

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/cult-beauty/`
**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 brand list

Retrieve the full brand directory from Cult Beauty. Returns all available brands with their name, slug, and URL. No parameters required.

**Estimated cost:** Metered

_No parameters required._

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

### Get brand products

Browse products for a specific brand on Cult Beauty. Returns paginated product listings for the given brand slug. Each product includes full details with pricing, variants, reviews, and content.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `brand_slug` | string | Yes | The brand slug as returned by get_brand_list (e.g. 'elemis', 'charlotte-tilbury', 'dr-jart'). |
| `page` | integer | No | Page number to retrieve. |

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

### Get category products

Browse product listings for a category or subcategory on Cult Beauty. Returns paginated product results for a given category path. Each product includes full details with pricing, variants, reviews, and content.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_path` | string | Yes | The category URL path (e.g. '/c/skin-care/moisturisers/', '/c/make-up/lips/'). |
| `page` | integer | No | Page number to retrieve. |

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

### Get new arrivals

Retrieve new and trending products from Cult Beauty. Returns paginated product listings from the 'What's New' section. Each product includes full details with pricing, variants, reviews, and content.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/cult-beauty/get-new-arrivals \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### Get product details

Retrieve full product details for a given Cult Beauty product URL. Returns comprehensive product information including title, price, brand, ingredients, reviews, variants, recommendations, and other customers bought. Requires the full product page URL.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | The full URL of the product page (e.g. 'https://www.cultbeauty.co.uk/p/elemis-pro-collagen-energising-marine-cleanser-150ml/12624608/'). |

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

### Get product reviews

Retrieve customer reviews for a specific product ID via Bazaarvoice. Returns review data including text, ratings, author info, and syndication details. Supports pagination via limit and offset.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of reviews to return per request. |
| `offset` | integer | No | Offset for pagination. |
| `product_id` | string | Yes | The internal product ID/SKU (e.g. '12624608'). Obtainable from search_products or get_product_details results. |

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

### Get sale products

Retrieve currently on-sale products from Cult Beauty. Returns paginated product listings from the sale section. Products include discounted pricing where price differs from rrp.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/cult-beauty/get-sale-products \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### Search products

Full-text search over Cult Beauty's product catalog. Returns products matching the query with full details including pricing, variants, reviews summary, and content. Supports pagination via page number. Multi-word queries are handled via a GraphQL fallback when the HTML search page redirects.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve. |
| `query` | string | Yes | Search query string (e.g. 'elemis', 'vitamin c serum'). |

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

## Next steps

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