Retrieve information about airports worldwide, including IATA/ICAO codes, coordinates, and elevation.
Standards Used
- IATA
- ICAO
- IANA TZDB
- ISO 3166-1
- ISO 3166-2
Units#
Elevation is returned in meters, not feet. While aviation often uses feet, meters aligns with SI units and our coordinate data.
The Airport object#
| Field | Type | Required | Description |
|---|---|---|---|
| country | string | Yes | Country (alpha-2 code). Example: US |
| elevation | integer (int32) | Yes | Elevation in meters. Example: 4 |
| iata | string | Yes | IATA three-letter code. Example: JFK |
| icao | string | No | ICAO four-letter code. Example: KJFK |
| latitude | number (double) | Yes | Latitude in decimal degrees. Example: 40.6413 |
| longitude | number (double) | Yes | Longitude in decimal degrees. Example: -73.7781 |
| name | string | Yes | Airport name. Example: John F. Kennedy International Airport |
| region | string | No | Region (ISO 3166-2 code). Example: US-NY |
| timezone | string | Yes | IANA timezone. Example: America/New_York |
Endpoints#
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| countryquery | string | No | Filter by country (alpha-2 code). Example: US |
| regionquery | string | No | Filter by region (ISO 3166-2 code). Example: US-CA |
| pagequery | integer | No | Page number (1-indexed). Example: 1 |
| per_pagequery | integer | No | Number of results per page. Example: 20 |
Response
| Field | Type | Required | Description |
|---|---|---|---|
| data | object[] | Yes | The data items for this page. |
| pagination | object | Yes | Pagination metadata in response. |
| page | integer | Yes | Current page number. Example: 1 |
| per_page | integer | Yes | Items per page. Example: 20 |
| total_items | integer | Yes | Total number of items. Example: 100 |
| total_pages | integer | Yes | Total number of pages. Example: 5 |
Example Request
const response = await fetch(
'https://worlddataapi.com/v1/airports?country=US®ion=US-CA',
{
headers: {
'X-API-Key': 'YOUR_API_KEY'
}
}
);
const data = await response.json();import requests
response = requests.get(
'https://worlddataapi.com/v1/airports',
params={
'country': 'US',
'region': 'US-NY'
},
headers={
'X-API-Key': 'YOUR_API_KEY'
}
)
data = response.json()curl "https://worlddataapi.com/v1/airports?country=US®ion=US-CA"
-H "X-API-Key: YOUR_API_KEY"Error Responses
| Status | Description |
|---|---|
| 400 | Missing country or region parameter |
| 404 | Country or region not found |
| 429 | Rate limit exceeded |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| identifierpath | string | Yes | IATA (3 letters) or ICAO (4 letters) airport code |
Response
| Field | Type | Required | Description |
|---|---|---|---|
| country | string | Yes | Country (alpha-2 code). Example: US |
| elevation | integer (int32) | Yes | Elevation in meters. Example: 4 |
| iata | string | Yes | IATA three-letter code. Example: JFK |
| icao | string | No | ICAO four-letter code. Example: KJFK |
| latitude | number (double) | Yes | Latitude in decimal degrees. Example: 40.6413 |
| longitude | number (double) | Yes | Longitude in decimal degrees. Example: -73.7781 |
| name | string | Yes | Airport name. Example: John F. Kennedy International Airport |
| region | string | No | Region (ISO 3166-2 code). Example: US-NY |
| timezone | string | Yes | IANA timezone. Example: America/New_York |
Example Request
const response = await fetch(
'https://worlddataapi.com/v1/airports/example',
{
headers: {
'X-API-Key': 'YOUR_API_KEY'
}
}
);
const data = await response.json();import requests
response = requests.get(
'https://worlddataapi.com/v1/airports/example',
headers={
'X-API-Key': 'YOUR_API_KEY'
}
)
data = response.json()curl "https://worlddataapi.com/v1/airports/example"
-H "X-API-Key: YOUR_API_KEY"Error Responses
| Status | Description |
|---|---|
| 404 | Airport not found |