Airlines
Airlines from the OpenFlights open dataset that OpenFlights marks as active and that hold a valid IATA (2-character) or ICAO (3-letter) airline designator. Each record includes the airline name, country of registration, ATC callsign, both codes where available, and an `active` flag that we have corrected for well-known carriers that have since ceased operating.
Quick fetch
Stable URL. CORS-enabled. No auth.
curl https://staticdata.dev/v1/airlines.json
Or use as a typed import:
import { airlines } from "https://staticdata.dev/v1/airlines.ts"
Formats
- JSON 174.2 KB
/v1/airlines.json
min: 125.5 KB · /v1/airlines.min.json
- CSV 52.2 KB
/v1/airlines.csv
- TypeScript 174.4 KB
/v1/airlines.ts
export const airlines
type Airline = (typeof airlines)[number]
Schema
Each record in the dataset has the following shape.
| Field | Type | Description | Example |
|---|---|---|---|
| iata? | string | null | IATA 2-character airline designator | AA |
| icao? | string | null | ICAO 3-letter airline designator | AAL |
| name | string | null | Airline name | American Airlines |
| country? | string | null | Country of registration | United States |
| callsign? | string | null | ATC radio callsign | AMERICAN |
| active | boolean | Whether the airline is active (OpenFlights flag, corrected for well-known defunct carriers as of October 2026) | true |
Preview
First 10 records.
| iata | icao | name | country | callsign | active |
|---|---|---|---|---|---|
| 1T | RNX | 1Time Airline | South Africa | NEXTIME | false |
| Q5 | MLA | 40-Mile Air | United States | MILE-AIR | true |
| 47 | VVN | 88 | Cyprus | true | |
| 1B | Abacus International | Singapore | true | ||
| M3 | TUS | ABSA - Aerolinhas Brasileiras | Brazil | ABSA Cargo | true |
| MO | AUH | Abu Dhabi Amiri Flight | United Arab Emirates | SULTAN | true |
| ZA | CYD | Access Air | United States | CYCLONE | true |
| AES | ACES Colombia | Colombia | ACES | true | |
| VUE | AD Aviation | United Kingdom | FLIGHTVUE | true | |
| ZY | ADE | Ada Air | Albania | ADA AIR | true |
Fetch examples
Drop-in snippets in five languages.
curl -sSL https://staticdata.dev/v1/airlines.json | jq '.[0]' import type { Airline } from "https://staticdata.dev/v1/airlines.ts";
const res = await fetch("https://staticdata.dev/v1/airlines.min.json");
if (!res.ok) throw new Error(`Fetch failed: ${res.status}`);
const airlines: Airline[] = await res.json();
console.log(airlines[0]); import urllib.request, json
with urllib.request.urlopen("https://staticdata.dev/v1/airlines.min.json") as r:
airlines = json.load(r)
print(airlines[0]) package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("https://staticdata.dev/v1/airlines.min.json")
if err != nil { panic(err) }
defer resp.Body.Close()
var data []map[string]any
if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
panic(err)
}
fmt.Println(data[0])
} use serde_json::Value;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let body = ureq::get("https://staticdata.dev/v1/airlines.min.json").call()?.into_string()?;
let data: Vec<Value> = serde_json::from_str(&body)?;
println!("{:?}", data.first());
Ok(())
} Sources and methodology
The dataset is derived from the OpenFlights airlines database, a community-maintained open data project covering commercial and general aviation carriers worldwide. The source file is a headerless CSV with fields: id, name, alias, iata, icao, callsign, country, active.
Only airlines that OpenFlights marks as active (active = Y) and that have a well-formed IATA designator (2 alphanumeric characters) or ICAO designator (3 letters) are included; 54 user-submitted “virtual airline” entries with invalid designators (such as 12/N12 or ICAO codes containing digits) were removed in the October 2026 review. Placeholder values such as \N, -, and N/A are normalised to null. The result is 1,189 carriers including major commercial airlines, regional operators, and charter carriers.
Note that the OpenFlights airline data is a community snapshot that has not been substantially updated since the late 2010s, so it lags real-world changes such as airline mergers, rebranding, suspensions and new carriers. As of October 2026 we have set active: false on about 110 entries for well-known carriers that have ceased operating or been merged away (for example Air Berlin, Alitalia, Jet Airways, Thomas Cook Airlines, Flybe, Jetstar Asia), but other entries flagged true may also be defunct, and IATA codes of defunct carriers are often reassigned (e.g. AZ is now used by ITA Airways). For authoritative current data consult IATA or ICAO official registries.
This dataset is derived from the OpenFlights airline database, made available under the Open Database License (ODbL) v1.0; attribute OpenFlights when you use it, and share derived databases under the same licence.
Versioning
URLs under /v1/ are stable: field names and types will not change in a way
that breaks consumers. Values can be corrected or records added when the upstream source
changes; schema-incompatible updates ship under a new version path. See the
airlines changelog for this dataset's history.