openapi: 3.0.4
servers:
- url: https://prod.api.market/api/v1/aedbx/aerodatabox
info:
title: AeroDataBox API - Aviation and Flight API
description: Affordable aviation & flight data API tailored for small and medium businesses, teams and individual developers.
termsOfService: https://aerodatabox.com/terms/
contact:
url: https://aerodatabox.com/contact/
version: 1.14.0.0
paths:
/aircrafts/{searchBy}/{searchParam}:
get:
tags:
- Aircraft API
summary: AeroDataBox Single Aircraft (by Tail-number, Mode-S or ID) / TIER 1
description: "*Returns:* Single aircraft, *best* matching specified search criteria, if found. Please note that all found aircraft will be impersonated with registration information matching the requested
tail number or Mode-S even though an aircraft might be flying under a different registration right now."
operationId: GetAircraft
parameters:
- name: searchBy
in: path
description: Criteria to search aircraft by
schema:
$ref: "#/components/schemas/AircraftSearchByEnum"
- name: searchParam
in: path
description: "Value of the search criteria. If `searchBy` is: \r\n* `id`: then this field should be an ID of an aircraft (as specified in the database of this API);\r\n* `reg`: then this field should
be a tail-number of an aircraft (with or without spaces or dashes, any case formats are acceptable, e.g.PH-BXO, DeMhJ), multiple matches are possible - see below;\r\n* `icao24`, then this field
should be a ICAO 24-bit Mode-S address of an aircraft specified in hexadecimal format (e.g. 484161, 483EFD), multiple matches are possible - see below.\r\n\r\n*If multiple matches are possible:*\r\
\n\r\nThere cannot be more than one aircraft actively flying with the same tail-number or ICAO 24-bit Mode-S address at any moment of time. \r\nHowever, historically aircraft tail-numbers or addresses
may be used multiple times by different aircraft.\r\nThis endpoint is supposed to return a **single** aircraft data. In case if multiple aircraft satisfy the search criteria, the best match will
be chosen as follows:\r\n* If an active aircraft is found according to the requested critera, it is returned.\r\n* Otherwise, an aircraft that used requested tail-number/address the most recently
is returned. \r\n* If usage time may not be determined, the aircraft stored in the database the most recently is returned."
required: true
schema:
maxLength: 10
type: string
- name: withImage
in: query
description: "Should include aircraft image (default: false)."
schema:
type: boolean
default: false
- name: withRegistrations
in: query
description: "Should include the history of aircraft registrations (default: false)."
schema:
type: boolean
default: false
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/AircraftContract"
examples:
GetAircraft200Example:
summary: Default GetAircraft 200 response
x-microcks-default: true
value:
id: 100
reg: N12345
active: true
serial: example_value
hexIcao: KLAX
airlineName: Los Angeles International
iataType: LAX
iataCodeShort: LAX
icaoCode: KLAX
model: example_value
modelCode: CODE1
numSeats: 100
rolloutDate: '2025-03-15T14:30:00Z'
firstFlightDate: '2025-03-15T14:30:00Z'
deliveryDate: '2025-03-15T14:30:00Z'
registrationDate: '2025-03-15T14:30:00Z'
typeName: Los Angeles International
numEngines: 100
engineType: example_value
isFreighter: true
productionLine: example_value
ageYears: 1.5
verified: true
image: example_value
numRegistrations: 100
registrations:
- N12345
application/xml:
schema:
$ref: "#/components/schemas/AircraftContract"
"204":
description: No Content
"400":
description: Bad Request
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAircraft400Example:
summary: Default GetAircraft 400 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAircraft401Example:
summary: Default GetAircraft 401 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"451":
description: Unavailable For Legal Reasons
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAircraft451Example:
summary: Default GetAircraft 451 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAircraft500Example:
summary: Default GetAircraft 500 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"503":
description: Service Unavailable
x-badges:
- name: TIER 1
position: before
color: "#beffe6"
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- &a1
description: API.market API Key
in: header
name: x-api-market-key
value: Please Login/Signup to get an API Key
required: true
schema:
type: string
/aircrafts/{searchBy}/{searchParam}/registrations:
get:
tags:
- Aircraft API
summary: AeroDataBox Single Aircraft Registration History (by Tail-number, Mode-S or ID) / TIER 1
description: "*Returns:* A list of all known registrations of a single aircraft, *best* matching specified search criteria, if found"
operationId: GetAircraftRegistrations
parameters:
- name: searchBy
in: path
description: Criteria to search aircraft by
schema:
$ref: "#/components/schemas/AircraftSearchByEnum"
- name: searchParam
in: path
description: "Value of the search criteria. If `searchBy` is: \r\n* `id`, then this field should be an ID of an aircraft (as specified in the database of this API);\r\n* `reg`, then this field should
be a tail-number of an aircraft (with or without spaces or dashes, any case formats are acceptable, e.g.PH-BXO, DeMhJ), multiple matches are possible - see below;\r\n* `icao24`, then this field
should be a ICAO 24-bit Mode-S address of an aircraft specified in hexadecimal format (e.g. 484161, 483EFD), multiple matches are possible - see below.\r\n\r\n*If multiple matches are possible:*
see similar remark to `Single aircraft` endpoint."
required: true
schema:
maxLength: 10
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/AircraftRegistrationContract"
examples:
GetAircraftRegistrations200Example:
summary: Default GetAircraftRegistrations 200 response
x-microcks-default: true
value:
- example_value
application/xml:
schema:
type: array
items:
$ref: "#/components/schemas/AircraftRegistrationContract"
"204":
description: No Content
"400":
description: Bad Request
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAircraftRegistrations400Example:
summary: Default GetAircraftRegistrations 400 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAircraftRegistrations401Example:
summary: Default GetAircraftRegistrations 401 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"451":
description: Unavailable For Legal Reasons
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAircraftRegistrations451Example:
summary: Default GetAircraftRegistrations 451 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAircraftRegistrations500Example:
summary: Default GetAircraftRegistrations 500 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"503":
description: Service Unavailable
x-badges:
- name: TIER 1
position: before
color: "#beffe6"
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- *a1
/aircrafts/{searchBy}/{searchParam}/all:
get:
tags:
- Aircraft API
summary: AeroDataBox Aircraft by Tail-number, Mode-S or ID / TIER 1
description: "*Returns:* A list of all aircraft ever matched the requested criteria. Please note that all found aircraft will be impersonated with registration information matching the requested tail
number or Mode-S even though an aircraft might be flying under a different registration right now."
operationId: GetAllAircraft
parameters:
- name: searchBy
in: path
description: Criteria to search aircraft by
schema:
$ref: "#/components/schemas/AircraftSearchByEnum"
- name: searchParam
in: path
description: "Value of the search criteria. If `searchBy` is: \r\n* `id`, then this field should be an ID of an aircraft (as specified in the database of this API);\r\n* `reg`, then this field should
be a tail-number of an aircraft (with or without spaces or dashes, any case formats are acceptable, e.g.PH-BXO, DeMhJ);\r\n* `icao24`, then this field should be a ICAO 24-bit Mode-S address of
an aircraft specified in hexadecimal format (e.g. 484161, 483EFD)."
required: true
schema:
maxLength: 10
type: string
- name: withImage
in: query
description: "Should include aircraft image (default: false)."
schema:
type: boolean
default: false
- name: withRegistrations
in: query
description: "Should include the history of aircraft registrations (default: false)."
schema:
type: boolean
default: false
responses:
"200":
description: OK
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/AircraftContract"
examples:
GetAllAircraft200Example:
summary: Default GetAllAircraft 200 response
x-microcks-default: true
value:
- example_value
application/xml:
schema:
type: array
items:
$ref: "#/components/schemas/AircraftContract"
"204":
description: No Content
"400":
description: Bad Request
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAllAircraft400Example:
summary: Default GetAllAircraft 400 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAllAircraft401Example:
summary: Default GetAllAircraft 401 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"451":
description: Unavailable For Legal Reasons
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAllAircraft451Example:
summary: Default GetAllAircraft 451 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAllAircraft500Example:
summary: Default GetAllAircraft 500 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"503":
description: Service Unavailable
x-badges:
- name: TIER 1
position: before
color: "#beffe6"
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- *a1
/airlines/{airlineCode}/aircrafts:
get:
tags:
- Aircraft API
summary: AeroDataBox Airline Fleet / Aircraft List by Airline Code (BETA) / TIER 3
description: "*Returns:* A paged list of aircraft in the fleet of the specified airline. \r\n\r\nThat will include *active* aircraft currently flying in an *active* airline, verfified through more
than one source.\r\nUnconfirmed sightings of an aircraft will not qualify said aircraft to be listed in the fleet."
operationId: GetAirlineFleet
parameters:
- name: airlineCode
in: path
description: "3-character ICAO-code of the airliner (e.g., KLM, ACA); or\r\n2-character IATA-code of the airline (e.g., KL, AC).\r\n \r\nPlease note that more than one active airline
may have the same IATA code, therefore IATA codes are not recommended for this endpoint."
required: true
schema:
maxLength: 3
minLength: 2
type: string
- name: pageSize
in: query
description: "The number of returned records will be capped at this value.\r\nMust be a positive value and not exceed the limit stipulated by your pricing plan."
required: true
schema:
maximum: 2147483647
minimum: 0
type: integer
format: int32
- name: pageOffset
in: query
description: The number of records to skip before listing a page of records. In conjunction with `pageSize` effectively determines the page number (default - 0).
schema:
maximum: 2147483647
minimum: 0
type: integer
format: int32
default: 0
- name: withRegistrations
in: query
description: "Should include the history of aircraft registrations (default: false)."
schema:
type: boolean
default: false
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/AircraftContractPagedCollectionContract"
examples:
GetAirlineFleet200Example:
summary: Default GetAirlineFleet 200 response
x-microcks-default: true
value:
totalCount: 100
pageOffset: 100
pageSize: 100
hasNextPage: true
count: 100
items:
- example_value
application/xml:
schema:
$ref: "#/components/schemas/AircraftContractPagedCollectionContract"
"204":
description: No Content
"400":
description: Bad Request
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAirlineFleet400Example:
summary: Default GetAirlineFleet 400 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAirlineFleet401Example:
summary: Default GetAirlineFleet 401 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"451":
description: Unavailable For Legal Reasons
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAirlineFleet451Example:
summary: Default GetAirlineFleet 451 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAirlineFleet500Example:
summary: Default GetAirlineFleet 500 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"503":
description: Service Unavailable
x-badges:
- name: TIER 3
position: before
color: "#ffb694"
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- *a1
/aircrafts/reg/{reg}/image/beta:
get:
tags:
- Aircraft API
summary: AeroDataBox Aircraft Image by Tail-number / TIER 2
description: "**What is the aircraft photo?**\r\n\r\nAircraft images are being searched in external sources by certain criteria without any manual intervention. \r\nTherefore, false matches may be
returned. Only images with licenses approved for commercial use are returned. Please be advised that you may be required to mention author attribution before using the image.\r\n\r\n*Returns:* Image
data with medium-sized direct image URL and licence approved for commercial use\r\nis returned."
operationId: GetAircraftImageByRegistration
parameters:
- name: reg
in: path
description: Tail-number of the aircraft (full, stripped and any case formats are acceptable).
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/ResourceContract"
examples:
GetAircraftImageByRegistration200Example:
summary: Default GetAircraftImageByRegistration 200 response
x-microcks-default: true
value:
url: example_value
webUrl: example_value
author: example_value
title: example_value
description: example_value
license: example_value
htmlAttributions:
- example_value
application/xml:
schema:
$ref: "#/components/schemas/ResourceContract"
"204":
description: No Content
"400":
description: Bad Request
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAircraftImageByRegistration400Example:
summary: Default GetAircraftImageByRegistration 400 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAircraftImageByRegistration401Example:
summary: Default GetAircraftImageByRegistration 401 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"451":
description: Unavailable For Legal Reasons
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAircraftImageByRegistration451Example:
summary: Default GetAircraftImageByRegistration 451 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAircraftImageByRegistration500Example:
summary: Default GetAircraftImageByRegistration 500 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"503":
description: Service Unavailable
x-badges:
- name: TIER 2
position: before
color: "#aab6f8"
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- *a1
/aircrafts/search/term:
get:
tags:
- Aircraft API
summary: AeroDataBox Search Active Aircraft Tail Numbers by Term / TIER 2
description: "*Returns:* List of active aircraft registrations with tail numbers starting from the term."
operationId: SearchAircraftByTerm
parameters:
- name: q
in: query
description: Search term (min. 4 non whitespace characters length)
required: true
schema:
type: string
- name: limit
in: query
description: Maximum number of items to be returned (max. 10, defaut = 5)
schema:
type: integer
format: int32
default: 5
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/StringAircraftContractSearchResultCollectionContract"
examples:
SearchAircraftByTerm200Example:
summary: Default SearchAircraftByTerm 200 response
x-microcks-default: true
value:
searchBy: example_value
count: 100
items:
- example_value
application/xml:
schema:
$ref: "#/components/schemas/StringAircraftContractSearchResultCollectionContract"
"204":
description: No Content
"400":
description: Bad Request
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
SearchAircraftByTerm400Example:
summary: Default SearchAircraftByTerm 400 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
SearchAircraftByTerm401Example:
summary: Default SearchAircraftByTerm 401 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"451":
description: Unavailable For Legal Reasons
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
SearchAircraftByTerm451Example:
summary: Default SearchAircraftByTerm 451 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
SearchAircraftByTerm500Example:
summary: Default SearchAircraftByTerm 500 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: "#/components/schemas/ErrorContract"
"503":
description: Service Unavailable
x-badges:
- name: TIER 2
position: before
color: "#aab6f8"
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- *a1
/airports/{codeType}/{code}:
get:
tags:
- Airport API
summary: AeroDataBox Airport by Code / TIER 1
description: "At the moment airports having both ICAO and IATA code are present in database only.\r\n\r\n*Returns*: Single airport data, if found."
operationId: GetAirport
parameters:
- name: codeType
in: path
description: Type of code to search airport by (`iata` or `icao`)
schema:
$ref: "#/components/schemas/AirportCodesByEnum"
- name: code
in: path
description: "If `codeType` is:\r\n* `icao`, then this field must be a 4-character ICAO-code of the airport (e.g.: EHAM, KLAX, UUEE, etc.);\r\n* `iata`, then this field must be a 3-character IATA-code
of the airport (e.g.: AMS, SFO, LAX, etc.).\r\n\r\nFull, stripped and any case formats are acceptable."
required: true
schema:
maxLength: 4
minLength: 3
type: string
- name: withRunways
in: query
description: Include runways data (default - false)
schema:
type: boolean
default: false
- name: withTime
in: query
description: Include current local time (default - false)
schema:
type: boolean
default: false
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/AirportContract"
examples:
GetAirport200Example:
summary: Default GetAirport 200 response
x-microcks-default: true
value:
icao: KLAX
iata: LAX
localCode: CODE1
shortName: Los Angeles International
fullName: Los Angeles International
municipalityName: Los Angeles International
location: example_value
elevation: example_value
country: example_value
continent: example_value
timeZone: example_value
urls: example_value
runways:
- example_value
currentTime: example_value
application/xml:
schema:
$ref: "#/components/schemas/AirportContract"
"204":
description: No Content
"400":
description: Bad Request
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorContract"
examples:
GetAirport400Example:
# --- truncated at 32 KB (277 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aerodatabox/refs/heads/main/openapi/aerodatabox-openapi.yml