# Not On The High Street — 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 unique products from Not On The High Street, viewing detailed product information, customer reviews, seller profiles, and similar items all in one place. Discover curated gift and home goods with real-time access to pricing, availability, and seller details to help you find the perfect independent retailers.

**Category:** Marketplaces | **Website:** [notonthehighstreet.com/](https://notonthehighstreet.com/) | **Docs:** [parse.bot/marketplace/7dea9ce1-c6ec-4214-a5cc-452b508bfd4a/notonthehighstreet-com-api](https://parse.bot/marketplace/7dea9ce1-c6ec-4214-a5cc-452b508bfd4a/notonthehighstreet-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-notonthehighstreet-com-api-7dea9ce1/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_category_products

Browse products within a specific category. Returns products, facets for filtering, and pagination metadata. Category paths follow the site's URL structure (e.g. 'gifts/gifts-for-her').

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_path` | string | Yes | Category URL path (e.g. 'gifts/gifts-for-her'). |
| `page` | integer | No | Page number. |

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

### get_product_details

Retrieve full details for a single product given its seller and product URL slugs. Returns comprehensive product data including attributes, pricing, images, options, dimensions, materials, and availability. The seller_slug and product_slug are available on each ProductSummary from search/category/seller listing endpoints.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_slug` | string | Yes | Product's URL slug (e.g. 'personalised-year-of-music-print'). |
| `seller_slug` | string | Yes | Seller's URL slug (e.g. 'elevencorners'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-notonthehighstreet-com-api-7dea9ce1/get_product_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_slug":"<string>","seller_slug":"<string>"}'
```

### get_product_reviews

Retrieve customer reviews for a specific product. Returns reviews with ratings and comments, plus aggregate statistics (average rating, total count). Paginated with configurable page size.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number. |
| `per_page` | integer | No | Reviews per page. |
| `product_code` | string | Yes | Product code (numeric ID, e.g. '964922'). Available as 'code' field on ProductSummary and Product. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-notonthehighstreet-com-api-7dea9ce1/get_product_reviews \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","per_page":"<integer>","product_code":"<string>"}'
```

### get_search_suggestions

Get search suggestions for a partial query. Returns suggested search terms and matching partner/seller names for autocomplete functionality.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Partial search query (e.g. 'birthday'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-notonthehighstreet-com-api-7dea9ce1/get_search_suggestions \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```

### get_seller_products

List all products offered by a specific seller with pagination. Returns product summaries and total product count for the seller.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number. |
| `seller_slug` | string | Yes | Seller's URL slug (e.g. 'elevencorners'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-notonthehighstreet-com-api-7dea9ce1/get_seller_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","seller_slug":"<string>"}'
```

### get_seller_profile

Retrieve a seller/partner profile including their story, location, logo, cover image, and branding information. The seller_slug is available as partner.shortcode on any ProductSummary.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `seller_slug` | string | Yes | Seller's URL slug (e.g. 'elevencorners'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-notonthehighstreet-com-api-7dea9ce1/get_seller_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"seller_slug":"<string>"}'
```

### get_similar_products

Retrieve similar/recommended products for a given product using the recommendations engine. Returns a list of product summaries that are related to the specified product.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_code` | string | Yes | Product code (numeric ID, e.g. '964922'). Available as 'code' field on ProductSummary and Product. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-notonthehighstreet-com-api-7dea9ce1/get_similar_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_code":"<string>"}'
```

### search_products

Full-text search over the marketplace product catalog. `query` matches product titles and descriptions; results are paginated with configurable page size. Returns product summaries with pricing, seller info, and availability. Omitting query returns all products. Each ProductSummary includes seller_slug and product_slug for navigating to full details.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number. |
| `page_size` | integer | No | Results per page. |
| `query` | string | No | Search keyword (e.g. 'personalised gifts'). Omitting returns all products. |
| `sort` | string | No | Sort order. Accepted value: 'newest'. Only applied on page 1 via SSR fallback. |

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