ADS-B — Automatic Dependent Surveillance-Broadcast Explained

ADS-B explained. How Automatic Dependent Surveillance-Broadcast works, ADS-B Out vs ADS-B In, the 1090 MHz and 978 MHz UAT frequencies, what data ADS-B transmits, ADS-B mandates worldwide and how to access ADS-B-derived flight data through an API.

Author
Sergey St.
Share:

What Is ADS-B?

Automatic Dependent Surveillance-Broadcast, almost universally abbreviated as ADS-B, is the surveillance technology that powers virtually every modern flight tracking system in the world. It is the reason that anyone — passengers, hobbyists, researchers, ATC controllers — can see where an aircraft is in real time, where it came from and where it is heading.

The name breaks down into four meaningful parts:

  • Automatic — the system requires no input from the pilot or controller. The aircraft transmits position data continuously while powered.
  • Dependent — the position data is derived from onboard navigation equipment (typically GPS). The aircraft is "dependent" on its own satellite-based positioning, rather than being tracked by external radar.
  • Surveillance — the data is used to monitor aircraft positions for air traffic separation and safety.
  • Broadcast — the transmission is one-way and unencrypted. Any ground station or aircraft within range can receive the signal.

Unlike traditional radar, which actively interrogates aircraft and measures the time for echoes to return, ADS-B is a passive system. The aircraft determines its own position via GPS, formats that information into a digital message, and broadcasts the message on a standard frequency. Anyone listening on that frequency receives the position update — including air traffic control, nearby aircraft equipped with ADS-B In, and ground-based receivers operated by tracking networks, hobbyists and aviation data services.

The AirLabs Real-Time Flights API delivers position data ultimately sourced from the global network of ADS-B receivers, normalized and enriched with airline, aircraft and route information. For developers building flight tracking applications, dashboards or analytics products, this is typically the most practical way to consume ADS-B data — you receive structured JSON instead of raw 1090 MHz radio signals.

"ADS-B democratized aviation tracking. Before it became mandatory, knowing where an aircraft was required either being an air traffic controller with radar access, or paying for expensive commercial data. After ADS-B, anyone with a $20 SDR receiver can see every transponder-equipped aircraft within a hundred miles."

How ADS-B Works

The ADS-B system is straightforward in concept. An ADS-B Out-equipped aircraft performs the following continuously while powered:

  • The onboard GPS receiver determines the aircraft's exact position (latitude, longitude, altitude)
  • Onboard avionics combine this with velocity data (ground speed, vertical speed, heading) and identification (flight number, ICAO 24-bit address)
  • The Mode S transponder packages this information into structured "extended squitter" messages
  • The transponder broadcasts the messages on 1090 MHz (or 978 MHz UAT in the US for low-altitude general aviation)
  • The broadcast happens approximately once per second

The total bandwidth used by a single ADS-B transmitter is tiny — each message is around 112 bits and takes about 120 microseconds to transmit. This means that thousands of aircraft can share the 1090 MHz frequency in a single airspace without significant interference, as long as the transmissions are staggered in time.

Receiving ADS-B requires only a properly tuned radio. Air traffic control facilities have professional-grade receivers connected to processing systems that integrate ADS-B with traditional radar tracks. Commercial flight tracking networks operate thousands of receivers distributed around the world. Hobbyists can use $20 software-defined radio dongles to pick up ADS-B from their own neighborhoods and feed data to community projects.

Once received, the messages are decoded to extract the structured fields — position, altitude, speed, heading, identification — and made available to applications. The AirLabs API consumes data sourced from this global network and provides it as a clean JSON interface.

ADS-B Out vs ADS-B In

ADS-B has two distinct capabilities, often confused but technically different:

ADS-B Out

The transmitting half of the system. An aircraft equipped with ADS-B Out broadcasts its own position, identification and velocity to anyone listening. ADS-B Out is mandatory for most commercial aircraft and almost all general aviation operating in controlled airspace in major jurisdictions. The aircraft does not need to receive anything — it only transmits.

ADS-B In

The receiving half of the system. An aircraft equipped with ADS-B In can receive signals from other ADS-B Out-equipped aircraft, displaying their positions in the cockpit. This enables enhanced situational awareness, traffic alerting and weather data delivery (when ground stations broadcast supplementary services). ADS-B In is generally optional — it adds value for the operator but is not mandated.

Most commercial transport aircraft and modern general aviation are equipped with both ADS-B Out (for surveillance compliance) and ADS-B In (for cockpit traffic display).

The Two ADS-B Frequencies

ADS-B uses two different frequencies depending on the aircraft type and operating region:

Frequency Standard Name Used By Primary Region
1090 MHz Mode S Extended Squitter Commercial aircraft, jets, most international aviation Worldwide
978 MHz Universal Access Transceiver (UAT) General aviation, lower altitudes United States only

