# Indie Campers — 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 and filter campervan relocation deals from Indie Campers across Europe and North America by pickup and dropoff locations, trip duration, and travel dates. Find the best available deals and browse all supported rental locations to plan your next adventure.

**Category:** Travel | **Website:** [indiecampers.com/deals/europe](https://indiecampers.com/deals/europe) | **Docs:** [parse.bot/marketplace/a3e51a82-d7e6-4cd7-832a-5392d5aaa651/indiecampers-com-api](https://parse.bot/marketplace/a3e51a82-d7e6-4cd7-832a-5392d5aaa651/indiecampers-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-indiecampers-com-api-a3e51a82/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_locations

Retrieves all available pick-up and drop-off locations grouped by region. Each location includes its permalink (used as a filter value in search_deals), city name, country code, total deal count, and minimum nightly price. When group is omitted, returns locations across all regions.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `group` | string | No | Region group permalink to filter by. Accepted values: 'europe', 'north-america'. If omitted, returns all regions. |

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

### search_deals

Searches campervan relocation deals with optional filters. Paginates via page number (25 results per page). Client-side filters (max_days, date_from, date_to) are applied after fetching from the upstream API, so total_filtered may be less than total_unfiltered. Each deal includes van details, pricing, and available date windows.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `date_from` | string | No | Earliest check-in date filter in ISO format YYYY-MM-DD. Only includes date windows with earliest_checkin_date on or after this date. |
| `date_to` | string | No | Latest checkout date filter in ISO format YYYY-MM-DD. Only includes date windows with latest_checkout_date on or before this date. |
| `drop_off_location` | string | No | Filter by drop-off location permalink (e.g. 'edinburgh', 'glasgow'). Use get_locations to discover available values. |
| `group` | string | No | Region group permalink. |
| `max_days` | integer | No | Maximum trip duration in days. Filters out date windows where max_nights exceeds this value. |
| `page` | integer | No | Page number for pagination (25 results per page). |
| `pick_up_location` | string | No | Filter by pick-up location permalink (e.g. 'florence-offers'). Use get_locations to discover available values. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-indiecampers-com-api-a3e51a82/search_deals \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date_from":"<string>","date_to":"<string>","drop_off_location":"<string>","group":"<string>","max_days":"<integer>","page":"<integer>","pick_up_location":"<string>"}'
```
