Dots

REST API for developers

Flight data API for live ADS-B data

Query live aircraft positions, flight paths, aircraft details, and GPS interference data over REST  from Wingbits' own verified network of 6,000+ receivers in 120+ countries.

historical data

flight patterns

global traffic

What you can query

GET /v1/flights

Live aircraft positions in a bounding box or radius, with altitude and category filters.

GET /v1/flights/search

Find flights by callsign, ICAO hex, or registration.

GET /v1/flights/{id}

A single flight by identifier.

GET /v1/flights/{id}/path

The position track for a flight.

GET /v1/flights/details/{icao24}

Aircraft details by ICAO 24-bit address.

GET /v1/gps/jam

GPS interference hexes for a bounding box and date.

Query live flights in one request

Live aircraft within 150 km of London Heathrow, in three languages:

cURL
curl "https://customer-api.wingbits.com/v1/flights?by=radius&la=51.47&lo=-0.45&rad=150&unit=km" \
  -H "x-api-key: YOUR_API_KEY"
JavaScript
const res = await fetch(
  'https://customer-api.wingbits.com/v1/flights?by=radius&la=51.47&lo=-0.45&rad=150&unit=km',
  { headers: { 'x-api-key': process.env.WINGBITS_API_KEY } },
);
const flights = await res.json();
Python
import requests

res = requests.get(
    "https://customer-api.wingbits.com/v1/flights",
    params={"by": "radius", "la": 51.47, "lo": -0.45, "rad": 150, "unit": "km"},
    headers={"x-api-key": "YOUR_API_KEY"},
)
flights = res.json()
Sample response
[
  {
    "h": "4ca8d3",      // ICAO 24-bit address
    "la": 51.4712,      // latitude
    "lo": -0.4586,      // longitude
    "f": "BAW172",      // callsign
    "c": "A5",          // aircraft category
    "th": 268.4,        // heading
    "ab": 37000,        // barometric altitude (ft)
    "ag": 37225,        // GNSS altitude (ft)
    "ra": "2026-07-09T14:03:11.000Z"  // last report time (ISO 8601)
  }
]

Authentication, limits, and pricing

API keys

Authenticate every request with an API key in the x-api-key header. Create and manage keys from the developers section of your Wingbits dashboard.

Get API access →

Rate limits and plans

Request limits scale with your plan, and requests over the limit return HTTP 429. For higher volumes, streams, or custom coverage, talk to us about an enterprise plan.

Data from our own verified network

Wingbits data comes from our own network of 6,000+ community-hosted ADS-B ground stations in 120+ countries — processing 50+ billion data points per day. Stations are locked and verified: they feed only Wingbits, so the data is not an aggregate of third-party feeds.

99% of messages reach the platform with sub-second latency, and every measurement is traceable to a verified physical receiver.

What teams build with it

Fleet flight tracking

Track your aircraft or a customer portfolio in real time and feed positions into your own dashboards and operations tools.

Learn more →

Aviation analytics

Build analysis, research, and machine-learning workflows on verified ADS-B data instead of scraping consumer trackers.

Learn more →

Airspace awareness

Monitor activity, GPS interference indicators, and traffic patterns over regions that matter to your operation.

Learn more →

AI agents and assistants

Give AI systems live aviation data through the same network that powers Wingbits.AI chat, agents, and the MCP server.

Learn more →

Full API reference

The complete, always-current reference — every endpoint, parameter, and response — lives in the interactive API docs, with a machine-readable OpenAPI document alongside.

Frequently asked questions

Does the API include live ADS-B positions?

Yes. GET /v1/flights returns live aircraft positions for any bounding box or radius, with optional altitude and aircraft-category filters.

Does the API include historical data?

The Customer API focuses on live and recent data, including per-flight paths. For deep historical archives, Wingbits provides historical ADS-B datasets as a data product — see the historical flight data page or contact sales.

Can I search by tail number or callsign?

Yes. GET /v1/flights/search accepts a callsign, ICAO 24-bit hex address, or registration and returns matching flights.

Can I access GPS interference data?

Yes. GET /v1/gps/jam returns GPS interference hexes — aggregated indicators of degraded navigation accuracy reported by aircraft — for any bounding box and date.

How fresh is the data?

Positions come directly from Wingbits’ own receiver network — 99% of messages reach the platform with sub-second latency.

What are the rate limits?

Limits depend on your plan — see the pricing page for tiers and the enterprise path for higher volumes. Requests over your limit return HTTP 429 so clients can back off cleanly.