# Kiwi.com Explore Destinations API Documentation

<p><strong>Kiwi.com Explore Destinations API Documentation</strong> Get the cheapest flight to each destination from an origin on one departure date. The destination is anywhere by default, or a country or place id. Add nights_min and nights_max for return trips. Each row has the destination airport, the price, the departure time and, for return trips, the return time and nights. Prices are offers for the date and party. Open the flight search for the full itinerary.</p>

- **Documentation:** [https://scrappa.co/docs/kiwi-api/kiwi_one_per_city](https://scrappa.co/docs/kiwi-api/kiwi_one_per_city)
- **API group:** Kiwi.com API
- **Endpoint:** `GET https://scrappa.co/api/kiwi/flights/one-per-city`

## 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 | Place id or airport code of the origin. Example: City:berlin_de. |
| `destination` | string | No | Place id, country id or anywhere. Defaults to anywhere. |
| `departure_date` | string | Yes | Departure date, YYYY-MM-DD, today or later. |
| `nights_min` | integer | No | Shortest stay in nights, 1 to 60. Send it with nights_max for a return calendar. |
| `nights_max` | integer | No | Longest stay in nights, 1 to 60, not below nights_min. |
| `adults` | integer | No | Adults, 1 to 9. Defaults to 1. Adults, children and infants together are at most 9. |
| `children` | integer | No | Children, 0 to 8. Defaults to 0. |
| `infants` | integer | No | Infants, 0 to 8. Each infant needs an adult. Defaults to 0. |
| `cabin` | string | No | economy, premium_economy, business or first. Defaults to economy. |
| `max_stops` | integer | No | Maximum stops, 0 to 3. |
| `min_price` | integer | No | Minimum price in the chosen currency. |
| `max_price` | integer | No | Maximum price in the chosen currency. |
| `limit` | integer | No | Destinations to return, 1 to 50. Defaults to 30. |
| `currency` | string | No | Price currency, a 3-letter code such as EUR or USD. Defaults to EUR. |
| `locale` | string | No | Language of names, such as en or de. Defaults to en. |

## Example response

```json
{
    "data": {
        "limit": 3,
        "nights": null,
        "notice": null,
        "origin": "City:berlin_de",
        "currency": "EUR",
        "trip_type": "one_way",
        "destination": "anywhere",
        "destinations": [
            {
                "price": {
                    "amount": 70,
                    "currency": "EUR",
                    "formatted": "70 \u20ac"
                },
                "nights": null,
                "origin": {
                    "id": "Station:airport:BER",
                    "name": "Berlin Brandenburg"
                },
                "destination": {
                    "id": "Station:airport:PMI",
                    "name": "Palma de Mallorca"
                },
                "return_time": null,
                "departure_time": "2026-11-19T19:55:00",
                "discount_percentage": null
            },
            {
                "price": {
                    "amount": 82,
                    "currency": "EUR",
                    "formatted": "82 \u20ac"
                },
                "nights": null,
                "origin": {
                    "id": "Station:airport:BER",
                    "name": "Berlin Brandenburg"
                },
                "destination": {
                    "id": "Station:airport:SAW",
                    "name": "Sabiha G\u00f6k\u00e7en International"
                },
                "return_time": null,
                "departure_time": "2026-11-19T13:40:00",
                "discount_percentage": null
            },
            {
                "price": {
                    "amount": 176,
                    "currency": "EUR",
                    "formatted": "176 \u20ac"
                },
                "nights": null,
                "origin": {
                    "id": "Station:airport:BER",
                    "name": "Berlin Brandenburg"
                },
                "destination": {
                    "id": "Station:airport:BCN",
                    "name": "Barcelona\u2013El Prat"
                },
                "return_time": null,
                "departure_time": "2026-11-19T10:30:00",
                "discount_percentage": null
            }
        ],
        "departure_date": "2026-11-19",
        "filters_applied": [],
        "total_available": 3
    },
    "meta": {
        "billable": true,
        "endpoint_family": "one_per_city"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A parameter is missing or invalid. This response is not billable. |
| 503 | Upstream Unavailable | Kiwi.com did not answer in time. Retry the request. This response is not billable. |
| 503 | Unexpected Upstream Answer | Kiwi.com answered in a form this API does not read. 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)
