# Clicks — 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 and browse thousands of products from Clicks, South Africa's leading pharmacy, health, home and beauty retailer, with access to detailed product information, pricing, and the complete category structure. Discover items by keyword search or explore products organized by category to find exactly what you need.

**Category:** E-commerce | **Website:** [www.clicks.co.za/](https://www.clicks.co.za/) | **Docs:** [parse.bot/marketplace/2247fc40-d214-4f78-beab-c3c5e7cb5860/clicks-co-za-api](https://parse.bot/marketplace/2247fc40-d214-4f78-beab-c3c5e7cb5860/clicks-co-za-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/clicks/`
**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 categories

Get the category hierarchy. When called without a parent, returns top-level categories. When called with a parent path, returns its direct children. Each category includes a product count and full path usable in get_category_products.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `parent` | string | No | Parent category path to get children of (e.g. 'Beauty'). Omit to get top-level categories. |

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

### Get category products

Browse products within a category. Supports pagination and sorting. Category paths use ' > ' as separator (e.g. 'Beauty > Skincare'). Use get_categories to discover valid category paths.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | Yes | Category path using ' > ' separator (e.g. 'Beauty', 'Beauty > Skincare', 'Beauty > Skincare > Sun Care'). Obtain from get_categories endpoint. |
| `hits_per_page` | integer | No | Number of products per page (1-100). |
| `page` | integer | No | Zero-based page number for pagination. |
| `sort` | string | No | Sort order for results. |

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

### Get product details

Get full details for a single product by its numeric product ID (as returned in search_products or get_category_products results). Returns extended product information including variants, flags, and attributes.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_id` | string | Yes | Numeric product ID (e.g. '290870') from search_products or get_category_products results. |

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

### Search products

Search products by keyword. Returns paginated results with product details including price, availability, promotions, and category. One API call per page; use the page parameter to paginate through results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `hits_per_page` | integer | No | Number of products per page (1-100). |
| `page` | integer | No | Zero-based page number for pagination. |
| `query` | string | Yes | Search keyword or phrase (e.g. 'sunscreen', 'shampoo', 'vitamin c'). |

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