API Documentation
Complete reference for the Airhex API — airlines, airports, cities, countries, and logos.
On this page
Detailed Reference
Detailed API Reference
Explore the full documentation for each API resource:
Authentication
All API requests require a valid API key. Pass it as a Bearer token in the Authorization header, or via the X-API-Key header. Keys are delivered immediately after subscribing.
Don't have an API key yet? Get started — you'll have a key in minutes.
# Bearer token (recommended)
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.airhex.com/v1/airlines?iata=DL"
# Alternative: X-API-Key header
curl -H "X-API-Key: YOUR_API_KEY" \
"https://api.airhex.com/v1/airlines?iata=DL"
https://api.airhex.com/v1
/airlines
Query airline data. Returns a JSON object with a `data` array of matching airlines, a `total` count, and a `truncated` flag. At least one filter parameter is required on Starter plans — Growth and Enterprise plans may omit filters to retrieve the full dataset. Sandbox and Starter plans return a limited number of results per filter query (3 and 10 respectively).
Parameters
| Name | In | Required | Description |
|---|---|---|---|
iata |
query | Optional | IATA 2-letter airline code (e.g. DL). Comma-separated for multiple codes (e.g. DL,AA,UA — max 100). Returns all airlines sharing each code, deduplicated. Multi-code requires Growth or Enterprise. |
icao |
query | Optional | ICAO 3-letter airline code (e.g. DAL). Comma-separated for multiple codes (e.g. DAL,AAL,UAL — max 100). Multi-code requires Growth or Enterprise. |
name |
query | Optional | Case-insensitive substring search across marketing_name and full_name. Minimum 2 characters. |
country_code |
query | Optional | ISO 3166-1 alpha-2 country code (e.g. US). Returns all airlines registered in that country. |
alliance |
query | Optional | Filter by global alliance: Star Alliance, oneworld, or SkyTeam. Growth & Enterprise only — Starter plans receive 403. |
active_only |
query | Optional | Set to 1 to return only currently operating airlines. Starter and Growth plans always return active airlines regardless of this parameter; it is only meaningful on Enterprise where historical records are included by default. |
total (full match count) and truncated: true when results are capped. Growth and Enterprise return all results.
notice field. Sandbox data is for evaluation and integration testing only — it may not be used in production or commercial products.
Response Fields
Airline object
| Field | Type | Plan | Description |
|---|---|---|---|
airhex_id |
string | All | Unique internal airline identifier |
updated |
string | All | Last data update timestamp |
iata |
string | All | IATA 2-letter airline designator (e.g. "DL") |
icao |
string | All | ICAO 3-letter airline designator (e.g. "DAL") |
parent_icao |
string|null | All | ICAO code of parent/holding airline, if this is a subsidiary |
marketing_name |
string | All | Marketing/brand name (e.g. "Delta Air Lines") |
full_name |
string | All | Full legal/registered name (e.g. "Delta Air Lines, Inc.") |
active |
boolean | All | Active flag: true = operating, false = historical/ceased |
type |
string | All | Airline type label (e.g. "SCHEDULED", "CHARTER", "CARGO") |
type_code |
string | All | Numeric type code: 1=Scheduled, 2=Charter, 3=Rail/Bus/Ferry, 4=Helicopter, 5=Private Jet, 6=Tour, 7=ACMI, 8=Cargo, 9=Other |
country_code_alpha_2 |
string | All | Country of registration — ISO 3166-1 alpha-2 (e.g. "US") |
country_code_alpha_3 |
string | All | Country of registration — ISO 3166-1 alpha-3 (e.g. "USA") |
country_name |
string | All | Country of registration — full name (e.g. "United States") |
founded |
string | All | Year of founding (e.g. "1929") |
alliance |
string | Growth Enterprise | Global alliance membership: "Star Alliance", "oneworld", "SkyTeam", or empty string |
lowcost |
boolean | Growth Enterprise | Low-cost carrier flag |
ffp_name |
string|null | Growth Enterprise | Frequent flyer program name (e.g. "SkyMiles") |
colorscheme |
array | Growth Enterprise | Brand color palette — array of objects with hex, color (RGB array), percent, and dark flag |
website |
string | Growth Enterprise | Main website URL |
web_checkin_url |
string | Growth Enterprise | Online check-in page URL |
baggage_url |
string | Growth Enterprise | Baggage policy page URL |
city_code |
string | Enterprise | IATA airport code of the airline's base/headquarters airport (e.g. "LGW") |
Response Example
{
"data": [
{
"airhex_id": "377",
"updated": "2023-05-15 09:42:10",
"iata": "DL",
"icao": "DAL",
"parent_icao": null, // Starter+
"marketing_name": "Delta",
"full_name": "Delta Air Lines Inc.", // Starter+
"active": true, // Starter+
"type": "SCHEDULED", // Starter+
"type_code": "1", // Starter+
"country_code_alpha_2": "US", // Starter+
"country_code_alpha_3": "USA", // Starter+
"country_name": "United States", // Starter+
"founded": "1924", // Starter+
"alliance": "SkyTeam", // Growth+
"lowcost": false, // Growth+
"ffp_name": "SkyMiles", // Growth+
"colorscheme": [ // Growth+
{
"color": [
156,
28,
52
],
"percent": 50,
"hex": "#9C1C34",
"dark": 1
},
{
"color": [
228,
28,
52
],
"percent": 50,
"hex": "#E41C34",
"dark": 1
}
],
"website": "https://www.delta.com", // Growth+
"web_checkin_url": "https://www.delta.com/PCCOciWeb/findBy.action", // Growth+
"baggage_url": "https://www.delta.com/us/en/baggage/overview", // Growth+
"city_code": "ATL" // Enterprise
}
],
"total": 1,
"truncated": false
}
/airports
Query airport data. Returns a JSON object with a `data` array of matching airports (each enriched with nested city and country objects), a `total` count, and a `truncated` flag. At least one filter parameter is required on Starter plans. Sandbox and Starter plans return a limited number of results per filter query (3 and 10 respectively).
Parameters
| Name | In | Required | Description |
|---|---|---|---|
iata |
query | Optional | IATA 3-letter airport code (e.g. LHR). Comma-separated for multiple codes (e.g. LHR,CDG,JFK — max 100). Returns all airports matching each code, deduplicated. Multi-code requires Growth or Enterprise. |
icao |
query | Optional | ICAO 4-letter airport code (e.g. EGLL). Comma-separated for multiple codes (e.g. EGLL,LFPG,KJFK — max 100). Multi-code requires Growth or Enterprise. |
name |
query | Optional | Case-insensitive substring search on airport name. Minimum 2 characters. |
city_name |
query | Optional | Case-insensitive substring search on city name (e.g. "London"). Returns all airports in matching cities sorted by traffic volume. |
city_code |
query | Optional | IATA city code (e.g. LON). Returns all airports serving that city. |
country_code |
query | Optional | ISO 3166-1 alpha-2 country code (e.g. GB). Returns all airports in that country. |
major_only |
query | Optional | Set to 1 to include only major commercial airports. Growth & Enterprise only — Starter plans receive 403. |
city and country objects. Fields within those objects are also filtered by plan tier.
total (full match count) and truncated: true when results are capped. Growth and Enterprise return all results.
notice field. Sandbox data is for evaluation and integration testing only — it may not be used in production or commercial products.
Response Fields
Airport object
| Field | Type | Plan | Description |
|---|---|---|---|
iata |
string | All | IATA 3-letter airport code (e.g. "LHR") |
icao |
string | All | ICAO 4-letter airport code (e.g. "EGLL") |
name |
string | All | Airport name (e.g. "London Heathrow Airport") |
city_code |
string | All | IATA city code (e.g. "LON") |
country_code |
string | All | ISO 3166-1 alpha-2 country code (e.g. "GB") |
active |
boolean | All | Active flag: true = operational, false = closed |
sub_type |
string | All | Classification: "Airport", "Train Station", "Bus Station", "Heliport", etc. |
latitude |
string | Growth Enterprise | Decimal latitude (e.g. "51.4706") |
longitude |
string | Growth Enterprise | Decimal longitude (e.g. "-0.4619") |
timezone |
string | Growth Enterprise | IANA timezone identifier (e.g. "Europe/London") |
utc |
string | Growth Enterprise | UTC offset (e.g. "+0", "+5.5") |
avg_weekly_flights |
string | Growth Enterprise | Average weekly departures — traffic indicator (e.g. "6542") |
major_airport |
boolean | Growth Enterprise | Major airport flag: true = major commercial hub, false = other |
website |
string | Growth Enterprise | Airport website URL |
phone_local |
string | Growth Enterprise | Local phone number |
phone_intl |
string | Growth Enterprise | International phone number with country code |
address |
string | Growth Enterprise | Physical address |
Nested city object
| Field | Type | Plan | Description |
|---|---|---|---|
code |
string | All | IATA city code (e.g. "LON") |
name |
string | All | City name (e.g. "London") |
country_code |
string | All | ISO 3166-1 alpha-2 country code |
state_short |
string | All | State or province abbreviation (e.g. "ENG") |
state_full |
string | All | State or province full name (e.g. "England") |
latitude |
string | Growth Enterprise | City center decimal latitude |
longitude |
string | Growth Enterprise | City center decimal longitude |
timezone |
string | Growth Enterprise | IANA timezone identifier |
gmt |
string | Growth Enterprise | GMT offset (e.g. "0", "5.5") |
population |
string | Growth Enterprise | City population |
popularity |
string | Growth Enterprise | Traffic-based popularity score |
city_photo |
string | Growth Enterprise | City photo URL |
Nested country object
| Field | Type | Plan | Description |
|---|---|---|---|
code2 |
string | All | ISO 3166-1 alpha-2 code (e.g. "GB") |
code3 |
string | All | ISO 3166-1 alpha-3 code (e.g. "GBR") |
name |
string | All | Country name (e.g. "United Kingdom") |
iso |
string | Growth Enterprise | ISO 3166-1 numeric code (e.g. "826") |
capital_code |
string | Growth Enterprise | IATA code of the capital city (e.g. "LON") |
currency_code |
string | Growth Enterprise | ISO 4217 currency code (e.g. "GBP") |
region |
string | Growth Enterprise | Geographic region (e.g. "Europe") |
continent_code |
string | Growth Enterprise | Continent code (e.g. "EU") |
population |
string | Growth Enterprise | Country population |
phone_code |
string | Growth Enterprise | International dialing code (e.g. "44") |
Response Example
{
"data": [
{
"iata": "LHR",
"icao": "EGLL",
"name": "London Heathrow Airport",
"city_code": "LON",
"country_code": "GB",
"active": true, // Starter+
"sub_type": null, // Starter+
"latitude": "51.469603", // Growth+
"longitude": "-0.453566", // Growth+
"timezone": "Europe/London", // Growth+
"utc": "1", // Growth+
"avg_weekly_flights": "1587", // Growth+
"major_airport": true, // Growth+
"website": "https://www.heathrow.com", // Growth+
"phone_local": "0844 335 1801", // Growth+
"phone_intl": "+44 844 335 1801", // Growth+
"address": "Longford TW6, UK", // Growth+
"city": {
"code": "LON",
"name": "London",
"country_code": "GB",
"state_short": null, // Starter+
"state_full": null, // Starter+
"latitude": "51.5073509", // Growth+
"longitude": "-0.1277583", // Growth+
"timezone": "Europe/London", // Growth+
"gmt": "1", // Growth+
"population": "9648110", // Growth+
"popularity": "34038532", // Growth+
"city_photo": "https://content.airhex.com/content/city_photos/4241.jpg" // Growth+
},
"country": {
"code2": "GB",
"code3": "GBR", // Starter+
"name": "United Kingdom",
"iso": "826", // Growth+
"capital_code": "LON", // Growth+
"currency_code": "GBP", // Growth+
"region": "Europe", // Growth+
"continent_code": "EU", // Growth+
"population": "62348447", // Growth+
"phone_code": "+44" // Growth+
}
}
],
"total": 1,
"truncated": false
}
/logos
Retrieve signed logo URLs for one or more airlines. Returns a JSON object with a `data` array of airline logo entries and a `total` count. Each entry contains all logo variants available on your plan, grouped by format (png, svg), theme (light, dark), and shape (square, rectangular, tail, tail_right, circular). Width is computed from each shape's intrinsic aspect ratio (rectangular is 3.5 : 1, all others are 1 : 1). Each URL contains a cryptographic signature — load it directly in an <img> tag or download it. URLs are long-lived and CDN-cacheable.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
codes |
query | Required | Comma-separated IATA 2-letter or ICAO 3-letter airline codes (e.g. DL or DL,AA,EK — max 100). IATA codes may return multiple airlines sharing the same code. Results are deduplicated. Multi-code (more than 1) requires Growth or Enterprise. |
height |
query | Optional | Logo height in pixels (1–2 000). Width is computed automatically from each shape's aspect ratio — rectangular logos use a 3.5 : 1 ratio, all other shapes are 1 : 1. Default: 256. Sandbox and Starter are limited to 512. |
data array and total count. Each entry contains format keys (png, svg) with nested light and dark theme objects. Each shape is an object with url, width, and height fields.
?sig= parameter. These URLs serve binary image data directly — no authentication header needed. Cache them for 7 days.
data array, each with their own logo URLs.
?codes=DL,AA,EK, max 100). Results are deduplicated by unique airline ID. Multi-code (more than 1) requires Growth or Enterprise plan.
notice field reminding that data may not be used in production or commercial products. Upgrade to a paid plan to remove watermarks.
Response Fields
Response object
| Field | Type | Plan | Description |
|---|---|---|---|
data |
array | All | Array of airline logo objects, each with signed URLs grouped by format and theme |
total |
integer | All | Number of airlines returned |
notice |
string | All | Sandbox only — evaluation-only and watermark reminder |
Airline logo object
| Field | Type | Plan | Description |
|---|---|---|---|
iata |
string | All | IATA 2-letter airline code |
icao |
string | All | ICAO 3-letter airline code |
name |
string | All | Airline marketing name |
png |
object | All | PNG logo URLs grouped by theme → shape. Present on all plans. |
png.light |
object | All | Light-background PNG logos. Each shape key (square, rectangular, circular, tail, tail_right) is an object with url, width, and height. All plans include all five shapes. |
png.dark |
object | Growth Enterprise | Dark-background PNG logos — same structure as png.light. |
svg |
object | Growth Enterprise | SVG logo URLs grouped by theme → shape. |
svg.light |
object | Growth Enterprise | Light-background SVG logos — same structure as png.light. |
svg.dark |
object | Growth Enterprise | Dark-background SVG logos — same structure as png.light. |
Response Example
{
"data": [
{
"iata": "DL",
"icao": "DAL",
"name": "Delta",
"png": {
"light": {
"square": {
"url": "https://airhex.com/api/v1/logos/DAL/s/256x256.png?sig=...",
"width": 256,
"height": 256
},
"circular": {
"url": "https://airhex.com/api/v1/logos/DAL/c/256x256.png?sig=...",
"width": 256,
"height": 256
},
"tail": { // Growth+
"url": "https://airhex.com/api/v1/logos/DAL/t/256x256.png?sig=...",
"width": 256,
"height": 256
},
"tail_right": { // Growth+
"url": "https://airhex.com/api/v1/logos/DAL/f/256x256.png?sig=...",
"width": 256,
"height": 256
},
"rectangular": {
"url": "https://airhex.com/api/v1/logos/DAL/r/896x256.png?sig=...",
"width": 896,
"height": 256
}
},
"dark": { // Growth+
"square": {
"url": "https://airhex.com/api/v1/logos/DAL/s/256x256.png?theme=dark&sig=...",
"width": 256,
"height": 256
},
"circular": {
"url": "https://airhex.com/api/v1/logos/DAL/c/256x256.png?theme=dark&sig=...",
"width": 256,
"height": 256
},
"tail": { // Growth+
"url": "https://airhex.com/api/v1/logos/DAL/t/256x256.png?theme=dark&sig=...",
"width": 256,
"height": 256
},
"tail_right": { // Growth+
"url": "https://airhex.com/api/v1/logos/DAL/f/256x256.png?theme=dark&sig=...",
"width": 256,
"height": 256
},
"rectangular": {
"url": "https://airhex.com/api/v1/logos/DAL/r/896x256.png?theme=dark&sig=...",
"width": 896,
"height": 256
}
}
},
"svg": { // Growth+
"light": {
"square": {
"url": "https://airhex.com/api/v1/logos/DAL/s/256x256.svg?sig=...",
"width": 256,
"height": 256
},
"circular": {
"url": "https://airhex.com/api/v1/logos/DAL/c/256x256.svg?sig=...",
"width": 256,
"height": 256
},
"tail": { // Growth+
"url": "https://airhex.com/api/v1/logos/DAL/t/256x256.svg?sig=...",
"width": 256,
"height": 256
},
"tail_right": { // Growth+
"url": "https://airhex.com/api/v1/logos/DAL/f/256x256.svg?sig=...",
"width": 256,
"height": 256
},
"rectangular": {
"url": "https://airhex.com/api/v1/logos/DAL/r/896x256.svg?sig=...",
"width": 896,
"height": 256
}
},
"dark": { // Growth+
"square": {
"url": "https://airhex.com/api/v1/logos/DAL/s/256x256.svg?theme=dark&sig=...",
"width": 256,
"height": 256
},
"circular": {
"url": "https://airhex.com/api/v1/logos/DAL/c/256x256.svg?theme=dark&sig=...",
"width": 256,
"height": 256
},
"tail": { // Growth+
"url": "https://airhex.com/api/v1/logos/DAL/t/256x256.svg?theme=dark&sig=...",
"width": 256,
"height": 256
},
"tail_right": { // Growth+
"url": "https://airhex.com/api/v1/logos/DAL/f/256x256.svg?theme=dark&sig=...",
"width": 256,
"height": 256
},
"rectangular": {
"url": "https://airhex.com/api/v1/logos/DAL/r/896x256.svg?theme=dark&sig=...",
"width": 896,
"height": 256
}
}
}
}
],
"total": 1
}
Examples
Lookup airline by IATA code
Retrieve the full profile for Delta Air Lines using its IATA code.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.airhex.com/v1/airlines?iata=DL"
Search airlines by name
Find all airlines whose name contains "Emirates" — matches Emirates, Emirates SkyCargo, etc.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.airhex.com/v1/airlines?name=Emirates"
Filter airlines by alliance (Growth & Enterprise)
Get all Star Alliance member airlines. Requires Growth or Enterprise plan.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.airhex.com/v1/airlines?alliance=Star+Alliance"
All airlines in a country
List all airlines registered in Germany.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.airhex.com/v1/airlines?country_code=DE"
Bulk download — full airline database (Growth & Enterprise)
Retrieve every airline record. Requires Growth or Enterprise plan.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.airhex.com/v1/airlines"
Multi-code airline lookup (Growth & Enterprise)
Retrieve multiple airlines by comma-separated IATA codes in a single request.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.airhex.com/v1/airlines?iata=DL,AA,UA,LH,EK"
Airport lookup by IATA code
Get London Heathrow with nested city and country data.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.airhex.com/v1/airports?iata=LHR"
Search airports by city name
Find all airports serving cities matching "London" — returns Heathrow, Gatwick, Stansted, etc., sorted by traffic.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.airhex.com/v1/airports?city_name=London"
Major airports in a country (Growth & Enterprise)
List only major commercial airports in Germany.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.airhex.com/v1/airports?country_code=DE&major_only=1"
Multi-code airport lookup (Growth & Enterprise)
Retrieve multiple airports by comma-separated IATA codes in a single request.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.airhex.com/v1/airports?iata=LHR,CDG,JFK,NRT,SIN"
Get airline logo URLs
Retrieve all logo URLs for Delta Air Lines. Response includes signed URLs for every logo variant available on your plan.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.airhex.com/v1/logos?codes=DL"
Logo URLs with custom height
Request 512 px logos for Emirates. Square, circular, and tail logos will be 512×512, rectangular will be 1792×512 (3.5 : 1 ratio).
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.airhex.com/v1/logos?codes=EK&height=512"
Logo URLs with small height
Request compact 100 px logos for Lufthansa. Rectangular will be 350×100.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.airhex.com/v1/logos?codes=LH&height=100"
Multi-code logo lookup (Growth & Enterprise)
Retrieve logo URLs for multiple airlines in a single request.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.airhex.com/v1/logos?codes=DL,AA,EK,LH,SQ"
Use a signed logo URL directly
The URLs returned by the logos endpoint can be used directly in HTML. No authentication header needed — the signature in the URL authorizes access.
# 1. Get the URLs
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.airhex.com/v1/logos?codes=DL"
# 2. Use the signed URL in HTML:
# <img src="https://api.airhex.com/v1/logos/DAL/s/256x256.png?sig=a1b2c3d4e5f6" />
Error Codes
| Code | Description |
|---|---|
400 | Bad request — invalid or conflicting query parameters (e.g. name search under 2 characters, invalid dimensions) |
401 | Unauthorized — missing or invalid API key. Check your Authorization header. |
403 | Forbidden — your plan does not permit this operation (e.g. bulk listing on Starter, alliance filter on Starter, inactive API key) |
404 | Not found — no matching airline or airport for the given code |
429 | Too many requests — per-second rate limit exceeded. Back off and retry. |
502 | Bad gateway — a temporary error occurred. Retry after a few seconds. |
503 | Service temporarily unavailable. Retry after a few seconds. |
Rate Limits
All plans include unlimited monthly requests with fair-use rate limiting enforced per second. Standard rate headers (RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset) are included in every response. Responses also include Cache-Control headers — caching responses locally is recommended to stay well within limits.
Ready to start building?
Get your API key and start querying airlines, airports, and logos in minutes.
Get Started
Trusted by leading aviation & travel companies









