Airport IATA Codes API

Turn airport codes into clear departure and arrival details. Match three-letter IATA codes to airport names, cities and countries, or download the directory to power airport search in your travel product.

  • Lookup by code, name or location
  • JSON, XML and CSV
  • Individual records or bulk export

Look up an airport by IATA code

Pass LHR in the iata parameter to retrieve London Heathrow Airport and its location identifiers. Replace YOUR_API_KEY with your assigned key.

Request · cURL

curl --get 'https://content.airhex.com/api/v3.7.10/airports/' \
  --data-urlencode 'apikey=YOUR_API_KEY' \
  --data-urlencode 'iata=LHR'

Response · JSON excerpt

[
  {
    "airhex_id": "53779",
    "iata": "LHR",
    "icao": "EGLL",
    "name": "London Heathrow Airport",
    "city_code": "LON",
    "country_code": "GB",
    ...
  }
]

Abbreviated response. The ellipsis (…) represents additional airport fields omitted here and is not part of the actual JSON response.

View the full Airports API reference →

Request parameters

Look up a specific airport, find airports by location, or export the directory with these query parameters.

ParameterRequiredDefaultDescription
apikey YesNoneYour assigned API key. Get a free test API key.
iata ConditionalNoneThree-letter IATA airport code, such as LHR.
icao ConditionalNoneFour-letter ICAO airport code, such as EGLL.
city_code ConditionalNoneThree-letter IATA city code, such as LON, to find airports associated with a city.
country_code ConditionalNoneTwo-letter ISO country code, such as GB, to find airports in a country.
name ConditionalNoneAirport name or partial name, such as Heathrow.
dump Conditional0Set to 1 to export the database. Overrides the other lookup parameters; coverage filters still apply.
show_disabled No0Set to 1 to include inactive or disabled records. By default, only active records are returned.
response_type NoJSONResponse format: JSON, XML or CSV. CSV triggers a file download.
major_only No0Set to 1 to include only airports with commercial flights.

Provide at least one of iata, icao, city_code, country_code, name, or dump=1. Setting dump=1 overrides the other lookup parameters.

View all request parameters →

Available data

Match the airport code to its name and location, and retain the permanent record identifier when importing data into your own directory.

FieldTypeExampleDescription
airhex_id Identifier53779Permanent Airhex record identifier. Retain it to associate updates with the same record.
iata StringLHRThree-letter IATA airport code for matching departure and arrival locations.
icao StringEGLLFour-letter ICAO airport identifier for matching data from aviation sources.
name StringLondon Heathrow AirportAirport name for search results, itineraries and passenger information.
city_code StringLONIATA city code associated with the airport. A city can have multiple airports.
country_code StringGBTwo-letter ISO country code for the airport location.
major_airport Integer11 indicates an airport with scheduled commercial flights; 0 covers other records.
active Status1Operational status: 1 = active, 0 = inactive.

View all available data →

Common implementation tasks

Download codes for your airport selector

Export active airports with commercial flights as CSV, then build your local search index from codes, names and location identifiers. Use major_only=0 if your product also needs other location types. Check for a populated iata value before adding a code-based lookup.

curl --get 'https://content.airhex.com/api/v3.7.10/airports/' \
  --data-urlencode 'apikey=YOUR_API_KEY' \
  --data-urlencode 'dump=1' \
  --data-urlencode 'major_only=1' \
  --data-urlencode 'response_type=CSV' \
  --output airports.csv

Find airport codes for a city

Use city_code=LON to retrieve airports associated with London. Keep each airport’s own IATA code and name so travelers can distinguish departure and arrival airports within the same city.

curl --get 'https://content.airhex.com/api/v3.7.10/airports/' \
  --data-urlencode 'apikey=YOUR_API_KEY' \
  --data-urlencode 'city_code=LON' \
  --data-urlencode 'major_only=1'

Find an IATA code from an airport name

Search with name and read iata from the returned records. Partial names can match multiple records, so compare airport names and location fields before selecting a match.

curl --get 'https://content.airhex.com/api/v3.7.10/airports/' \
  --data-urlencode 'apikey=YOUR_API_KEY' \
  --data-urlencode 'name=Heathrow'

Map an ICAO airport code to an IATA code

Pass the four-letter ICAO code in icao and read the returned iata field to connect aviation records with the airport identifiers used by your booking supplier.

curl --get 'https://content.airhex.com/api/v3.7.10/airports/' \
  --data-urlencode 'apikey=YOUR_API_KEY' \
  --data-urlencode 'icao=EGLL'

What you can build

Clear flight results and itineraries

Show airport names alongside departure and arrival codes so travelers can identify the airport for each leg of their trip.

Airport and destination search

Build a local airport selector with codes, names and city associations, including separate choices for cities served by several airports.

Consistent airport identities

Match IATA and ICAO identifiers across booking, aviation and reporting tools using the same airport reference records.

Frequently asked questions

How are airport IATA codes different from city codes?

An airport code identifies a particular airport, such as LHR for London Heathrow. A city code groups a destination, such as LON for London. Use iata for an airport lookup and city_code to find airports associated with a city. Keep the two fields separate when handling a supplier’s “all airports” destination option.

Can I resolve the departure and arrival codes from my booking supplier?

Yes, when the supplied values are IATA airport codes. Look up each code with iata to retrieve its airport name and location. Confirm whether your supplier field represents an airport or a city before choosing the lookup parameter. Use the original supplier code as a fallback if you cannot resolve a match.

Does every returned record represent an airport with commercial flights?

No. The broader dataset can include other location types, such as rail or bus stations and helipads. Set major_only=1 for airports with commercial flights. The full response includes major_airport and sub_type to help your application distinguish records. Check that iata is populated before building a code-based mapping.

Are inactive airports included?

Only active records are returned by default. Set show_disabled=1 if you need inactive records for historical itineraries or reporting, and inspect active before offering an airport in a booking selector.

Can I download and store an airport code directory?

Yes, with an appropriate GEO Essentials license. Use dump=1 and select JSON, XML or CSV with response_type. Choose major_only and show_disabled to match the coverage your product needs. A local directory lets you resolve codes and build airport search without requesting each airport separately.

Should I use the IATA code as my permanent database key?

Retain airhex_id as the permanent record identifier, and use iata as a lookup value. Store updated from the full response when importing records and plan periodic refreshes of your local directory. This also lets you keep records that do not have a populated IATA code.

Can I look up an airport using its ICAO code instead?

Yes. Pass a four-letter airport ICAO code, such as EGLL, in icao and read iata from the response. Airport ICAO codes are distinct from the three-letter ICAO airline codes used by the Airlines API.

Does this API provide flights, fares or live airport departures?

No. This endpoint provides airport reference data. Use your flight supplier for schedules, availability, fares and live flight information. An active airport record or a commercial-flight flag does not establish that a particular route is available to book.

Help travelers choose the right airport

Give travelers clear airport names and location choices across search, booking and itineraries, without maintaining your own airport code directory.

Airports API →

Explore the complete airport dataset, including IATA and ICAO codes, names, city and country identifiers, time zones, coordinates, operational status and contact details. View all request parameters, coverage filters and response fields, with individual lookups and bulk exports in JSON, XML and CSV.

Airport Coordinates API →

Look up airport latitude and longitude by IATA or ICAO code, or export coordinates for airport maps and location search in your travel product.

Airport ICAO Codes API →

Look up airport ICAO codes, match them to airport names and IATA codes, or export a directory to connect aviation and travel data with the Airhex API.

Airport Time Zone API →

Look up airport time zones by IATA or ICAO code. Retrieve time zone identifiers and UTC offsets to support local-time displays in your travel product.