Airlines, fleets and route data API client — airlinefyi.com
Project description
airlinefyi
Python API client for airline data. Look up airlines by IATA/ICAO code, explore fleet compositions, query alliance memberships (Star Alliance, oneworld, SkyTeam), and retrieve route networks — all from AirlineFYI, a comprehensive airline reference covering carriers worldwide.
AirlineFYI catalogs airline identification codes, fleet sizes and aircraft types, hub airports, founding dates, and operational status — providing structured data for travel-tech developers, aviation analytics, and flight booking platforms.
Explore airlines at airlinefyi.com — browse by alliance, search by IATA code, and view fleet details.
Table of Contents
- Install
- Quick Start
- What You Can Do
- Command-Line Interface
- MCP Server (Claude, Cursor, Windsurf)
- REST API Client
- API Reference
- Learn More About Airlines
- Also Available
- Transport FYI Family
- License
Install
pip install airlinefyi # Core (zero deps)
pip install "airlinefyi[cli]" # + Command-line interface
pip install "airlinefyi[mcp]" # + MCP server for AI assistants
pip install "airlinefyi[api]" # + HTTP client for airlinefyi.com API
pip install "airlinefyi[all]" # Everything
Quick Start
from airlinefyi.api import AirlineFYI
with AirlineFYI() as api:
# Look up an airline
ke = api.get_airline("korean-air")
print(ke["iata"]) # KE
print(ke["icao"]) # KAL
print(ke["alliance"]) # SkyTeam
print(ke["fleet_size"]) # Fleet count
# List airlines by alliance
skyteam = api.list_airlines(alliance="skyteam")
for airline in skyteam:
print(f"{airline['iata']} — {airline['name']}")
# Search airlines
results = api.search("emirates")
What You Can Do
Airline Alliances
The three global airline alliances — Star Alliance, oneworld, and SkyTeam — enable codeshare agreements, shared frequent flyer programs, and coordinated route networks. Together they cover over 60% of global air traffic.
| Alliance | Founded | Members | Annual Passengers | Key Members |
|---|---|---|---|---|
| Star Alliance | 1997 | 26 | 762M | United, Lufthansa, ANA, Singapore |
| SkyTeam | 2000 | 19 | 630M | Delta, Air France-KLM, Korean Air |
| oneworld | 1999 | 13 | 535M | American, British Airways, Qantas, JAL |
from airlinefyi.api import AirlineFYI
with AirlineFYI() as api:
# List all airline alliances
alliances = api.list_alliances()
for a in alliances:
print(f"{a['name']}: {a['member_count']} members")
# Get all airlines in an alliance
star = api.list_airlines(alliance="star-alliance")
for airline in star:
print(f"{airline['iata']} {airline['name']}")
Learn more: Airline Alliances · Glossary
Fleet Composition
An airline's fleet determines its route capabilities. Narrowbody aircraft (A320neo, B737 MAX) serve short-to-medium routes (1-6 hours), while widebody aircraft (A350, B787, B777) operate long-haul intercontinental routes. Fleet age and composition directly impact operating costs and passenger experience.
| Aircraft Category | Typical Range | Seats | Example Types |
|---|---|---|---|
| Regional | <2,000 km | 50-100 | E175, CRJ-900, ATR 72 |
| Narrowbody | 2,000-6,000 km | 120-240 | A320neo, B737 MAX, A321XLR |
| Widebody | 6,000-15,000 km | 250-400 | A350, B787, B777 |
| Super-widebody | 8,000-18,000 km | 400-600 | A380, B747-8 |
from airlinefyi.api import AirlineFYI
with AirlineFYI() as api:
# Get fleet composition
airline = api.get_airline("singapore-airlines")
print(f"Fleet size: {airline['fleet_size']}")
for aircraft in airline.get("fleet", []):
print(f" {aircraft['type']}: {aircraft['count']} aircraft")
Learn more: Airline Fleets · Guides
Hub Airports and Route Networks
Airlines organize their route networks around hub airports, creating spoke-and-hub systems that maximize connectivity. Major carriers operate multiple hubs — United uses EWR, IAH, SFO, and ORD; Lufthansa Group uses FRA, MUC, ZRH, and VIE.
from airlinefyi.api import AirlineFYI
with AirlineFYI() as api:
# Get airline hub airports
airline = api.get_airline("united-airlines")
for hub in airline.get("hubs", []):
print(f"Hub: {hub['name']} ({hub['iata']})")
Learn more: Airlines · Glossary
Airline Identification Codes
Like airports, airlines are assigned IATA (2-letter) and ICAO (3-letter) codes. IATA codes appear on tickets and displays (AA, BA, LH), while ICAO codes are used in flight plans and ATC communications (AAL, BAW, DLH). The ICAO callsign is the radio name used by pilots.
| Airline | IATA | ICAO | Callsign |
|---|---|---|---|
| American Airlines | AA | AAL | AMERICAN |
| British Airways | BA | BAW | SPEEDBIRD |
| Lufthansa | LH | DLH | LUFTHANSA |
| Korean Air | KE | KAL | KOREAN AIR |
| Emirates | EK | UAE | EMIRATES |
from airlinefyi.api import AirlineFYI
with AirlineFYI() as api:
# Search by IATA code
results = api.search("BA")
airline = results[0]
print(f"{airline['iata']}/{airline['icao']} — {airline['callsign']}")
Learn more: Airline Directory · API Documentation
Command-Line Interface
pip install "airlinefyi[cli]"
airlinefyi airline korean-air # Airline details
airlinefyi search "delta" # Search airlines
airlinefyi alliances # List all alliances
airlinefyi alliance star-alliance # Alliance members
MCP Server (Claude, Cursor, Windsurf)
pip install "airlinefyi[mcp]"
{
"mcpServers": {
"airlinefyi": {
"command": "uvx",
"args": ["--from", "airlinefyi[mcp]", "python", "-m", "airlinefyi.mcp_server"]
}
}
}
REST API Client
from airlinefyi.api import AirlineFYI
with AirlineFYI() as api:
airline = api.get_airline("korean-air") # GET /api/v1/airlines/korean-air/
airlines = api.list_airlines(alliance="skyteam") # GET /api/v1/airlines/?alliance=skyteam
alliances = api.list_alliances() # GET /api/v1/alliances/
results = api.search("emirates") # GET /api/v1/search/?q=emirates
Example
curl -s "https://airlinefyi.com/api/v1/airlines/korean-air/"
{
"slug": "korean-air",
"name": "Korean Air",
"iata": "KE",
"icao": "KAL",
"alliance": "SkyTeam",
"country": "South Korea"
}
Full API documentation at airlinefyi.com/developers/.
API Reference
| Function | Description |
|---|---|
api.get_airline(slug) |
Airline details (codes, alliance, fleet, hubs) |
api.list_airlines(alliance) |
List airlines, optionally by alliance |
api.list_alliances() |
All airline alliances |
api.get_alliance(slug) |
Alliance details with member list |
api.search(query) |
Search by name, IATA, or ICAO code |
Learn More About Airlines
- Browse: Airline Directory · Alliances
- Guides: Aviation Guides · Glossary
- API: REST API Docs · OpenAPI Spec
Also Available
| Platform | Install | Link |
|---|---|---|
| npm | npm install airlinefyi |
npm |
| MCP | uvx --from "airlinefyi[mcp]" python -m airlinefyi.mcp_server |
Config |
Transport FYI Family
Part of the FYIPedia open-source developer tools ecosystem — airports, airlines, aircraft, and railways.
| Package | PyPI | npm | Description |
|---|---|---|---|
| airportfyi | PyPI | npm | 4,500+ airports, IATA/ICAO codes, routes — airportfyi.com |
| airlinefyi | PyPI | npm | Airlines, fleets, alliances, routes — airlinefyi.com |
| planefyi | PyPI | npm | Aircraft models, specifications, manufacturers — planefyi.com |
| trainfyi | PyPI | npm | Railway stations, train routes, rail networks — trainfyi.com |
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file airlinefyi-0.1.1.tar.gz.
File metadata
- Download URL: airlinefyi-0.1.1.tar.gz
- Upload date:
- Size: 217.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42b904f73f054d511d408c7e76048725e6bc6ef76f8154673185cbaf4c822070
|
|
| MD5 |
cc0f3d2a1351c5c070374e3fcb82fd6a
|
|
| BLAKE2b-256 |
b2755e1e44d8a6593468b57abf79d24626f9d25ae3df6f0410eccca148da7873
|
File details
Details for the file airlinefyi-0.1.1-py3-none-any.whl.
File metadata
- Download URL: airlinefyi-0.1.1-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d65fc99f96cdf2761fc4799ba35da5a07e1d110c779c55af6257a6ff8ad9f23
|
|
| MD5 |
646ba58d52dc19ed1f81266fa4300c01
|
|
| BLAKE2b-256 |
932651def6970426dd12e426dbfc16436a1598f6c282663c79cfc1a3ca6ee778
|