# Saga (United Kingdom) — 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 book holiday excursions from Saga UK with detailed information on destinations, pricing, flights, and meal options. Find the perfect getaway by browsing excursion listings and comparing trip details including cost, duration, and included activities.

**Category:** Travel | **Website:** [www.saga.co.uk/](https://www.saga.co.uk/) | **Docs:** [parse.bot/marketplace/09e64f7b-55f4-45c0-a9f3-b8e2190a74a0/saga-co-uk-api](https://parse.bot/marketplace/09e64f7b-55f4-45c0-a9f3-b8e2190a74a0/saga-co-uk-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-saga-co-uk-api-09e64f7b/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_destinations

Get all available destinations with holiday counts, plus the overall price range. Use this to discover valid destination names for filtering in search_excursions. No parameters required — returns the full destination catalogue.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-saga-co-uk-api-09e64f7b/get_destinations \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_excursion_details

Get detailed information about a specific holiday/excursion by its product code. Returns the same rich structure as search results — images, flights, pricing, promotions, meals, and excursion count. Use codes discovered from search_excursions results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `code` | string | Yes | Product code (e.g. 'SECAH', 'DN4GA', 'AL2G1'). |
| `passengers` | integer | No | Number of passengers (1-4). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-saga-co-uk-api-09e64f7b/get_excursion_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"code":"<string>","passengers":"<integer>"}'
```

### search_excursions

Search for holiday excursions with optional destination and holiday-type filters. Returns paginated listings with full details including pricing, flights, accommodation, and excursion counts. Pagination is page-based; each result carries enough detail for display without a separate detail fetch, though get_excursion_details can retrieve a single item by code. Sorted by departure date or price.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `destination` | string | No | Filter by destination name (e.g. 'Spain', 'Italy', 'Japan'). Use get_destinations to see available options. Empty string returns all destinations. |
| `holiday_type` | string | No | Filter by holiday type. Empty string returns all types. |
| `page` | integer | No | Page number for pagination. |
| `passengers` | integer | No | Number of passengers (1-4). |
| `per_page` | integer | No | Results per page (max 50). |
| `sort_by` | string | No | Sort order for results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-saga-co-uk-api-09e64f7b/search_excursions \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"destination":"<string>","holiday_type":"<string>","page":"<integer>","passengers":"<integer>","per_page":"<integer>","sort_by":"<string>"}'
```
