---
title: "Airport Code Lookup"
method: GET
path: "/api/airports"
tags: ["Reference Data"]
---

# Airport Code Lookup

`GET /api/airports`

## Request

- Base URL: `https://www.freightutils.com`
- URL: `https://www.freightutils.com/api/airports`
- Auth: none declared

Look up an airport by IATA code (3 letters), ICAO code (4 chars), or free-text name / city. Provide one of iata, icao, or q; optional type filter. Returns full airport record(s); ambiguous names return ranked candidates. Data: OurAirports (public domain), cross-checked vs OpenFlights + Wikidata.

## Query parameters

- `iata` string
- `icao` string
- `q` string
- `type` 'large_airport' | 'medium_airport' | 'small_airport' | 'heliport' | 'closed' | 'seaplane_base'

## Response `200`

Matching airport record(s).

- AirportsResponse
  - `count` integer, required
  - `results` Airport[], required
    - `ident` string, required: ICAO / OurAirports ident
    - `iata_code` string, nullable, required: IATA 3-letter code (null if none)
    - `name` string, required
    - `type` 'large_airport' | 'medium_airport' | 'small_airport' | 'heliport' | 'closed' | 'seaplane_base', required
    - `municipality` string, nullable
    - `region` string, nullable: Region / subdivision (readable)
    - `country` string, required: ISO 3166-1 alpha-2 country code
    - `country_name` string, nullable
    - `latitude` number, required
    - `longitude` number, required
    - `elevation_ft` integer, nullable
  - `disclaimer` string
  - `_source` SourceEnvelope: Additive provenance citation for the dataset or method behind this response, from FreightUtils' single provenance source of truth. Shapes: reference, methodology (calculators), or reference with provenance_status:'pending-verification'. Fields appear only when a real value exists.
    - `type` 'reference' | 'methodology', required
    - `authority` string
    - `dataset` string
    - `source_url` string
    - `data_vintage` string
    - `licence` string
    - `retrieved_via` string
    - `standard` string
    - `reference` string
    - `computed_by` string
    - `provenance_status` 'pending-verification'
    - `dataset_edition` string: Edition this response is served from (editioned reference datasets only), e.g. 'UN/LOCODE 2025-1'.
    - `authority_current_edition` string: The authority's current in-force edition at the last check. Differs from dataset_edition only when the served data lags the authority.
    - `checked_at` string: YYYY-MM-DD of the last served-vs-authority edition comparison (on-demand checker, staleness-guarded).

## Other responses

- `400`: Invalid or missing parameters.
- `404`: No airport found.

---

[API](https://skmtc.dev/freightutils/apis/freightutils-api.md) · [All operations](https://skmtc.dev/freightutils/apis/freightutils-api/llms.txt) · [OpenAPI document](https://skmtc.dev/freightutils/apis/freightutils-api/revisions/6607bb3cea90?raw)
