# Pitchup — 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 campsites across the Pitchup.com network and instantly access detailed information including reviews, real-time availability, and pricing to find and book your perfect camping destination. Filter results by location, amenities, and other criteria to narrow down your options before making a reservation.

**Category:** Travel | **Website:** [pitchup.com/](https://pitchup.com/) | **Docs:** [parse.bot/marketplace/b6b6e9fc-404d-49a4-b04e-4586eb39a7d9/pitchup-com-api](https://parse.bot/marketplace/b6b6e9fc-404d-49a4-b04e-4586eb39a7d9/pitchup-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-pitchup-com-api-b6b6e9fc/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_booking_availability

Check detailed availability and pricing for a specific pitch type over a date range. Returns per-day pricing in multiple currencies, bookable departure dates, minimum stay requirements, and pitch availability counts.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `adults_count` | integer | No | Number of adults. |
| `arrival_date` | string | Yes | Start date in YYYY-MM-DD format. |
| `departure_date` | string | Yes | End date in YYYY-MM-DD format. |
| `dogs_count` | integer | No | Number of dogs. |
| `pitchtype_id` | string | Yes | Pitch type ID (numeric string, obtainable from get_campsite_pitch_types or get_campsite_reviews). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-pitchup-com-api-b6b6e9fc/get_booking_availability \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"adults_count":"<integer>","arrival_date":"<string>","departure_date":"<string>","dogs_count":"<integer>","pitchtype_id":"<string>"}'
```

### get_campsite_contact_info

Get contact information for a specific campsite by slug or numeric ID. Returns name, address, postcode, GPS coordinates, rating, categories, and Pitchup URL. Email addresses are not available. At least one of slug or campsite_id must be provided.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `campsite_id` | string | No | Campsite numeric ID (e.g. '1642'). |
| `slug` | string | No | Campsite slug (e.g. 'monkey-tree-holiday-park'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-pitchup-com-api-b6b6e9fc/get_campsite_contact_info \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"campsite_id":"<string>","slug":"<string>"}'
```

### get_campsite_details

Get full campsite details from the Nuxt SSR data on the campsite page. Accepts either a short slug or a full path. Short slugs are automatically resolved to their full path via the search API. Returns the raw Nuxt data array which contains comprehensive campsite information.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Campsite slug (e.g. 'monkey-tree-holiday-park') or full path (e.g. 'England/South_West/Cornwall/Newquay/monkey-tree-holiday-park'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-pitchup-com-api-b6b6e9fc/get_campsite_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_campsite_nearby_sites

Get nearby campsites for a specific campsite. Returns a list of nearby sites ordered by distance with pricing, ratings, categories, and distance in miles and kilometers.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Campsite slug (e.g. 'monkey-tree-holiday-park'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-pitchup-com-api-b6b6e9fc/get_campsite_nearby_sites \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_campsite_pitch_types

Get pitch types and availability calendar for a campsite. Returns datepicker availability data showing which dates have available pitches and which pitch type IDs are bookable on each date, plus Nuxt SSR data from the campsite page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `adults_count` | integer | No | Number of adults. |
| `arrival_date` | string | No | Arrival date in YYYY-MM-DD format. |
| `departure_date` | string | No | Departure date in YYYY-MM-DD format. |
| `dogs_count` | integer | No | Number of dogs. |
| `slug` | string | Yes | Campsite slug (e.g. 'monkey-tree-holiday-park'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-pitchup-com-api-b6b6e9fc/get_campsite_pitch_types \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"adults_count":"<integer>","arrival_date":"<string>","departure_date":"<string>","dogs_count":"<integer>","slug":"<string>"}'
```

### get_campsite_reviews

Get paginated reviews for a specific campsite. Returns reviews with per-category ratings, text (liked/disliked), user info, visit dates, and aggregate statistics including recommendation and revisit percentages.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number. |
| `slug` | string | Yes | Campsite slug (e.g. 'monkey-tree-holiday-park'). |
| `sort` | string | No | Sort order for reviews. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-pitchup-com-api-b6b6e9fc/get_campsite_reviews \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","slug":"<string>","sort":"<string>"}'
```

### get_search_filters_metadata

Get all available search filter options and their counts, including facet keywords (amenities/features), categories (pitch types), location hierarchy, grade filters, and sort options. Useful for building filter UIs.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-pitchup-com-api-b6b6e9fc/get_search_filters_metadata \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### list_all_campsites

List all campsites on Pitchup.com with names and available contact information (address, postcode, GPS coordinates). Supports pagination and country filtering. Email addresses are not available as Pitchup routes all communication through their platform.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bookable_only` | string | No | Set to 'true' to only return currently bookable campsites. |
| `country` | string | No | Filter by country/region path (e.g. 'England', 'Scotland', 'Wales', 'france', 'spain'). UK uses title case, others lowercase. |
| `limit` | integer | No | Results per page (max 500). |
| `page` | integer | No | Page number (starts at 1). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-pitchup-com-api-b6b6e9fc/list_all_campsites \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"bookable_only":"<string>","country":"<string>","limit":"<integer>","page":"<integer>"}'
```

### search_campsites

Search for campsites by location, dates, and other filters. Returns a paginated list of campsites with basic info, ratings, and lead prices. Results are enriched with detail data (name, hierarchy, photos) via a secondary per-result lookup. Without a location, returns all bookable campsites globally.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `adults_count` | integer | No | Number of adults. |
| `arrival_date` | string | No | Arrival date in YYYY-MM-DD format. |
| `country` | string | No | Country ISO code (e.g. 'GB'). |
| `departure_date` | string | No | Departure date in YYYY-MM-DD format. |
| `location` | string | No | Location name or search query (e.g. 'Cornwall', 'Lake District'). |
| `page` | integer | No | Page number. |
| `pitch_types` | string | No | Filter by pitch types (e.g. 'tent', 'caravan', 'motorhome'). |
| `sort` | string | No | Sort order for results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-pitchup-com-api-b6b6e9fc/search_campsites \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"adults_count":"<integer>","arrival_date":"<string>","country":"<string>","departure_date":"<string>","location":"<string>","page":"<integer>","pitch_types":"<string>","sort":"<string>"}'
```
