Extensive database of location and timezone data for nearly every operational airport and landing strip in the world, with 28,237 entries.
Each entry consists of the following data:
icao
: ICAO 4-letter Location Indicator (Doc 7910) or (if none) an internal Pseudo-ICAO Identifier [1] (28,237 entries);iata
: IATA 3-letter Location Code (7,876 entries) or an empty string [2];name
: Official name (diacritized latin script);city
: City (diacritized latin script), ideally using the local language;subd
: Subdivision (e.g. state, province, region, etc.), ideally using the local-language or English names of ISO 3166-2;country
: ISO 3166-1 alpha-2 country code (plusXK
for Kosovo);elevation
: MSL elevation of the highest point of the landing area, in feet (warning: it is often wrong);lat
: Latitude (decimal) of the airport reference point (max 5 decimal digits);lon
: Longitude (decimal) of the airport reference point (max 5 decimal digits);tz
: Timezone expressed as a tz database name (IANA-compliant);lid
: U.S. FAA Location Identifier (12,604 entries), or an empty string.
[1] | See here for an explanation on how the Pseudo-ICAO Identifier is generated for airports and seaplane bases without an ICAO 4-letter Location Indicator. |
[2] | IATA Multi Airport Cities are not not airports and therfore not included, but we provide a database and a Python function that returns the above data for all the airports of a IATA MAC. Please see documentation here. |
Best efforts are placed to review all contributions for accuracy, but accuracy cannot be guaranteed nor should be expected by users.
Important notes:
- Timezone was originally sourced from TimeZoneDB;
- No historical data (closed airports are removed).
Please report any issues you may find here.
This project is a fork of https://github.com/mwgg/Airports. All new data submitted in this fork have been validated against national Aeronautical Information Publications (AIP) or equivalent (or ARINC database) and IATA before publishing.
A CSV (comma separated values) file, with headers and encoded in UTF-8, is downloadable from GitHub here.
Install from PyPi using pip:
pip install -U airportsdata
Once installed, to load the data into a dict:
import airportsdata
airports = airportsdata.load() # key is the ICAO identifier (the default)
print(airports['KJFK'])
or
import airportsdata
airports = airportsdata.load('IATA') # key is the IATA location code
print(airports['JFK'])
or
import airportsdata
airports = airportsdata.load('LID') # key is the FAA LID
print(airports['01AA'])
Older Python versions are supported for 3 years after being obsoleted by a new major release (i.e. about 4 years since their original release).
Released under the MIT License (see license here).