Kiwi.com Cheapest Dates API Documentation Get one calendar price per departure day in a window, rated cheap, average or expensive, with the rating thresholds. Add nights_min and nights_max for a return calendar. The calendar has no cabin filter and its prices are economy prices for the date and party. They are calendar prices, not the cheapest fare of a flight search, and can differ from search results. Use the calendar to pick a day and the flight search to see the offers.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
4 required parameters needed before sending a request.
7 optional filters available.
string
Required
Kiwi.com place id from the locations endpoint (City:berlin_de, Station:airport:BER) or an airport code (BER). Example: City:berlin_de.
example
string
Required
Place id or airport code of the destination. Example: City:london_gb.
example
string
Required
First day of the window, YYYY-MM-DD, today or later.
2026-06-15
string
Required
Last day of the window, YYYY-MM-DD, at most 62 days after the start.
2026-06-15
integer
Optional
Shortest stay in nights, 1 to 60. Send it with nights_max for a return calendar.
10
integer
Optional
Longest stay in nights, 1 to 60, not below nights_min.
10
integer
Optional
Adults, 1 to 9. Defaults to 1. Adults, children and infants together are at most 9.
10
integer
Optional
Children, 0 to 8. Defaults to 0.
10
integer
Optional
Infants, 0 to 8. Each infant needs an adult. Defaults to 0.
10
string
Optional
Price currency, a 3-letter code such as EUR or USD. Defaults to EUR.
USD
string
Optional
Language of names, such as en or de. Defaults to en.
en-US
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
data
meta
success
{
"data": {
"days": [
{
"date": "2026-11-19",
"price": 69,
"rating": "AVERAGE",
"currency": "EUR"
},
{
"date": "2026-11-20",
"price": 74,
"rating": "AVERAGE",
"currency": "EUR"
},
{
"date": "2026-11-21",
"price": 64,
"rating": "CHEAP",
"currency": "EUR"
}
],
"nights": null,
"origin": {
"id": "City:berlin_de",
"name": "Berlin"
},
"currency": "EUR",
"end_date": "2026-11-21",
"trip_type": "one_way",
"start_date": "2026-11-19",
"thresholds": {
"cheap": 64,
"average": 69,
"expensive": 74
},
"destination": {
"id": "City:london_gb",
"name": "London"
},
"price_basis": "Calendar price for this date and party in economy. It is not the cheapest fare of a flight search."
},
"meta": {
"billable": true,
"endpoint_family": "cheapest_dates"
},
"success": true
}
Errors
Handle these documented responses before retrying or showing customer-facing failures.
Validation Error
A parameter is missing or invalid. This response is not billable.
{
"errors": {
"cabin": [
"The calendar has no cabin filter. Its prices are economy prices. Use flights/search for other cabins."
]
},
"message": "The request validation failed"
}Upstream Unavailable
Kiwi.com did not answer in time. Retry the request. This response is not billable.
{
"meta": {
"billable": false,
"retryable": true,
"endpoint_family": "flight_search"
},
"error": {
"code": "UPSTREAM_UNAVAILABLE",
"message": "The Kiwi.com API is temporarily unavailable. Please retry."
},
"success": false
}Unexpected Upstream Answer
Kiwi.com answered in a form this API does not read. This response is not billable.
{
"meta": {
"billable": false,
"retryable": false,
"endpoint_family": "flight_search"
},
"error": {
"code": "PARSER_DRIFT",
"message": "Kiwi.com rejected the request. Check the parameters and try again."
},
"success": false
}Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Try It Live
Test this endpoint in our interactive playground with real data.