API Documentation

Airports

Airports are used to identify origins and destinations in journey slices

iata_code
string
nullable

The three-character IATA code for the airport

Example: "LHR"
id
string

Duffel's unique identifier for the airport

Example: "arp_lhr_gb"
name
string

The name of the airport

Example: "Heathrow"
iata_country_code
string

The ISO 3166-1 alpha-2 code for the country where the airport is located

Example: "GB"
latitude
number

The latitude position of the airport represented in Decimal degrees with 6 decimal points with a range between -90° and 90°

Example: 64.068865
longitude
number

The longitude position of the airport represented in Decimal degrees with 6 decimal points with a range between -180° and 180°

Example: -141.951519
icao_code
string
nullable

The four-character ICAO code for the airport

Example: "EGLL"
time_zone
string

The time zone of the airport, specified by name from the tz database

Example: "Europe/London"
city_name
string

The name of the city (or cities separated by a /) where the airport is located

Example: "London"
city
object

The metropolitan area where the airport is located. Only present for airports which are registered with IATA as belonging to a metropolitan area.

Retrieves an airport by its ID

Endpoint

GEThttps://api.duffel.com/air/airports/{id}

URL parameters

id
string
required

Duffel's unique identifier for the airport

Example: "arp_lhr_gb"

Request example

curl -X GET --compressed "https://api.duffel.com/air/airports/{id}" \
-H "Accept-Encoding: gzip" \
-H "Accept: application/json" \
-H "Duffel-Version: beta" \
-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"

Response example

{
"data": {
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
}
}

Retrieves a paginated list of all airports. The results may be returned in any order.

Endpoint

GEThttps://api.duffel.com/air/airports

Query Parameters

after
string

A cursor pointing to the previous page of records. For more information on how to paginate through records, see the Pagination section.

Example: "g2wAAAACbQAAABBBZXJvbWlzdC1LaGFya2l2bQAAAB="
before
string

A cursor pointing to the next page of records. For more information on how to paginate through records, see the Pagination section.

Example: "g2wAAAACbQAAABBBZXJvbWlzdC1LaGFya2l2bQAAAB="
limit
integer

The maximum number of records to return per page. Defaults to 50. May be set to any integer between 1 and 200. For more information on how to paginate through records, see the Pagination section.

Example: 1
iata_country_code
string

Filters the returned airports by their iata_country_code - see the iata_country_code parameter in the Airport schema for details

Example: "GB"

Request example

curl -X GET --compressed "https://api.duffel.com/air/airports" \
-H "Accept-Encoding: gzip" \
-H "Accept: application/json" \
-H "Duffel-Version: beta" \
-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"

Response example

{
"meta": {
"limit": 50,
"after": "g2wAAAACbQAAABBBZXJvbWlzdC1LaGFya2l2bQAAAB="
},
"data": [
{
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
}
]
}