# Skyscanner Price Calendar API Documentation

Read the cheapest one-way price per day for one month between two places. Each day with a price returns the date, the cheapest price, and the direct and indirect price when they exist. Days without any price are left out. Prices are in GBP. A month without any priced day is a successful response with an empty days list.

- **Documentation:** [https://scrappa.co/docs/skyscanner-api/skyscanner_calendar](https://scrappa.co/docs/skyscanner-api/skyscanner_calendar)
- **API group:** Skyscanner API
- **Endpoint:** `GET https://scrappa.co/api/skyscanner/calendar`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `origin` | string | Yes | Origin place_id from the autocomplete endpoint, 3 to 5 letters or digits. Example: LOND. |
| `destination` | string | Yes | Destination place_id from the autocomplete endpoint, 3 to 5 letters or digits. Must differ from the origin. Example: NYCA. |
| `month` | string | Yes | Month as YYYY-MM, from the current month up to 12 months ahead. Example: 2026-12. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/skyscanner/calendar?origin=LOND&destination=NYCA&month=2026-12"
```

## Example response

```json
{
    "success": true,
    "data": {
        "origin": "LOND",
        "destination": "NYCA",
        "month": "2026-12",
        "currency": "GBP",
        "days": [
            {
                "date": "2026-12-01",
                "cheapest_price": 270,
                "direct_price": 429,
                "indirect_price": 270
            },
            {
                "date": "2026-12-02",
                "cheapest_price": 277,
                "direct_price": 316,
                "indirect_price": 277
            },
            {
                "date": "2026-12-03",
                "cheapest_price": 253,
                "direct_price": 316,
                "indirect_price": 253
            }
        ]
    },
    "meta": {
        "endpoint_family": "calendar",
        "billable": true
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A required query parameter is missing or invalid. This response is not billable. |
| 404 | Place or Route Not Found | Skyscanner does not know the place code or entity id. This response is not billable. |
| 503 | Upstream Blocked | The upstream service is temporarily unavailable. Please retry shortly. |
| 503 | Service Unavailable | Skyscanner did not answer, answered too slowly or returned an unexpected response. Retry shortly. This response is not billable. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
