Kiwi.com Locations API Documentation Look up airports, cities, regions, countries and landmarks by a search text. Each result has an id, a type, a name, an airport or city code, the country and coordinates. Use the id as origin or destination in the flight, calendar and explore endpoints. Page with next_cursor: send it as cursor to read the next page. An empty page ends the list. The has_more flag is true while a cursor is offered, so a last page can still be followed by one empty page.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
1 required parameter needed before sending a request.
3 optional filters available.
string
Required
City or airport name, 2 to 100 characters. Example: berlin.
coffee shops
integer
Optional
Places per page, 1 to 50. Defaults to 20.
10
string
Optional
The next_cursor of the previous page.
0
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": {
"limit": 20,
"query": "Berlin",
"cursor": null,
"results": [
{
"id": "City:berlin_de",
"city": "Berlin",
"code": "BER",
"name": "Berlin",
"rank": 67,
"slug": "berlin-germany",
"type": "city",
"country": "Germany",
"latitude": 52.5200066,
"legacy_id": "berlin_de",
"longitude": 13.404954,
"country_code": "DE"
},
{
"id": "Subdivision:BE_DE",
"city": null,
"code": null,
"name": "Berlin",
"rank": 46,
"slug": "berlin-germany-1",
"type": "subdivision",
"country": null,
"latitude": 52.52,
"legacy_id": "BE_DE",
"longitude": 13.405,
"country_code": null
},
{
"id": "Station:airport:BER",
"city": "Berlin",
"code": "BER",
"name": "Berlin Brandenburg",
"rank": 40,
"slug": "berlin-brandenburg-berlin-germany",
"type": "airport",
"country": "Germany",
"latitude": 52.36,
"legacy_id": "BER",
"longitude": 13.5,
"country_code": "DE"
}
],
"has_more": true,
"next_cursor": "POI:berlin-wall_poi"
},
"meta": {
"billable": true,
"endpoint_family": "locations"
},
"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": {
"query": [
"A search text is required, e.g. berlin."
]
},
"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.