For the complete documentation index, see llms.txt. This page is also available as Markdown.

Flights

Live aircraft positions, flight search, flight paths, and aircraft details from the Wingbits network.

List live flights in an area

get
/v1/flights

Returns live aircraft positions within a geographic area — a bounding box (by=box with w/h) or a radius (by=radius with rad) around a center point — with optional altitude, aircraft-category, and military (mil=true) filters. Dimensions are kilometers by default, or nautical miles with unit=nm.

Authorizations
x-api-keystringRequired

API key for accessing protected endpoints

Query parameters
bystring · enumOptional

Search type: 'box' or 'radius'

Default: boxPossible values:
wnumberRequired

Width of search box (in km or nm based on unit)

hnumberRequired

Height of search box (in km or nm based on unit)

radnumberRequired

Search radius (in km or nm based on unit)

lanumber · min: -90 · max: 90Required

Latitude of center point (-90 to 90)

lonumber · min: -180 · max: 180Required

Longitude of center point (-180 to 180)

min_abnumberOptional

Minimum altitude filter in feet

max_abnumberOptional

Maximum altitude filter in feet

unitstring · enumOptional

Unit for dimensions: 'km' or 'nm' (nautical miles)

Default: nmPossible values:
categoriesstringOptional

Comma-separated aircraft category codes (e.g., A1,A2,A7)

milany ofOptional

Only return aircraft flagged military in the aircraft registry. Opt-in only: false or omitted applies no filter.

booleanOptional
or
string · enumOptionalPossible values:
Responses
200

Default Response

application/json
hstringRequired

ICAO 24-bit aircraft address (hex)

lanumber · min: -90 · max: 90Required

Aircraft latitude in decimal degrees

lonumber · min: -180 · max: 180Required

Aircraft longitude in decimal degrees

cstringOptional

Aircraft category code (ADS-B emitter category, e.g. A1–C2)

fstringOptional

Flight number / callsign

thanyOptional

Heading in degrees clockwise from true north (falls back to track angle)

abanyOptional

Barometric altitude in feet

aganyOptional

GNSS (geometric) altitude in feet

ronumberOptional

Roll angle in degrees

rastring · date-timeOptional

Timestamp when the message was received (ISO 8601)

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
oganyRequired

Whether aircraft is on ground

sqstringOptional

Transponder squawk code

gsnumberOptional

Ground speed in knots

tstringOptional

Data type indicator (ADSB/ADSC/MLAT)

get/v1/flights
GET /v1/flights?w=1&h=1&rad=1&la=1&lo=1 HTTP/1.1
Host: localhost:3002
x-api-key: YOUR_API_KEY
Accept: */*
[
  {
    "h": "text",
    "la": 1,
    "lo": 1,
    "c": "text",
    "f": "text",
    "th": null,
    "ab": null,
    "ag": null,
    "ro": 1,
    "ra": "2026-01-01T00:00:00.000Z",
    "og": null,
    "sq": "text",
    "gs": 1,
    "t": "text"
  }
]

List live flights in multiple areas

post
/v1/flights

Batch variant of the area query: send several box or radius queries in one request and get results per query, each echoing its alias. Each query supports the same optional altitude, aircraft-category, and military (mil=true) filters.

Authorizations
x-api-keystringRequired

API key for accessing protected endpoints

Bodyall of[]
anyOptional
or
and
Responses
200

Default Response

application/json
aliasstringRequired
post/v1/flights
POST /v1/flights HTTP/1.1
Host: localhost:3002
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 135

[
  {
    "by": "box",
    "w": 1,
    "h": 1
  },
  {
    "by": "box",
    "la": 1,
    "lo": 1,
    "min_ab": 1,
    "max_ab": 1,
    "unit": "nm",
    "categories": "text",
    "mil": true
  },
  {
    "alias": "text"
  }
]
[
  {
    "alias": "text",
    "data": [
      {
        "h": "text",
        "la": 1,
        "lo": 1,
        "c": "text",
        "f": "text",
        "th": null,
        "ab": null,
        "ag": null,
        "ro": 1,
        "ra": "2026-01-01T00:00:00.000Z",
        "og": null,
        "sq": "text",
        "gs": 1,
        "t": "text"
      }
    ]
  }
]

Get a flight by ID

get
/v1/flights/{id}

Returns a single flight by its identifier, including current position and flight metadata. When the aircraft is no longer live but its recent track is still retained, returns flight: null with hexId and lastPosition (the last tracked point).

Authorizations
x-api-keystringRequired

API key for accessing protected endpoints

Path parameters
idstringRequired

Item identifier

Responses
200

Default Response

application/json
flightany ofRequired
or
undefined · enum · nullableOptionalPossible values:
hexIdstringOptional
messagestringOptional
get/v1/flights/{id}
GET /v1/flights/{id} HTTP/1.1
Host: localhost:3002
x-api-key: YOUR_API_KEY
Accept: */*
{
  "flight": {
    "la": 1,
    "lo": 1,
    "c": "text",
    "f": "text",
    "ab": null,
    "ra": "2026-01-01T00:00:00.000Z",
    "d": "text",
    "h": "text",
    "tr": null,
    "th": null,
    "og": null,
    "a": 1,
    "ag": 1,
    "br": 1,
    "em": "text",
    "gr": 1,
    "gs": 1,
    "gv": 1,
    "i": 1,
    "m": 1,
    "mh": 1,
    "n": 1,
    "naf": 1,
    "nam": 1,
    "nb": 1,
    "nh": 1,
    "np": 1,
    "nq": 1,
    "nv": 1,
    "oat": 1,
    "port": 1,
    "rc": 1,
    "ro": 1,
    "rs": 1,
    "s": 1,
    "sda": 1,
    "sn": 1,
    "sp": 1,
    "spi": 1,
    "sq": "text",
    "st": "text",
    "t": "text",
    "tat": 1,
    "trr": 1,
    "ts": 1,
    "v": 1,
    "nm": [
      "text"
    ]
  },
  "hexId": "text",
  "lastPosition": {
    "la": 1,
    "lo": 1,
    "alt": 1,
    "timestamp": 1
  },
  "message": "text"
}

