ADS-B Exchange Geospatial Filtering API

Endpoints allow filtering live data based on geospatial boundaries, such as latitude, longitude, altitudes, or even custom GeoJSON shapes. Use these endpoints to get information about aircraft within a specific radius from a given point, within a polygon, or within a custom shape. Note: When using GeoJSON shape files, only Polygon and MultiPolygon shapes are supported. Any other shapes will be ignored.

OpenAPI Specification

adsbexchange-geospatial-filtering-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: ADSB Exchange Geopolitical Filtering Geospatial Filtering 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: Geospatial Filtering
  description: 'Endpoints allow filtering live data based on geospatial boundaries, such as latitude, longitude, altitudes, or even custom GeoJSON shapes.

    Use these endpoints to get information about aircraft within a specific radius from a given point, within a polygon, or within a custom shape.

    <br /><br />

    <b>Note</b>: When using GeoJSON shape files, only Polygon and MultiPolygon shapes are supported. Any other shapes will be ignored.'
paths:
  /lat/{lat}/lon/{lon}/dist/{dist}:
    get:
      tags:
      - Geospatial Filtering
      summary: Get aircraft in radius
      description: 'This endpoint will return aircraft data within the given radius (NM) of the provided coordinates.


        Get aircraft within 50 nautical miles of San Francisco:

        ```

        GET /api/aircraft/v2/lat/37.7749/lon/-122.4194/dist/50

        ```'
      operationId: GetApiAircraftV2LatLonDist
      parameters:
      - name: lat
        in: path
        required: true
        description: Latitude of the center point.
        schema:
          type: number
          format: double
        x-position: 1
      - name: lon
        in: path
        required: true
        description: Longitude of the center point.
        schema:
          type: number
          format: double
        x-position: 2
      - name: dist
        in: path
        required: true
        description: Radius in nautical miles.
        schema:
          type: number
          format: double
        x-position: 3
      - 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 aircraft models within the given radius.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AircraftCollectionResponse'
        '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: []
  /proximity/radius:
    post:
      tags:
      - Geospatial Filtering
      summary: Get aircraft in radius
      description: "This endpoint will return aircraft data within the given radius (NM) of the provided points.\n\nGet aircraft within 50 nautical miles of San Francisco, and within 20 nautical miles from New York (KJFK) at altitudes between 5000 and 30000 feet:\n```\nPOST /api/aircraft/v2/proximity/radius\n{\n    \"filters\": [\n        {\n            \"latitude\": 37.7749,\n            \"longitude\": -122.4194,\n            \"radius\": 50\n        },\n        {\n            \"latitude\": 40.641,\n            \"longitude\": -73.775,\n            \"radius\": 20,\n            \"altitude_min\": 5000,\n            \"altitude_max\": 30000\n        },\n        ...\n    ]\n}\n```"
      operationId: PostApiAircraftV2ProximityRadius
      parameters:
      - 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
        description: JSON request model containing a list of distance filters (points).
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProximityRequest'
        required: true
        x-position: 1
      responses:
        '200':
          description: Response containing a collection of aircraft models within the given radius.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AircraftCollectionResponse'
        '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: []
  /minimal/lat/{lat}/lon/{lon}/dist/{dist}:
    get:
      tags:
      - Geospatial Filtering
      summary: Get aircraft in radius (minimal)
      description: This endpoint will return aircraft data within the given radius (NM) of the provided coordinates. The data will be returned in a minimal representation.
      operationId: GetApiAircraftV2MinimalLatLonDist
      parameters:
      - name: lat
        in: path
        required: true
        description: Latitude of the center point.
        schema:
          type: number
          format: double
        x-position: 1
      - name: lon
        in: path
        required: true
        description: Longitude of the center point.
        schema:
          type: number
          format: double
        x-position: 2
      - name: dist
        in: path
        required: true
        description: Radius in nautical miles.
        schema:
          type: number
          format: double
        x-position: 3
      - 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 aircraft models within the given radius.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AircraftCollectionMinimalResponse'
        '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: []
  /nohex/dist/{dist}/above/{alt}/lat/{lat}/lon/{lon}:
    get:
      tags:
      - Geospatial Filtering
      summary: Get aircraft in radius (above altitude)
      description: 'This endpoint will return aircraft data within the given radius (NM) of the provided coordinates, and above the provided altitude (ft).


        Get aircraft within 50 nautical miles of San Francisco, above 5000 feet (sea level):

        ```

        GET /nohex/dist/50/above/5000/lat/37.7749/lon/-122.4194

        ```'
      operationId: GetApiAircraftV2NohexDistAboveLatLon
      parameters:
      - name: lat
        in: path
        required: true
        description: Latitude of the center point.
        schema:
          type: number
          format: double
        x-position: 1
      - name: lon
        in: path
        required: true
        description: Longitude of the center point.
        schema:
          type: number
          format: double
        x-position: 2
      - name: dist
        in: path
        required: true
        description: Radius in nautical miles.
        schema:
          type: number
          format: double
        x-position: 3
      - name: alt
        in: path
        required: true
        description: Altitude in feet above sea level.
        schema:
          type: integer
          format: int32
        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 aircraft models within the given radius.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AircraftCollectionResponse'
        '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: []
  /airport/{airport}:
    get:
      tags:
      - Geospatial Filtering
      summary: Get aircraft near the airport
      description: 'This endpoint will return aircraft data within 5 nautical miles of the provided airport ICAO code.


        Get aircraft within 5 nautical miles of San Francisco airport:

        ```

        GET /api/aircraft/v2/airport/KSFO

        ```

        Use https://www.world-airport-codes.com/ to find ICAO codes for airports.'
      operationId: GetApiAircraftV2Airport
      parameters:
      - name: airport
        in: path
        required: true
        description: ICAO code of the airport.
        schema:
          type: string
        x-position: 1
      - 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 aircraft models within the given radius.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AircraftCollectionResponse'
        '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: []
  /airport:
    post:
      tags:
      - Geospatial Filtering
      summary: Get aircraft near airports
      description: "This endpoint will return aircraft data within 5 nautical miles of the provided airport ICAO code(s).\n\nGet aircraft within 5 nautical miles of San Francisco and Calgary airports:\n```\nPOST /api/aircraft/v2/airport\n{\n    \"airports\": [\"KSFO\", \"CYYC\"]\n}\n```\nUse https://www.world-airport-codes.com/ to find ICAO codes for airports."
      operationId: PostApiAircraftV2Airport
      parameters:
      - 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
        description: JSON request model containing airport ICAO code.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AirportRequest'
        required: true
        x-position: 1
      responses:
        '200':
          description: Response containing a collection of aircraft models within the given radius.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AircraftCollectionResponse'
        '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: []
  /geospatial/boundary:
    post:
      tags:
      - Geospatial Filtering
      summary: Get aircraft within boundary
      description: "Returns all aircraft within the given geospatial boundary(ies) described by GeoJSON Features.\n\n\nThe boundary is defined as a GeoJSON \"FeatureCollection\" object that contains multiple \"Feature\" objects.\nOnly \"Polygon\" and \"MultiPolygon\" feature types are supported.\n\nWhen feature object in the request contains \"properties\" dictionary,\neach aircraft matched by the boundaries of the geometry in the response will inherit those.\nThis allows sending single request with multiple geometries. API supports having up to 5 properties per feature.\n**Important**: When overlapping geometries are provided, the aircraft will be returned only once.\nAircraft will inherit all properties from all geometries it falls into.\n\nTypical use-cases include:\n* Monitoring boundaries of multiple locations (e.g. airports, cities, regions)\n* Monitoring approaching certain airspace boundaries (defining multiple overlapping geometries)\n\nThe more geometries supplied in a single request, the slower the response becomes.\nWe recommended making more requests with fewer geometries to ensure faster response times.\n\nGet aircraft in the San Francisco Bay Area:\n```\nPOST /api/aircraft/v2/geospatial/boundary\n{\n  \"type\": \"FeatureCollection\",\n  \"features\": [\n    {\n      \"type\": \"Feature\",\n      \"properties\": {\n          \"id\": \"usa-san-francisco-bay-area\",\n          \"name\": \"San Francisco Bay Area\"\n      },\n      \"geometry\": {\n        \"coordinates\": [\n          [\n            [\n              -122.44631395117611,\n              37.83516640724265\n            ],\n            [\n              -122.5693889887842,\n              37.75095177721121\n            ],\n            [\n              -122.43882801189045,\n              37.67277406071676\n            ],\n            [\n              -122.29229571649552,\n              37.749864464293466\n            ],\n            [\n              -122.44631395117611,\n              37.83516640724265\n            ]\n          ]\n        ],\n        \"type\": \"Polygon\"\n      }\n    }\n  ]\n}\n```\n\n\nThe GeoJSON Specification can be found at https://geojson.org/.\n\nUsing https://geojson.io/ simplifies creating GeoJSON boundaries."
      operationId: PostApiAircraftV2GeospatialBoundary
      parameters:
      - 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: FeatureCollectionRequest
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeatureCollectionRequest'
        required: true
        x-position: 1
      responses:
        '200':
          description: Response containing a collection of aircraft models within the given boundaries.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AircraftCollectionResponse'
        '400':
          description: When the request is malformed or the GeoJSON is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
        '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
    FeatureCollectionRequest:
      type: object
      description: Mimics the request model for the feature collection endpoint (GeoJSON)
      additionalProperties: false
      properties:
        type:
          type: string
          description: Type of the GeoJSON object. Should be "FeatureCollection"
        features:
          type: array
          description: Collection of features describing the geometries
          items:
            $ref: '#/components/schemas/FeatureRequest'
    ApiTooManyRequestsResponse:
      type: object
      additionalProperties: false
      properties:
        message:
          type: string
    FeatureRequest:
      type: object
      description: Describes single feature in the GeoJSON feature collection
      additionalProperties: false
      properties:
        type:
          type: string
          description: Type of the GeoJSON object. Should be "Feature"
        properties:
          type: object
          description: 'Collection of properties associated with the geometry.

            Properties with will propagated to each aircraft object in "properties" field.


            **IMPORTANT**: Only 5 properties supported. Each key and value must not exceed 128 characters.'
          additionalProperties:
            type: string
        geometry:
          description: Geometry of the feature. Must be a Polygon or MultiPolygon.
          oneOf:
          - $ref: '#/components/schemas/FeatureGeometryRequest'
    AircraftSingleResponse:
      type: object
      description: Full aircraft model with all available information.
      additionalProperties: false
      properties:
        hex:
          type: string
          description: The ICAO 24-bit address (hex) of the aircraft.
        type:
          type: string
          description: The type of message (e.g., adsb_icao, tisb_icao, etc.).
          nullable: true
        flight:
          type: string
          description: The flight number or callsign.
          nullable: true
        r:
          type: string
          description: Registration or tail number.
          nullable: true
        t:
          type: string
          description: Aircraft type (e.g., B38M for Boeing 737 MAX 8).
          nullable: true
        dbFlags:
          type: integer
          description: Bitfield for certain database flags, below and must be a bitwise and … check the documentation for your programming language
          nullable: true
          example: "  military = dbFlags & 1;\n  interesting = dbFlags & 2;\n  PIA = dbFlags & 4;\n  LADD = dbFlags & 8;"
        alt_baro:
          description: Barometric altitude in feet.
          nullable: true
        alt_geom:
          type: number
          description: Geometric altitude in feet.
          format: float
          nullable: true
        gs:
          type: number
          description: Ground speed in knots.
          format: float
          nullable: true
        ias:
          type: number
          description: Indicated airspeed in knots
          format: float
          nullable: true
        tas:
          type: number
          description: True airspeed in knots.
          format: float
          nullable: true
        mach:
          type: number
          description: Mach number (speed as a fraction of the speed of sound).
          format: float
          nullable: true
        wd:
          type: integer
          description: Wind direction in degrees.
          nullable: true
        ws:
          type: integer
          description: Wind speed in knots.
          nullable: true
        oat:
          type: integer
          description: Outer/Static air temperature (OAT), typically somewhat inaccurate at lower altitudes.
          nullable: true
        tat:
          type: integer
          description: Total air temperature (TAT), typically somewhat inaccurate at lower altitudes.
          nullable: true
        track:
          type: number
          description: Aircraft track over the ground in degrees.
          format: float
          nullable: true
        track_rate:
          type: number
          description: Rate of change of the track in degrees per second.
          format: float
          nullable: true
        roll:
          type: number
          description: Aircraft roll angle in degrees.
          format: float
          nullable: true
        mag_heading:
          type: number
          description: Magnetic heading in degrees.
          format: float
          nullable: true
        true_heading:
          type: number
          description: True heading in degrees.
          format: float
          nullable: true
        baro_rate:
          type: integer
          description: Barometric vertical rate (climb or descent) in feet per minute.
          format: int32
          nullable: true
        geom_rate:
          type: integer
          description: Geometric vertical rate (climb or descent) in feet per minute.
          format: int32
          nullable: true
        squawk:
          type: string
          description: Transponder squawk code.
          nullable: true
        emergency:
          type: string
          description: Emergency code (if applicable).
          nullable: true
        category:
          type: string
          description: Aircraft category based on size and weight.
          nullable: true
        nav_qnh:
          type: number
          description: QNH setting (altimeter pressure setting) in hPa.
          format: float
          nullable: true
        nav_altitude_mcp:
          type: integer
          description: MCP (Mode Control Panel) altitude setting in feet.
          nullable: true
        nav_altitude_fms:
          type: integer
          description: Selected altitude from the Flight Management System (FMS) in feet.
          nullable: true
        nav_heading:
          type: number
          description: MCP heading setting in degrees.
          format: float
          nullable: true
        nav_modes:
          type: array
          description: 'Navigation modes: autopilot, vnav, althold, approach, lnav, tcas'
          nullable: true
          items:
            type: string
        rr_lat:
          type: number
          description: Rough estimated latitude based on receiver's position.
          format: float
          nullable: true
        rr_lon:
          type: number
          description: Rough estimated longitude based on receiver's position.
          format: float
          nullable: true
        lastPosition:
          description: Last known position if lat/lon are older than 60 seconds.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/LastPositionDataResponse'
        gpsOkBefore:
          type: number
          description: Indicator of whether GPS was working well before degradation.
          format: double
          nullable: true
        gpsOkLat:
          type: number
          description: Indicator of whether GPS was working well before degradation - latitude.
          format: double
          nullable: true
        gpsOkLon:
          type: number
          description: Indicator of whether GPS was working well before degradation - longitude.
          format: double
          nullable: true
        lat:
          type: number
          description: Latitude of the aircraft.
          format: float
          nullable: true
        lon:
          type: number
          description: Longitude of the aircraft.
          format: float
          nullable: true
        nic:
          type: integer
          description: Navigation Integrity Category.
          format: int32
          nullable: true
        rc:
          type: integer
          description: Containment Radius of Accuracy in meters.
          nullable: true
        seen_pos:
          type: number
          description: Time since the last positional update in seconds.
          format: float
          nullable: true
        version:
          type: integer
          description: ADS-B version.
          format: int32
          nullable: true
        nic_baro:
          type: integer
          description: Barometric NIC (Navigation Integrity Category).
          nullable: true
        nac_p:
          type: integer
          description: Navigation Accuracy Category for Position.
          nullable: true
        nac_v:
          type: integer
          description: Navigation Accuracy Category for Velocity.
          nullable: true
        sil:
          type: integer
          description: Source Integrity Level.
          nullable: true
        sil_type:
          type: string
          description: Source Integrity Level type (e.g., per hour or per sample).
          nullable: true
        gva:
          type: integer
          description: Geometric Vertical Accuracy.
          nullable: true
        sda:
          type: integer
          description: System Design Assurance.
          nullable: true
        alert:
          type: integer
          description: Alert status (whether the transponder is indicating an alert).
          nullable: true
        spi:
          type: integer
          description: Special Position Identification (SPI) status.
          nullable: true
        mlat:
          type: array
          description: List of fields derived from MLAT data (e.g., "lat", "lon", "nic", "rc").
          nullable: true
          items:
            type: string
        tisb:
          type: array
          description: List of fields derived from TIS-B data (e.g., "gs", "lat", "lon", "nic", "rc", "nac_p", "sil", "sil_type").
          nullable: true
          items:
            type: string
        messages:
          type: integer
          description: The number of messages received from the aircraft.
          format: int64
          nullable: true
        seen:
          type: number
          description: Time since the last message was received, in seconds.
          format: float
          nullable: true
        rssi:
          type: number
          description: Signal strength in dBFS.
          format: float
          nullable: true
        acas_ra:
          description: ACAS Resolution Advisory data (experimental, subject to change).
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/AcasResolutionAdvisoryResponse'
        now:
          type: integer
          description: Unix milliseconds timestamp of the time the data was put into the cache.
          format: int64
          nullable: true
        geometries:
          type: array
          description: 'Contains caller-supplied collection of properties (up to 5) per matched geometry.

            Properties are propagated from each geometry object in the filter request.'
          nullable: true
          items:
            type: object
            additionalProperties:
              type: string
    AircraftCollectionMinimalResponse:
      type: object
      description: Response envelope for the multiple aircraft endpoint.
      additionalProperties: false
      properties:
        ac:
          type: array
          description: List of aircraft with all available information.
          items:
            $ref: '#/components/schemas/AircraftSingleMinimalResponse'
        msg:
          type: string
          description: Message indicating the status of the request overall.
        now:
          type: integer
          description: Unix timestamp of the current UTC time on the server (ms).
          format: int64
        total:
          type: integer
          description: The number of aircraft in the response.
          format: int32
        ctime:
          type: integer
          description: Unix timestamp (ms) of when the underlying data was last updated.
          format: int64
        ptime:
          type: integer
          description: Time taken on server to process the request (ms).
          format: int64
    ApiUnauthorizedResponse:
      type: object
      additionalProperties: false
      properties:
        msg:
          type: string
        reason:
          type: 

# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adsbexchange/refs/heads/main/openapi/adsbexchange-geospatial-filtering-api-openapi.yml