# Skyscanner — 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 flights and compare prices across multiple booking agents, while exploring airports and cities to plan your trip. View daily and monthly price calendars to find the best deals for your travel dates.

**Category:** Travel | **Website:** [skyscanner.com/](https://skyscanner.com/) | **Docs:** [parse.bot/marketplace/c1d3248c-2881-454d-9f5c-d8ce18199589/skyscanner-com-api](https://parse.bot/marketplace/c1d3248c-2881-454d-9f5c-d8ce18199589/skyscanner-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/skyscanner/`
**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 price calendar daily

Get daily cheapest flight prices for a route over the next ~12 months. Uses Skyscanner sky IDs (e.g., 'NYCA', 'LOND') or IATA codes. Use search_places to find the correct sky IDs.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `currency` | string | No | Currency code for prices |
| `destination` | string | Yes | Destination sky ID or IATA code (e.g., 'LOND', 'TYOA', 'CDG'). Use place_id from search_places. |
| `locale` | string | No | Locale for results |
| `market` | string | No | Market/country code |
| `origin` | string | Yes | Origin sky ID or IATA code (e.g., 'NYCA', 'LOND', 'JFK'). Use place_id from search_places. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/skyscanner/get-price-calendar-daily \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"currency":"<string>","destination":"<string>","locale":"<string>","market":"<string>","origin":"<string>"}'
```

### Get price calendar monthly

Get monthly cheapest flight prices for a route over the next 12 months. Uses geo IDs from search_places for origin/destination.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `currency` | string | No | Currency code for prices |
| `destination_id` | string | Yes | Destination geo ID from search_places (e.g., the geo ID returned for your chosen destination city). |
| `direct_only` | boolean | No | Only show direct flights |
| `locale` | string | No | Locale for results |
| `market` | string | No | Market/country code |
| `origin_id` | string | Yes | Origin geo ID from search_places (e.g., the geo ID returned for your chosen origin city). |
| `trip_type` | string | No | Trip type: 'one_way' or 'return' |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/skyscanner/get-price-calendar-monthly \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"currency":"<string>","destination_id":"<string>","direct_only":"<boolean>","locale":"<string>","market":"<string>","origin_id":"<string>","trip_type":"<string>"}'
```

### Search flights

Search for flights on a specific date. Accepts city/airport names or codes. Returns full itinerary details with segments, carriers, pricing options from multiple booking agents, and booking URLs. Supports one-way and round-trip searches.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `adults` | integer | No | Number of adult passengers |
| `cabin_class` | string | No | Cabin class: ECONOMY, PREMIUM_ECONOMY, BUSINESS, or FIRST |
| `currency` | string | No | Currency code for prices |
| `date` | string | Yes | Departure date in YYYY-MM-DD format |
| `destination` | string | Yes | Destination city or airport name (e.g., 'London', 'Paris', 'LHR') |
| `locale` | string | No | Locale for results |
| `market` | string | No | Market/country code |
| `max_polls` | integer | No | Maximum polling iterations for results |
| `origin` | string | Yes | Origin city or airport name (e.g., 'New York', 'London', 'JFK') |
| `return_date` | string | No | Return date in YYYY-MM-DD format (omit for one-way) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/skyscanner/search-flights \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"adults":"<integer>","cabin_class":"<string>","currency":"<string>","date":"<string>","destination":"<string>","locale":"<string>","market":"<string>","max_polls":"<integer>","origin":"<string>","return_date":"<string>"}'
```

### Search places

Search for airports and cities by name. Returns place IDs (sky IDs and geo IDs) needed for other endpoints. Use this to resolve city/airport names to IDs before searching flights or prices.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `locale` | string | No | Locale for results |
| `market` | string | No | Market/country code |
| `query` | string | Yes | Search query (city name, airport name, or IATA code) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/skyscanner/search-places \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"locale":"<string>","market":"<string>","query":"<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.