openapi: 3.0.0 info: title: ADSB Exchange Geopolitical Filtering Operations API description: "The ADSB Exchange API provides real-time access to live global flight data,\nenabling retrieval of detailed information on aircraft positions, flight events, historical trace files,\nand many more aviation metrics.

\nKnown for its accurate data, ADSB Exchange API is ideal\nfor aviation tracking applications, research, and analytics, offering extensive coverage powered by a\nglobal network of ADS-B and MLAT receivers.

\nThis documentation is available in ReDoc and Swagger formats.\n

\nImportant developer notes:
\n

\n

" termsOfService: https://www.adsbexchange.com/terms-of-use/ contact: name: Contact ADSB Exchange url: https://www.adsbexchange.com/products/enterprise-api/ version: v2 x-logo: url: https://adsbexchange.com/wp-content/uploads/ax_logo_background_api-scaled.avif href: '#' servers: - url: https://gateway.adsbexchange.com/api/aircraft/v2 tags: - name: Operations description: Endpoints provide access to Takeoffs/Landings operational events. paths: /operations/icaos: post: tags: - Operations summary: Get operations by multiple aircraft ICAO codes description: 'Returns operations (Takeoffs and Landings) for the given ICAO codes. Response is paginated and sorted by time (descending). Returns 1000 items per page. Max number of ICAOs per request is 500 (enforced by model validation), further constrained by FleetLimit entitlement.' operationId: PostApiAircraftV2OperationsIcaos parameters: - name: page x-originalName: pageNumber in: query schema: type: integer format: int32 nullable: true x-position: 2 - name: time_from x-originalName: unixTimestampFrom in: query schema: type: integer format: int64 nullable: true x-position: 3 - name: time_to x-originalName: unixTimestampTo in: query schema: type: integer format: int64 nullable: true x-position: 4 - type: string name: Accept-Encoding in: header required: true description: The encoding type the client will accept in the response. API call must use compression. default: gzip example: gzip requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/OperationsIcaosRequest' required: true x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/OperationsResponse' '400': description: '' content: application/json: schema: $ref: '#/components/schemas/BadRequest' '402': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiUnauthorizedResponse' '403': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiForbiddenResponse' '429': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiTooManyRequestsResponse' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' security: - X-Api-Key: [] /operations/icao/{icao}: get: tags: - Operations summary: Get operations by aircraft description: 'Returns operations (Takeoffs and Landings) for the given ICAO code (hex code) of the aircraft. Response is paginated and sorted by time (descending). Returns 20 items per page. ``` GET /api/aircraft/v2/operations/icao/A1B2C3 ```' operationId: GetApiAircraftV2OperationsIcao parameters: - name: icao in: path required: true description: ICAO code of the aircraft. schema: type: string x-position: 1 - name: page x-originalName: pageNumber in: query description: Page number to return. When not specified, defaults to 1. schema: type: integer format: int32 nullable: true x-position: 2 - name: time_from x-originalName: unixTimestampFrom in: query description: Unix timestamp from which to start the search. When not specified, defaults to 24 hours ago. Value in seconds. schema: type: integer format: int64 nullable: true x-position: 3 - name: time_to x-originalName: unixTimestampTo in: query description: Unix timestamp to which to end the search. When not specified, defaults to current time. Value in seconds. schema: type: integer format: int64 nullable: true x-position: 4 - type: string name: Accept-Encoding in: header required: true description: The encoding type the client will accept in the response. API call must use compression. default: gzip example: gzip responses: '200': description: 'Response containing a collection of operational events: takeoffs and landings.' content: application/json: schema: $ref: '#/components/schemas/OperationsResponse' '402': description: Payment Required content: application/json: schema: $ref: '#/components/schemas/ApiUnauthorizedResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiForbiddenResponse' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/ApiTooManyRequestsResponse' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' security: - X-Api-Key: [] /operations/airports: post: tags: - Operations summary: Get operations by multiple airports description: "Returns operations (Takeoffs and Landings) for the given ICAO codes of the airports. Response is paginated and sorted by time (descending). Returns 1000 items per page.\nMax number of airports per request is 500 (hard limit), further constrained by AirportLimit entitlement.\n\n**Example**: get operations for three main California airports (Los Angeles, San Francisco, San Diego):\n```\nPOST /api/aircraft/v2/operations/airports\n \n{\n \"airports\": [\"KLAX\", \"KSFO\", \"KSAN\"]\n}\n```" operationId: PostApiAircraftV2OperationsAirports parameters: - name: page x-originalName: pageNumber in: query schema: type: integer format: int32 nullable: true x-position: 2 - name: time_from x-originalName: unixTimestampFrom in: query schema: type: integer format: int64 nullable: true x-position: 3 - name: time_to x-originalName: unixTimestampTo in: query schema: type: integer format: int64 nullable: true x-position: 4 - type: string name: Accept-Encoding in: header required: true description: The encoding type the client will accept in the response. API call must use compression. default: gzip example: gzip requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/OperationsAirportRequest' required: true x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/OperationsResponse' '400': description: '' content: application/json: schema: $ref: '#/components/schemas/BadRequest' '402': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiUnauthorizedResponse' '403': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiForbiddenResponse' '429': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiTooManyRequestsResponse' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' security: - X-Api-Key: [] /operations/airport/{airport}: get: tags: - Operations summary: Get operations by airport description: 'Returns operations (Takeoffs and Landings) for the given ICAO code of the airport. Response is paginated and sorted by time (descending). Returns 20 items per page. Get operations for San Francisco airport for the last 24 hours: ``` GET /api/aircraft/v2/operations/airport/KSFO ``` Use https://www.world-airport-codes.com/ to find ICAO codes for airports.' operationId: GetApiAircraftV2OperationsAirport parameters: - name: airport in: path required: true description: ICAO code of the airport. schema: type: string x-position: 1 - name: page x-originalName: pageNumber in: query description: Page number to return. When not specified, defaults to 1. schema: type: integer format: int32 nullable: true x-position: 2 - name: time_from x-originalName: unixTimestampFrom in: query description: Unix timestamp from which to start the search. When not specified, defaults to 24 hours ago. Value in seconds. schema: type: integer format: int64 nullable: true x-position: 3 - name: time_to x-originalName: unixTimestampTo in: query description: Unix timestamp to which to end the search. When not specified, defaults to current time. Value in seconds. schema: type: integer format: int64 nullable: true x-position: 4 - type: string name: Accept-Encoding in: header required: true description: The encoding type the client will accept in the response. API call must use compression. default: gzip example: gzip responses: '200': description: 'Response containing a collection of operational events: takeoffs and landings.' content: application/json: schema: $ref: '#/components/schemas/OperationsResponse' '402': description: Payment Required content: application/json: schema: $ref: '#/components/schemas/ApiUnauthorizedResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiForbiddenResponse' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/ApiTooManyRequestsResponse' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' security: - X-Api-Key: [] components: schemas: BadRequest: type: object additionalProperties: false properties: statusCode: type: integer format: int32 ApiTooManyRequestsResponse: type: object additionalProperties: false properties: message: type: string OperationsIcaosRequest: type: object description: Model representing a request for obtaining operations (takeoffs/landings) for one or more aircraft ICAO codes. additionalProperties: false properties: icaos: type: array maxItems: 500 minItems: 1 items: type: string ApiUnauthorizedResponse: type: object additionalProperties: false properties: msg: type: string reason: type: string nullable: true OperationsResponse: type: object description: Response envelope for the response containing multiple operations objects. additionalProperties: false properties: items: type: array description: List of operations objects items: $ref: '#/components/schemas/OperationsResponseItem' msg: type: string description: Message indicating the status of the request overall. totalItems: type: integer description: The total number of operations in the database for the given query. format: int32 totalPages: type: integer description: Total number of pages that client can iterate through. format: int32 pageNumber: type: integer description: Current page number. format: int32 ctime: type: integer description: Unix timestamp of when the underlying data was last updated. format: int64 now: type: integer description: Unix timestamp of the current UTC time on the server. format: int64 ptime: type: integer description: Time taken on API server to process the request, in milliseconds. format: int64 ApiForbiddenResponse: type: object additionalProperties: false properties: msg: type: string reason: type: string nullable: true ProblemDetails: type: object additionalProperties: nullable: true properties: type: type: string nullable: true title: type: string nullable: true status: type: integer format: int32 nullable: true detail: type: string nullable: true instance: type: string nullable: true OperationsResponseItem: type: object additionalProperties: false properties: icao: type: string registration: type: string nullable: true flight: type: string nullable: true ac_type: type: string nullable: true time: type: string nullable: true time_epoch: type: integer format: int64 airport: type: string nullable: true runway: type: string nullable: true operation: type: string nullable: true flight_link: type: string nullable: true gs: type: string nullable: true squawk: type: string nullable: true signal_type: type: string nullable: true alt_baro: type: integer format: int32 nullable: true track: type: string nullable: true lat: type: number format: float nullable: true lon: type: number format: float nullable: true alt_geom: type: integer format: int32 nullable: true rate: type: integer format: int32 nullable: true category: type: string nullable: true reg: type: string nullable: true icaotype: type: string nullable: true year: type: string nullable: true manufacturer: type: string nullable: true model: type: string nullable: true ownop: type: string nullable: true faa_pia: type: boolean nullable: true faa_ladd: type: boolean nullable: true short_type: type: string nullable: true mil: type: boolean nullable: true apt_type: type: string nullable: true name: type: string nullable: true continent: type: string nullable: true iso_country: type: string nullable: true iso_region: type: string nullable: true municipality: type: string nullable: true scheduled_service: type: string nullable: true iata_code: type: string nullable: true wgs84_elev: type: integer format: int32 nullable: true OperationsAirportRequest: type: object description: Model representing a request for obtaining operations (takeoffs/landings) for one or more airports. additionalProperties: false properties: airports: type: array maxItems: 500 minItems: 1 items: type: string securitySchemes: X-Api-Key: type: apiKey description: Provide your API key via x-api-key header to access the API. name: x-api-key in: header x-generator: NSwag v14.1.0.0 (NJsonSchema v11.0.2.0 (Newtonsoft.Json v13.0.0.0))