A Mode S transponder is the modern secondary-radar transponder that answers air traffic control individually, using a unique 24-bit address hard-coded to each aircraft. It carries the aircraft's identity and altitude, in its enhanced form a set of live flight parameters, and it is the physical layer that ADS-B is built on. This guide explains how Mode S works, how it differs from the older Mode A and Mode C, and how the hex and squawk values you read in a flight data feed are Mode S data.
Mode S stands for Mode Select, and the "select" is the whole point. To understand why it exists, you have to see the problem it solved.
Secondary surveillance radar works by interrogation: a ground station transmits a question on 1030 MHz, and aircraft transponders reply on 1090 MHz. The older modes — Mode A, which returns the four-digit squawk code, and Mode C, which adds pressure altitude — have no way to talk to one aircraft at a time. Every transponder inside the radar beam hears the same interrogation and replies at once. In quiet airspace that is fine. In busy airspace it is a mess: replies from different aircraft overlap and corrupt each other (an effect called garbling), and stray replies triggered by other radars flood the frequency as FRUIT — False Replies Unsynchronised In Time. The more aircraft there are, the worse it gets.
Mode S fixes this at the root by giving every aircraft a permanent, globally unique 24-bit address. With that address, a ground station can interrogate one specific aircraft — a selective interrogation — instead of shouting to everyone in the beam. The addressed aircraft replies; the others stay silent. The result is clean, deterministic surveillance that scales to dense airspace, more accurate position measurement, and far less congestion on the shared frequencies. Mode S is also backward-compatible: a Mode S transponder still answers legacy Mode A and Mode C interrogations, so the system could be rolled out without grounding older radar.
"Mode A shouts a four-digit code to everyone listening. Mode S is a private conversation — the radar calls one aircraft by a name no other aircraft shares, and only that aircraft answers. Almost everything modern surveillance does, ADS-B included, is built on that single idea."
Mode S surveillance runs in two phases, and the distinction explains how a radar can address an aircraft it has never seen before.
The first phase is acquisition, using an all-call interrogation. This is the broadcast question that discovers which aircraft are present and learns their 24-bit addresses. Once a ground station knows an aircraft's address, it switches that aircraft to the second phase: roll-call, a selective interrogation aimed at that address alone. To stop the aircraft from cluttering the frequency with redundant all-call replies once it has been acquired, the radar issues a lockout, and the transponder falls silent to all-calls while continuing to answer its own roll-call.
The frequencies never change — 1030 MHz up to the aircraft, 1090 MHz back down — but the addressing does. Each aircraft now answers only when it is spoken to by name, which is what makes Mode S orderly where Mode A and Mode C become chaotic.
A Mode S reply can carry far more than the old modes. At minimum it returns the 24-bit ICAO address that identifies the airframe, and on request it still provides the Mode A identity — the squawk code — and the Mode C pressure altitude. It can also report the aircraft identification (the callsign or flight number entered by the crew). How much more it sends depends on the surveillance level the aircraft supports.
Elementary Surveillance is the baseline every Mode S transponder provides. It comprises the 24-bit address, pressure altitude, the aircraft identification, the transponder's capability report, and a flight status flag indicating whether the aircraft is airborne or on the ground. This is enough for a controller to see a labelled, altitude-tagged target without the garbling of the old modes.
Enhanced Surveillance adds a set of Downlink Aircraft Parameters (DAPs) — data read from the aircraft's own systems. These typically include the selected altitude dialled into the autopilot, magnetic heading, indicated airspeed and Mach number, ground speed, true track angle, roll angle and vertical rate. EHS lets a controller see not just where an aircraft is but something of what it is doing and intends to do — for instance, the altitude the crew has set. These parameters are transmitted for air traffic control; as noted below, they are not something a commercial flight data feed republishes.
| Mode | What it returns |
| Mode A | Four-digit squawk identity code only |
| Mode C | Squawk plus pressure altitude |
| Mode S (ELS) | 24-bit address, altitude, aircraft ID, capability, airborne/ground status |
| Mode S (EHS) | ELS plus flight parameters — selected altitude, heading, speed, roll, vertical rate |
The most important thing Mode S enables is ADS-B. ADS-B "Out" is not a separate radio — it is a Mode S transponder broadcasting an Extended Squitter on 1090 MHz (the format is called 1090ES). A squitter is a message the transponder sends on its own, without being interrogated, and the Extended Squitter carries GPS-derived position, velocity and identity out to any receiver in range.
So the relationship is a layering: Mode S is the transponder and its addressing scheme; ADS-B is the message set that transponder squitters. The 24-bit address that makes selective interrogation possible is the same address stamped on every ADS-B broadcast, which is why the two technologies fit together so tightly. Mode S is also what makes airborne collision avoidance work — TCAS units interrogate nearby aircraft over Mode S to negotiate resolution advisories, again using those unique addresses so each aircraft knows exactly who it is talking to.
For a developer, Mode S is not an abstraction — its output is sitting in the flight data response. The Real-Time Flights API exposes the decoded transponder state, and several fields come straight from the Mode S layer:
hex is the 24-bit Mode S address — the documentation lists it as the "ICAO24 Hex address." It is permanent and unique to the airframe, and you can filter the endpoint by it to pull one specific aircraft.squawk is the Mode A identity code carried in the transponder reply.alt is the reported (pressure) altitude that Mode C and Mode S provide.lat, lng, dir, speed, v_speed arrive via the ADS-B Extended Squitter on that same Mode S transponder — which is exactly why the documentation calls this endpoint the "Live ADS-B Data API."reg_number and aircraft_icao resolve the airframe behind the hex via the Fleets Database.Because hex is the permanent Mode S address, it is the natural key for aircraft-centric queries:
GET https://airlabs.co/api/v9/flights?hex=780695&_fields=hex,squawk,reg_number,aircraft_icao,alt,lat,lng,status&api_key={KEY}
[{
"hex": "780695",
"squawk": "0205",
"reg_number": "B-5545",
"aircraft_icao": "B738",
"alt": 7078,
"lat": 28.397377,
"lng": 115.1008,
"status": "en-route"
}]
Here a single aircraft is identified by its Mode S hex, transmitting squawk 0205, at 7,078 metres — the permanent transponder address, the current ATC code and the live position, all in one record.
It is worth being precise about what the API does and does not give you. AirLabs delivers the decoded transponder data as clean fields — the hex address, the squawk, the altitude and the position. It does not run receivers or interrogate aircraft itself; it is the data layer on top of the surveillance network. And it surfaces the resolved state, not the raw Enhanced Surveillance parameters: the selected altitude, roll angle or indicated airspeed a Mode S transponder can transmit to ATC are not fields in the response. What you get is the identity, code, altitude and position — the parts that matter for tracking — reported cleanly, with your application deciding what to do with them.
A few patterns make the most of the Mode S fields:
hex to follow one airframe. Because the 24-bit address never changes, filtering by hex lets you track a specific aircraft across all of its flights, not just one flight number.hex with the temporary squawk. The address tells you which aircraft; the squawk tells you what code it is transmitting now. Read together they give identity plus current ATC context — see the squawk codes guide for what the codes mean.hex to a full aircraft record through the Fleets Database to turn the address into registration, type and details._fields (for example hex,squawk,alt,lat,lng) to keep responses compact, and use bbox or zoom to constrain a live map to an area.Applications that follow individual airframes — spotting tools, delivery-flight trackers, ferry-flight monitors — key on the permanent hex address rather than a flight number, so the aircraft stays identifiable no matter what route or callsign it flies today.
Resolving a Mode S hex against the Fleets Database turns a raw address into a registration and aircraft type, powering "what aircraft is this?" features and fleet-analytics tools.
Researchers and enthusiasts studying traffic use the hex, alt and position fields together to analyse how airspace is used — altitude bands, traffic density and aircraft mix — the observable output of the Mode S surveillance layer.
If you are building a flight tracker, a spotting tool or any system that needs to identify and follow individual aircraft, the AirLabs API gives you the Mode S hex address alongside the squawk, altitude, position and identity — through a single REST endpoint, with the reference databases to resolve every code into a full record.
Our Developer API allows you to create a custom experience for your users and increase the value of your product:
hex (ICAO24) address, squawk, altitude, position, speed and heading.hex, registration, airline, geographic bounding box, aircraft type and route.hex address into registration, aircraft type and full aircraft records._fields and array view via _view to keep responses efficient.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.
Explore AirLabs, or create an account instantly and start using API.
Get FREE API Key