# Campsites — 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 for UK campsites, view detailed information including amenities and facilities, and check real-time availability across different accommodation types and categories. Plan your camping trip by filtering results to find the perfect site that matches your needs.

**Category:** Travel | **Website:** [campsites.co.uk/](https://campsites.co.uk/) | **Docs:** [parse.bot/marketplace/3a5ef818-5a16-4232-90c2-761eb92570e7/campsites-co-uk-api](https://parse.bot/marketplace/3a5ef818-5a16-4232-90c2-761eb92570e7/campsites-co-uk-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/campsites/`
**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

### Check availability

Check daily availability for a campsite and accommodation type for a given month. Returns the year, start month, a comma-separated list of matching pitch IDs, and per-pitch availability data. Each pitch entry contains 'availability' (array of 0/1 per day of month) and 'arrival-days' (array of 0/1 per day indicating valid arrival days).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `accommodation_id` | string | Yes | Accommodation type ID from list_accommodation_types. Numeric string or special values like 'any-provided', 'pod'. |
| `campsite_id` | string | Yes | Campsite ID from search_campsites results[*].id or get_campsite_details id field. |
| `month` | integer | Yes | Month number, 1 through 12. |
| `year` | integer | Yes | Year to check availability for. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/campsites/check-availability \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"accommodation_id":"<string>","campsite_id":"<string>","month":"<integer>","year":"<integer>"}'
```

### Get campsite details

Get full details for a specific campsite including description, address, coordinates, facilities, features, pitches, reviews, FAQs, images, and pricing. The slug is the URL path from search_campsites results (e.g. '/search/campsites-in-cornwall/par/east-crinnis-holiday-park'). Returns a single campsite with all available metadata.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Campsite URL path from search_campsites results[*].url, e.g. '/search/campsites-in-cornwall/par/east-crinnis-holiday-park'. |

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

### List accommodation types

List all accommodation types grouped by category (Tent, Caravan, Glamping, CampervanorMotorhome). Each entry has a value (ID string for use in availability checks) and a label (display name). This is a reference endpoint for discovering valid accommodation_id values.

**Estimated cost:** Metered

_No parameters required._

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

### List categories

List popular destinations, glamping types, featured searches, and featured accommodation from the homepage. Primary use is discovering valid location slugs for search_campsites via popular_destinations[*].URL. Each destination includes park counts by type.

**Estimated cost:** Metered

_No parameters required._

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

### Search campsites

Search for campsites by location with optional date and guest filters. Returns paginated summaries ordered by rating. The location must match the site's URL slug pattern (e.g. 'cornwall', 'devon', 'the-lake-district'). Paginates via integer page counter; page_count in the response indicates total pages available.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `adults` | integer | No | Number of adults. |
| `arrival` | string | No | Arrival date in YYYY-MM-DD format. |
| `children` | integer | No | Number of children. |
| `location` | string | Yes | Location slug matching the site's URL pattern. Confirmed working values include 'cornwall', 'devon', 'the-lake-district', 'dorset'. Multi-word locations require hyphens and may need articles (e.g. 'the-lake-district' not 'lake-district'). Discover valid slugs from list_categories popular_destinations[*].URL. |
| `nights` | integer | No | Number of nights for the stay. |
| `page` | integer | No | Page number for pagination. |

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

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