# 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 for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/indie-campers/`
**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 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/credits/indie-campers/get-locations \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/indie-campers/search-deals \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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>"}'
```

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