The 1090 MHz frequency is the global standard. Every commercial airliner, every business jet and most international general aviation aircraft transmits ADS-B on 1090 MHz. This is the frequency that hobbyists track, that commercial flight tracking networks aggregate and that fills the airspace data picture worldwide.

The 978 MHz UAT system is a US-specific implementation that uses a different protocol on a different frequency. The FAA introduced UAT primarily for general aviation flying below 18,000 feet, where it offers some advantages (additional information services, less congestion on 1090 MHz). Aircraft operating above 18,000 feet in the US, and any aircraft flying internationally, must use 1090 MHz.

For data consumers, the relevant point is that 1090 MHz data covers essentially all commercial and international aviation, while UAT covers only US-based general aviation flying at lower altitudes. Most flight tracking applications focus on 1090 MHz because it provides the complete picture of commercial operations.

What Data ADS-B Broadcasts

An ADS-B Out transmission carries a structured set of fields, each providing a piece of operational information:

Field Description Example
ICAO 24-bit address Permanent aircraft identifier (hex code) A9D286
Call sign Flight identification, often the flight number AA100
Latitude GPS-derived latitude 40.6413
Longitude GPS-derived longitude -73.7781
Barometric altitude Altitude from pressure altimeter 10,972 m
Geometric altitude Altitude from GPS 10,985 m
Ground speed Horizontal velocity over the ground 845 km/h
Vertical speed Climb or descent rate +500 ft/min
Heading or track Direction the aircraft is moving 270°
Emitter category Aircraft size/type classification Heavy aircraft

The ICAO 24-bit address is the primary identifier — the same hex code used by Mode S transponders. For more detail on how this identifier works, see our ICAO 24-bit Address guide.

The call sign is the flight identification as set by the crew before takeoff. It is typically the flight number in ICAO format (BAW117 for British Airways flight 117), but for some operations it may be a charter callsign, a registration number, or a designated callsign that does not match the marketed flight number.

These fields, broadcast approximately once per second, are exactly what a flight tracking application needs to display aircraft on a map and identify each one.

ADS-B Mandates Worldwide

Major aviation authorities have made ADS-B Out mandatory for most aircraft operating in controlled airspace:

  • United States — FAA mandate took effect January 1, 2020. All aircraft operating in airspace requiring a transponder must be ADS-B Out equipped.
  • European Union — EASA mandate took effect June 7, 2020 for IFR/GAT aircraft above a defined weight and speed threshold.
  • Australia — ADS-B Out required for all IFR flights since February 2017.
  • Canada — Phased implementation between 2023 and 2028, depending on airspace and aircraft type.
  • Most other ICAO contracting states — Various phase-in schedules following the global trend toward universal ADS-B Out equipage.

The global mandate is the reason ADS-B data is so comprehensive today. Before the mandates, ADS-B coverage was patchy — only newer aircraft transmitted, and many older aircraft were invisible to ADS-B-only tracking networks. With ADS-B Out required for virtually all commercial operations, the global airspace is now fully visible to anyone with a receiver and the patience to deploy them widely enough.

ADS-B Data Through the AirLabs API

The AirLabs Real-Time Flights API delivers position data sourced from ADS-B receivers and enriched with metadata that raw ADS-B does not provide. A single API call returns a complete picture of aircraft in any region:

GET https://airlabs.co/api/v9/flights?airline_iata=BA&api_key={KEY}

[{
  "hex": "400936",
  "reg_number": "G-ZBKA",
  "flag": "GB",
  "lat": 51.4706,
  "lng": -0.4619,
  "alt": 10972,
  "dir": 270,
  "speed": 845,
  "v_speed": 0,
  "flight_iata": "BA117",
  "flight_icao": "BAW117",
  "dep_iata": "LHR",
  "arr_iata": "JFK",
  "airline_iata": "BA",
  "aircraft_icao": "B789",
  "status": "en-route"
}]

The fields visible here include both the data that comes directly from ADS-B broadcasts (hex, lat, lng, alt, dir, speed, v_speed, flight_icao) and the fields that are added by enrichment using the Fleets Database and Flight Info API (reg_number, airline_iata, aircraft_icao, dep_iata, arr_iata).

The enrichment step is what makes ADS-B data useful for most applications. Raw ADS-B broadcasts contain a hex code and a call sign — useful identifiers, but not directly meaningful to users. The AirLabs API resolves these to the registration number, the airline name and code, the aircraft type and the route — converting cryptic identifiers into the information users actually want to see on a flight tracker map.

Filtering ADS-B Data by Region and Aircraft

