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

> Search and browse vintage furniture and decor listings on Chairish, view detailed product information with pricing and availability, and research sellers through their profiles and customer reviews. Explore product categories and discover shop recommendations to find exactly what you're looking for.

**Category:** Marketplaces | **Website:** [chairish.com/](https://chairish.com/) | **Docs:** [parse.bot/marketplace/0dba2ab5-3873-4dd0-9304-41c58f2a68e2/chairish-com-api](https://parse.bot/marketplace/0dba2ab5-3873-4dd0-9304-41c58f2a68e2/chairish-com-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/chairish/`
**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 product details

Retrieve full details for a single product including price, availability, brand, category, images, and seller information. Requires both the numeric product ID and the URL slug (both available from search or category listing results).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_id` | string | Yes | Numeric product ID (e.g. '35701720'). Available from search_products or list_category_products results. |
| `slug` | string | Yes | Product URL slug (e.g. 'vintage-cane-back-florals-chairs-a-pair'). Available from the URL path in search results. |

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

### Get seller profile

Retrieve a seller profile including their name, description, location, and active product listings. The shop_id is the slug from the shop URL (available from get_product_details seller.id or search_shops results).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `shop_id` | string | Yes | Shop slug identifier (e.g. 'stark-studio-rugs'). Available from get_product_details seller.id or search_shops results. |

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

### Get seller reviews

Retrieve verified buyer reviews for a shop. Requires the short alphanumeric dealer GUID (not the shop slug). Returns reviews with rating, content, author, date, and purchased item info.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `shop_id` | string | Yes | Short alphanumeric dealer GUID (e.g. '2dfzah'). Available from search_products or list_category_products results[*].dealer_guid. |

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

### List category products

Browse products within a specific Chairish category. Returns paginated product listings in the same shape as search. Category slugs correspond to top-level site navigation (furniture, art, rugs, lighting, etc.).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | Yes | Category slug (e.g. 'furniture', 'art', 'rugs', 'lighting'). |
| `page` | integer | No | Page number for pagination. |

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

### Search products

Full-text search over Chairish product listings. Returns paginated results with basic product info including title, price, category taxonomy, and seller GUID. Pagination via page number; total_count may be null if the site does not surface it for the query.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `query` | string | Yes | Search keyword (e.g. 'chair', 'modern rugs'). |

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

### Search shops

Search for shops and dealers by keyword. Returns a list of matching shop names with their slugs and URLs.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Shop name or keyword to search for. |

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

### Search suggestions

Get search autocomplete suggestions for a partial query. Returns keyword and shop suggestions with display text and URLs.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Partial search term to get suggestions for. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/chairish/search-suggestions \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"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.