# Watchbase — 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 explore watches across thousands of brands and collections, discover detailed specifications for watches and mechanical calibers, and retrieve high-quality watch images. Browse curated watch collections by brand or find specific timepieces using advanced search functionality.

**Category:** E-commerce | **Website:** [watchbase.com/](https://watchbase.com/) | **Docs:** [parse.bot/marketplace/1ca81c7f-10a8-4f32-8505-adb823522b97/watchbase-com-api](https://parse.bot/marketplace/1ca81c7f-10a8-4f32-8505-adb823522b97/watchbase-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/watchbase/`
**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

Get a brand profile including its full description, official website URL, and list of watch collections with counts.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `brand_slug` | string | Yes | Brand slug as returned by list_brands (e.g. rolex, omega, a-lange-sohne). |

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

### Get caliber details

Get full technical specifications for a specific caliber/movement including type, diameter, jewels, power reserve, frequency, and a list of watches using it.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `brand_slug` | string | Yes | Brand slug (e.g. rolex). |
| `caliber_slug` | string | Yes | Caliber slug from list_calibers_by_brand (e.g. 3135). |

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

### Get watch details

Get full specifications for a specific watch reference including case dimensions and materials, dial details, movement info, production years, description text, and image URLs.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `brand_slug` | string | Yes | Brand slug (e.g. rolex). |
| `collection_slug` | string | Yes | Collection slug (e.g. submariner). |
| `reference_slug` | string | Yes | Reference slug from list_watches_by_collection (e.g. 126610ln-0001). |

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

### Get watch images

Extract all image URLs for a specific watch reference. Returns a wrapped array of image URL strings.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `brand_slug` | string | Yes | Brand slug (e.g. rolex). |
| `collection_slug` | string | Yes | Collection slug (e.g. submariner). |
| `reference_slug` | string | Yes | Reference slug from list_watches_by_collection (e.g. 126610ln-0001). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/watchbase/get-watch-images \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"brand_slug":"<string>","collection_slug":"<string>","reference_slug":"<string>"}'
```

### List all calibers

List all caliber brands and their movements. Returns an array of brand objects, each containing the brand name, slug, and an array of calibers with name and slug.

**Estimated cost:** Metered

_No parameters required._

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

### List brands

List all watch brands tracked by WatchBase. Returns brand name, URL slug, and watch count for each. Useful as the entry point for discovering brand slugs needed by other endpoints.

**Estimated cost:** Metered

_No parameters required._

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

### List calibers by brand

List all calibers/movements for a specific brand. Returns an array of caliber objects with name and slug.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `brand_slug` | string | Yes | Brand slug (e.g. rolex, omega). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/watchbase/list-calibers-by-brand \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"brand_slug":"<string>"}'
```

### List collections by brand

List all watch collections (families) for a given brand. Each collection has a name, slug, and watch count.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `brand_slug` | string | Yes | Brand slug as returned by list_brands (e.g. rolex, omega, a-lange-sohne). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/watchbase/list-collections-by-brand \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"brand_slug":"<string>"}'
```

### List watches by collection

List all watches in a specific brand collection. Returns watch summaries including reference number, name, slug, thumbnail URL, and full URL.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `brand_slug` | string | Yes | Brand slug (e.g. rolex, omega). |
| `collection_slug` | string | Yes | Collection slug from list_collections_by_brand (e.g. submariner, speedmaster). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/watchbase/list-watches-by-collection \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"brand_slug":"<string>","collection_slug":"<string>"}'
```

### Search watches

Full-text search across all watches. Returns paginated results (20 per page) with total count. Each result includes reference number, name, slug, thumbnail URL, and full URL.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based). |
| `query` | string | Yes | Search query string (e.g. submariner, speedmaster, daytona). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/watchbase/search-watches \
  -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.