The AirLabs Real-Time Flights API supports several filter parameters to narrow the results to relevant subsets of the global ADS-B feed:

  • By airlineairline_iata=BA returns only flights operated by British Airways
  • By aircraft hexhex=400936 returns the live state of a single airframe
  • By registrationreg_number=G-ZBKA returns the same aircraft by tail number
  • By geographic regionbbox=south_lat,west_lng,north_lat,east_lng returns all flights within a bounding box
  • By aircraft typeaircraft_icao=B789 returns only Boeing 787-9 flights
  • By routedep_iata=LHR&arr_iata=JFK returns flights on a specific city pair

The bbox parameter is particularly useful for building map-based tracking displays — you specify the geographic area visible on the user's screen and receive only the flights within it, rather than pulling the entire global feed.

Use Cases for ADS-B Data

ADS-B data, particularly when enriched with metadata, serves a wide range of applications:

Flight Tracking Applications

The most visible use of ADS-B data is consumer-facing flight tracking. Maps showing aircraft positions in real time, "where is my flight" lookup tools and airport arrival monitoring dashboards all depend on a steady stream of ADS-B-derived position updates. The AirLabs Real-Time Flights API provides this stream in a format that is straightforward to integrate into web or mobile applications.

Air Traffic Control Surveillance

Modern ATC facilities use ADS-B as a primary or supplementary surveillance source, particularly in airspace that lacks comprehensive radar coverage. ADS-B is significantly cheaper to deploy than radar and provides higher-quality position information.

Aviation Research and Analytics

Researchers use historical and real-time ADS-B data to study flight patterns, fuel burn modeling, network topology, route utilization and emissions. The combination of position data with enriched aircraft and route information from the Fleets Database and Routes Database supports sophisticated analytical workflows.

Logistics and Cargo Tracking

Air freight forwarders track shipments by following the aircraft carrying them. The Real-Time Flights API, queried by aircraft registration or flight number, provides the live position data that shippers and consignees expect to see in modern logistics platforms.

Hobbyist and Educational Projects

Aviation enthusiasts run personal ADS-B receivers and build dashboards, alerting tools and historical logging systems. For projects that prefer a structured API over raw RF processing, the AirLabs platform provides ADS-B-derived data with consistent JSON responses and no need to maintain receiver infrastructure.

Insurance and Risk Management

Aviation insurers use real-time and historical position data to verify operational compliance, monitor coverage of insured assets and assess flight risk profiles. ADS-B data combined with the Airlines Database safety records provides the foundation for these analyses.

Practical Patterns for ADS-B Data Consumers

If you are building an application that consumes ADS-B-derived flight data, a few patterns appear repeatedly in production systems:

  • Use bounding box queries for map applications — request only the flights visible in the user's current map view rather than fetching the global feed
  • Cache aircraft details — the hex-to-aircraft mapping changes rarely, so cache results from the Fleets Database aggressively
  • Use field selection — specify only the fields your application needs via the _fields parameter to keep responses small and parsing efficient
  • Handle missing call signs — not every ADS-B broadcast includes a call sign. Aircraft on the ground, repositioning flights and certain operations may transmit only the hex code. Your application should display these aircraft with the registration or aircraft type as a fallback
  • Combine with the Flight Alert API for proactive monitoring — instead of polling the position endpoint repeatedly, subscribe to webhooks that fire when a tracked flight's status changes
  • Cross-reference with Schedules API to display planned arrival times alongside the live position for arriving flights

ADS-B Data for Developers

If you are building a flight tracking application, an aviation analytics tool, a logistics platform or any system that needs structured aircraft position data, the AirLabs API provides ADS-B-derived data enriched with airline, aircraft and route metadata — accessible through a single REST endpoint.

Supported API Features

Our Developer API allows you to create a custom experience for your users and increase the value of your product:

  • Real-Time Flights API with ADS-B-derived position, altitude, speed, heading and identification.
  • Filtering by airline, aircraft hex, registration, geographic bounding box, aircraft type and route.
  • Flight Information API for detailed status by flight number including delay and gate data.
  • Aircraft Fleets Database for resolving ADS-B hex codes to complete aircraft records.
  • Airlines Database for converting IATA/ICAO airline codes into carrier names and details.
  • Airports Database with geolocation, timezone and connections for the airports in route data.
  • Routes Database for analyzing the network operated by tracked aircraft.
  • Flight Alert API for webhook-based notifications when tracked flights change status.
  • Name Suggestion API for autocomplete of airline and airport names.
  • JSON, XML and CSV response formats.

You can try it right now without any obligation! Get a free flight API plan and see for yourself that we have exactly the data you need!

If you need more information, don't hesitate to contact us. We are always happy to chat with our customers and are sure to find a customized solution for each request.

Ready to get started?

Explore AirLabs, or create an account instantly and start using API.

Get FREE API Key