Airports API

The Airports API provides vital information on nearly 30,000 airports worldwide including major international airports and small regional airports.



Returns a list of up to 30 airport results. Use the offset parameter to access more results if available.


At least one of the following parameters must be provided:

icao (optional) - International Civil Aviation Organization (ICAO) 4-character airport code.

iata (optional) - International Air Transport Association (IATA) 3-character airport code.

name (optional) - airport name. This parameter supports partial matching (e.g. Heathrow will match London Heathrow Airport)

country (optional) - airport country. Must be 2-character ISO-2 country code (e.g. GB)

region (optional) - administrative region such as state or province within a country (e.g. California)

city (optional) - airport city (e.g. London)

timezone (optional) - airport timezone (e.g. Europe/London)

min_elevation (optional) - minimum airport elevation in feet.

max_elevation (optional) - maximum airport elevation in feet.

offset (optional) - number of results to offset for pagination.


X-Api-Key (required) - API Key associated with your account.

Sample Request URL

Live Demo!

Sample Response

    "icao": "EGLL",
    "iata": "LHR",
    "name": "London Heathrow Airport",
    "city": "London",
    "region": "England",
    "country": "GB",
    "elevation_ft": "83",
    "latitude": "51.4706001282",
    "longitude": "-0.4619410038",
    "timezone": "Europe/London"

import requests
name = 'London Heathrow'
api_url = '{}'.format(name)
response = requests.get(api_url, headers={'X-Api-Key': 'YOUR_API_KEY'})
if response.status_code ==
    print("Error:", response.status_code, response.text)
var name = 'London Heathrow'
    method: 'GET',
    url: '' + name,
    headers: { 'X-Api-Key': 'YOUR_API_KEY'},
    contentType: 'application/json',
    success: function(result) {
    error: function ajaxError(jqXHR) {
        console.error('Error: ', jqXHR.responseText);
const request = require('request');
var name = 'London Heathrow';
  url: '' + name,
  headers: {
    'X-Api-Key': 'YOUR_API_KEY'
}, function(error, response, body) {
  if(error) return console.error('Request failed:', error);
  else if(response.statusCode != 200) return console.error('Error:', response.statusCode, body.toString('utf8'));
  else console.log(body)

import com.fasterxml.jackson.databind.ObjectMapper;

URL url = new URL(" Heathrow");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("accept", "application/json");
InputStream responseStream = connection.getInputStream();
ObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(responseStream);
let name = "London Heathrow".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let url = URL(string: ""+name!)!
var request = URLRequest(url: url)
request.setValue("YOUR_API_KEY", forHTTPHeaderField: "X-Api-Key")
let task = URLSession.shared.dataTask(with: request) {(data, response, error) in
    guard let data = data else { return }
    print(String(data: data, encoding: .utf8)!)

If your programming language is not listed in the Code Example above, you can still make API calls by using a HTTP request library written in your programming language and following the above documentation.