Airport lookup by IATA or ICAO code: name, coordinates, elevation, time zone; nearest airports
Airport lookup by IATA or ICAO code: get the airport's name, city, country, ISO 3166-2 region code, WGS-84 coordinates, elevation and IANA time zone, or find the nearest airports to a coordinate within a radius. Covers every airport worldwide that holds a three-letter IATA code and scheduled service. Returns the code type that matched and the distance in kilometres for proximity results.
Output (data): found, matched_on (iata|icao), airport {iata, icao, name, municipality, country, region, lat, lon, elevation_ft (number|null, null when OurAirports has no elevation, 129 airports), type, timezone}, nearby (for near: the same plus distance_km and bearing_deg, nearest first; distance is haversine on a 6,371.0088 km sphere, bearing is the initial bearing in degrees from the query point; matched_on is absent). A code matches IATA (3 characters) first, then ICAO/local identifier. found is false for an unknown code or an empty nearby list. timezone is the IANA zone of the airport location, derived offline at build time from its coordinates (timezone-boundary-builder 2026d); it is the geographic zone, not an airline convention (Xinjiang airports read Asia/Urumqi, UTC+6, although flights run on Beijing time). Coordinates on a zone border can resolve to the neighbouring zone (Gold Coast OOL reads Australia/Sydney).
Deterministic: identical input returns identical output, so the response is served with Cache-Control: private, max-age=31536000, immutable (the paying client may cache it indefinitely; shared caches must not, because the response is paid).
Sources: ourairports 2026-09-28 extract (published 2026-09-28, Public Domain); timezone-boundary-builder 2026d (published 2026-09-29, ODbL-1.0). Echoed in meta.sources.
Price: $0.05 USDC per call (x402, Base). Route contract version 1.0.0. Docs: https://api.duoleads.com/docs#ref-airport
Request
- Base URL: https://api.duoleads.com
- URL: https://api.duoleads.com/v1/ref/airport
- Auth: none declared
Query parameters
3-letter IATA or 4-letter ICAO code, case-insensitive. Accepted: a 3-letter IATA or 4-letter ICAO code.
lat,lon to search around. Accepted: lat,lon.
Search radius in km, 1-1000, default 100. Only with near. Accepted: number 1-1000.
Maximum results 1-25, default 5. Only with near. Accepted: integer 1-25.
ISO 3166-1 alpha-2 filter. Accepted: an ISO 3166-1 alpha-2 code.
Response
Paid and settled. data is route-specific; a route that judges its input returns 200 with data.valid: false for a bad value.
Changes
No recorded changes to this operation across all 1 revision of this API.