Get a flight path

get
/v1/flights/{id}/path

Returns the position track for a flight: an ordered list of latitude, longitude, altitude, and timestamp points.

Authorizations
x-api-keystringRequired

API key for accessing protected endpoints

Path parameters
idstringRequired

Item identifier

Responses
404

Default Response

application/json
statusCodenumberRequired

HTTP status code, like 200, 400, 401, 403, 404, 500

errorstringRequired

Error type. Textual representation of the status code, like "Bad Request", "Unauthorized", "Forbidden"

messagestringRequired

Error message. Detailed description of the error

codestringOptional

Custom error code to further identify the error, like "MFA_REQUIRED", "INVALID_CREDENTIALS"

get/v1/flights/{id}/path
GET /v1/flights/{id}/path HTTP/1.1
Host: localhost:3002
x-api-key: YOUR_API_KEY
Accept: */*
{
  "statusCode": 1,
  "error": "text",
  "message": "text",
  "code": "text",
  "validation": [
    {
      "message": "text",
      "path": [
        "text"
      ]
    }
  ]
}
get
/v1/flights/search

Finds a live flight by callsign (e.g. BAW172), ICAO 24-bit hex address (e.g. 4ca8d3), or registration (e.g. EI-DVN). Returns null when no matching flight is currently visible to the network.

Authorizations
x-api-keystringRequired

API key for accessing protected endpoints

Query parameters
querystring · min: 3 · max: 15Required

Flight callsign, ICAO hex, or registration

Responses
200

Default Response

application/json
flightany ofRequired
or
undefined · enum · nullableOptionalPossible values:
messagestringOptional
get/v1/flights/search
GET /v1/flights/search?query=text HTTP/1.1
Host: localhost:3002
x-api-key: YOUR_API_KEY
Accept: */*
{
  "flight": {
    "h": "text",
    "la": 1,
    "lo": 1,
    "c": "text",
    "f": "text",
    "th": null,
    "ab": null,
    "ag": null,
    "ro": 1,
    "ra": "2026-01-01T00:00:00.000Z",
    "og": null,
    "sq": "text",
    "gs": 1,
    "t": "text"
  },
  "message": "text"
}

Get aircraft details by ICAO24

get
/v1/flights/details/{icao24}

Returns detailed aircraft information — type, registration, operator, and related metadata — for an ICAO 24-bit address.

Authorizations
x-api-keystringRequired

API key for accessing protected endpoints

Path parameters
icao24string · min: 1Required

ICAO 24-bit address

Responses
404

Default Response

application/json
statusCodenumberRequired

HTTP status code, like 200, 400, 401, 403, 404, 500

errorstringRequired

Error type. Textual representation of the status code, like "Bad Request", "Unauthorized", "Forbidden"

messagestringRequired

Error message. Detailed description of the error

codestringOptional

Custom error code to further identify the error, like "MFA_REQUIRED", "INVALID_CREDENTIALS"

get/v1/flights/details/{icao24}
GET /v1/flights/details/{icao24} HTTP/1.1
Host: localhost:3002
x-api-key: YOUR_API_KEY
Accept: */*
{
  "statusCode": 1,
  "error": "text",
  "message": "text",
  "code": "text",
  "validation": [
    {
      "message": "text",
      "path": [
        "text"
      ]
    }
  ]
}

Get aircraft details for multiple ICAO24s

post
/v1/flights/details

Batch variant of the single aircraft-details lookup: send up to 100 ICAO 24-bit hex addresses and get their registry metadata in one request. Results preserve first-occurrence request order, duplicates are deduplicated case-insensitively, and aircraft with no registry record are returned with details: null.

Authorizations
x-api-keystringRequired

API key for accessing protected endpoints

Body
icao24sstring[] · min: 1 · max: 100Required

ICAO 24-bit hex addresses to look up (1–100 entries). Duplicates are deduplicated server-side, case-insensitively.

Responses
200

Aircraft details per requested ICAO24, in first-occurrence request order

application/json

Aircraft details per requested ICAO24, in first-occurrence request order

icao24stringRequired

The requested ICAO 24-bit address, lowercased (deduplicated canonical form)

detailsany ofRequired

Aircraft metadata for the ICAO24, or null when no registry record exists

or
undefined · enum · nullableOptionalPossible values:
post/v1/flights/details
POST /v1/flights/details HTTP/1.1
Host: localhost:3002
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 20

{
  "icao24s": [
    "text"
  ]
}
[
  {
    "icao24": "text",
    "details": {
      "icao24": "text",
      "registration": "text",
      "manufacturerIcao": "text",
      "manufacturerName": "text",
      "model": "text",
      "typecode": "text",
      "serialNumber": "text",
      "lineNumber": "text",
      "icaoAircraftType": "text",
      "operator": "text",
      "operatorCallsign": "text",
      "operatorIcao": "text",
      "operatorIata": "text",
      "owner": "text",
      "registered": "text",
      "reguntil": "text",
      "status": "text",
      "built": "text",
      "firstFlightDate": "text",
      "engines": "text",
      "modes": "text",
      "adsb": "text",
      "acars": "text",
      "notes": "text",
      "categoryDescription": "text",
      "mil": true,
      "faaPia": true,
      "faaLadd": true,
      "shortType": "text"
    }
  }
]

Last updated

Was this helpful?