ADS-B Exchange Operations API

Endpoints provide access to Takeoffs/Landings operational events.

OpenAPI Specification

adsbexchange-operations-api-openapi.yml Raw ↑
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. <br /><br />\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. <br /><br />\nThis documentation is available in <a href=\"/api/aircraft/v2/docs\">ReDoc</a> and <a href=\"/api/aircraft/v2/docs/swagger\">Swagger</a> formats.\n<p>\n<b>Important developer notes:</b><br />\n<ul>\n  <li>When designing API client, please ensure that all requests include the 'Accept-Encoding' header with 'gzip' value.</li>\n  <li>When property values are not available, they will be omitted from the response object overall.</li>\n  <li>When parsing JSON response do not hard-code the order of properties. Use property names to access values.</li>\n  <li>We will never remove or rename properties. However, we may add new properties. Please ensure your code is resilient to new additive properties on the response objects.</li>\n</ul>\n</p>"
  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))