# Chemist Warehouse NZ — 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 for medications and health products at Chemist Warehouse NZ, browse categories, view detailed product information, and find nearby store locations. Get access to product pricing, descriptions, and store addresses all in one place.

**Category:** E-commerce | **Website:** [chemistwarehouse.co.nz/](https://chemistwarehouse.co.nz/) | **Docs:** [parse.bot/marketplace/2e300234-8ead-4d18-99ca-d30599fe85d7/chemistwarehouse-co-nz-api](https://parse.bot/marketplace/2e300234-8ead-4d18-99ca-d30599fe85d7/chemistwarehouse-co-nz-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/chemist-warehouse-nz/`
**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 list

Get the list of top-level product categories available on Chemist Warehouse NZ. Returns category names, URLs, and IDs that can be used with get_category_products.

**Estimated cost:** Metered

_No parameters required._

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

### Get category products

Get products in a specific category by category ID. Returns paginated product listings. Use get_category_list to discover valid category IDs.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_id` | string | Yes | Numeric category ID (e.g. '256', '81', '257'). Obtain from get_category_list results. |
| `page` | integer | No | Page number (1-indexed) |
| `size` | integer | No | Number of results per page |
| `sort` | string | No | Sort option for results |

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

### Get product details

Get detailed product information including description, ingredients, directions, warnings, and images for a specific product.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_id` | string | Yes | Numeric product ID (e.g. '96405'). Obtain from search_products or get_category_products results. |
| `slug` | string | No | Product URL slug for cleaner URLs. Does not affect data returned. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/chemist-warehouse-nz/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 store locations

Find Chemist Warehouse store locations in New Zealand by search text (city, suburb, postcode) or geographic coordinates. Returns stores sorted by distance.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `lat` | string | No | Latitude for coordinate-based search (e.g. '-36.8475') |
| `lng` | string | No | Longitude for coordinate-based search (e.g. '174.76335') |
| `search_text` | string | No | Search text such as city name, suburb, or postcode (e.g. 'Auckland', 'Wellington', '1010') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/chemist-warehouse-nz/get-store-locations \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"lat":"<string>","lng":"<string>","search_text":"<string>"}'
```

### Search products

Search for products by keyword. Returns paginated product listings with prices, ratings, and thumbnails from the Chemist Warehouse NZ catalog.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number (1-indexed) |
| `query` | string | Yes | Search keyword (e.g. 'vitamin c', 'panadol', 'sunscreen') |
| `size` | integer | No | Number of results per page |
| `sort` | string | No | Sort option for results |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/chemist-warehouse-nz/search-products \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","query":"<string>","size":"<integer>","sort":"<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.