OpenAPI Specification
openapi: 3.0.3
info:
title: AirLabs Aviation Data Airlines Airports API
description: Real-time global flight tracking, airport schedules, flight delays, airline and airport databases, aircraft fleets, routes, nearby airports, and autocomplete suggestions. All responses are JSON wrapped in a `{request, response}` envelope. Authentication via `api_key` query parameter.
version: v9
termsOfService: https://airlabs.co/terms
contact:
name: AirLabs
url: https://airlabs.co
email: info@airlabs.co
license:
name: Proprietary
url: https://airlabs.co/terms
servers:
- url: https://airlabs.co/api/v9
description: Production
security:
- ApiKeyAuth: []
tags:
- name: Airports
description: Airport reference data
paths:
/airports:
get:
summary: Airports database
description: Returns airports from the database.
tags:
- Airports
operationId: airports_airports
parameters:
- name: iata_code
in: query
required: false
description: Airport IATA code
schema:
type: string
- name: icao_code
in: query
required: false
description: Airport ICAO code
schema:
type: string
- name: airport_iata
in: query
required: false
description: Alias for iata_code
schema:
type: string
- name: airport_icao
in: query
required: false
description: Alias for icao_code
schema:
type: string
- name: city_code
in: query
required: false
description: City IATA code
schema:
type: string
- name: country_code
in: query
required: false
description: Country ISO 2 code
schema:
type: string
- $ref: '#/components/parameters/FieldsParam'
- $ref: '#/components/parameters/LimitParam'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AirportsResponse'
'400':
description: Bad request — missing or invalid parameters
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized — missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — plan limit reached or feature not available
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Too many requests — rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Server error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
RequestMeta:
type: object
description: Echo of the request and processing metadata
properties:
lang:
type: string
currency:
type: string
time:
type: number
id:
type: string
server:
type: string
host:
type: string
pid:
type: integer
version:
type: integer
method:
type: string
params:
type: object
additionalProperties: true
AirportsResponse:
type: object
properties:
request:
$ref: '#/components/schemas/RequestMeta'
response:
type: array
items:
$ref: '#/components/schemas/Airport'
Airport:
type: object
properties:
name:
type: string
description: Airport name
iata_code:
type: string
description: Airport IATA code
icao_code:
type: string
description: Airport ICAO code
lat:
type: number
format: float
description: Latitude in decimal degrees
lng:
type: number
format: float
description: Longitude in decimal degrees
alt:
type: integer
description: Elevation in meters
city:
type: string
description: City name
city_code:
type: string
description: City IATA code
un_locode:
type: string
description: UN/LOCODE
timezone:
type: string
description: Timezone (tz database name)
country_code:
type: string
description: Country ISO 2 code
phone:
type: string
description: Airport phone number
website:
type: string
description: Airport website URL
popularity:
type: integer
description: Popularity rank
is_major:
type: boolean
description: Whether this is a major airport
slug:
type: string
description: URL-friendly slug
Error:
type: object
properties:
error:
type: object
properties:
message:
type: string
description: Error description
code:
type: string
description: Error code
parameters:
LimitParam:
name: _limit
in: query
required: false
description: Maximum number of results to return
schema:
type: integer
minimum: 1
maximum: 1000
FieldsParam:
name: _fields
in: query
required: false
description: Comma-separated list of response fields to return
schema:
type: string
securitySchemes:
ApiKeyAuth:
type: apiKey
in: query
name: api_key
description: API key. Sign up at https://airlabs.co/signup
externalDocs:
description: Full documentation
url: https://airlabs.co/docs/