Authentication

API access is automatic for active feeders — authenticated by IP. No key needed.

curl https://adsbiq.com/api/v2/all

Not a feeder? Install in 60 seconds to get access.

Endpoints

GET
/api/v2/all

Full aircraft snapshot — all currently tracked aircraft.

GET
/api/v2/hex/{hex}

Single aircraft by ICAO 24-bit hex (e.g., ad5d5c).

GET
/api/v2/reg/{reg}

Aircraft by registration (e.g., N960NK).

GET
/api/v2/type/{type}

Aircraft by ICAO type designator (e.g., B738, A20N).

GET
/api/v2/callsign/{callsign}

Aircraft by callsign (e.g., NKS3205).

GET
/api/v2/lat/{lat}/lon/{lon}/dist/{nm}

Aircraft within radius (nautical miles). Example: /api/v2/lat/26.68/lon/-80.10/dist/50

GET
/api/v2/squawk/{code}

Aircraft by squawk code (e.g., 7700).

GET
/api/v2/signal

Real-time RSSI signal stats (no auth required). Returns avg, median, p10, p90, aircraft count.

GET
/api/v2/signal/history

Last 5 minutes of signal readings (2s intervals, ~150 points). For chart priming.

GET
/api/v2/stats

Lightweight network stats (no auth). Returns aircraft_count and messages.

GET
/api/v2/history?date=YYYY-MM-DD&hour=HH

Presigned S3 download URLs for historical Parquet archives. Platinum tier only. URLs expire after 1 hour. hour is optional (0-23); omit for full day.

Response Format

{
  "now": 1774187176.0,
  "messages": 6505606,
  "total": 51,
  "ctime": 1774187176.3,
  "ptime": 1774187175.9,
  "ac": [
    {
      "hex": "ad5d5c",
      "type": "adsb_icao",
      "flight": "NKS3205 ",
      "category": "A3",
      "squawk": "1770",
      "emergency": "none",

      "lat": 26.224091,
      "lon": -80.960739,
      "alt_baro": 33350,
      "alt_geom": 34725,
      "baro_rate": 1472,
      "geom_rate": 1504,

      "gs": 457.4,
      "ias": 277,
      "tas": 458,
      "mach": 0.776,
      "track": 2.26,
      "track_rate": 0.0,
      "roll": -0.7,
      "mag_heading": 5.27,
      "true_heading": 358.36,

      "nav_qnh": 1012.8,
      "nav_altitude_mcp": 35008,

      "oat": -44,
      "tat": -16,

      "rssi": -23.1,
      "messages": 1140,
      "seen": 0.3,
      "seen_pos": 0.98,

      "r": "N960NK",
      "route_origin": "FLL",
      "route_dest": "MCI",

      "enrichment": {
        "reg": "N960NK",
        "msn": "11002",
        "manufacturer": "Airbus",
        "model": "A320-271N",
        "icao_type": "A20N",
        "engine": "PW PW1100G",
        "engine_count": 2,
        "engine_cat": "Turbo-fan",
        "aircraft_cat": "Fixed Wing Multi Engine",
        "year_built": 2022,
        "operator": "Spirit Airlines",
        "owner": "UMB BANK N A TRUSTEE",
        "country": "US",
        "is_ga": false,
        "reg_status": "V",
        "data_conflict": false
      }
    }
  ]
}

Envelope

FieldDescription
nowUnix epoch (UTC, 1dp) when readsb wrote this snapshot (feeder Pi clock)
messagesTotal ADS-B messages received since receiver start
totalNumber of aircraft in this response
ctimeUnix epoch (UTC, 1dp) when the API server generated this response
ptimeUnix epoch (UTC, 1dp) when the cache daemon last processed the data

ADS-B Position & Flight Data

FieldTypeDescription
hexstringICAO 24-bit address (lowercase hex)
typestringSource: adsb_icao, mlat, tisb, adsr
flightstringCallsign (8 chars, space-padded)
rstringRegistration (e.g., N960NK)
lat/lonfloatPosition (WGS84 decimal degrees)
alt_barointBarometric altitude (feet) or "ground"
alt_geomintGeometric (GPS) altitude (feet)
gsfloatGround speed (knots)
iasintIndicated airspeed (knots)
tasintTrue airspeed (knots)
machfloatMach number
trackfloatTrack angle (degrees, 0=north)
track_ratefloatRate of turn (degrees/second)
calc_trackfloatCalculated track from position history
rollfloatRoll angle (degrees, negative=left)
mag_headingfloatMagnetic heading (degrees)
true_headingfloatTrue heading (degrees)
baro_rateintBarometric vertical rate (ft/min)
geom_rateintGeometric vertical rate (ft/min)
seenfloatSeconds since last message from this aircraft
seen_posfloatSeconds since last position update
rssifloatSignal strength (dBFS, typically -1 to -35)
messagesintTotal messages received from this aircraft

Navigation & Avionics

FieldTypeDescription
squawkstringTransponder squawk code
emergencystringEmergency status (none, general, downed, etc.)
categorystringEmitter category (A1-A7, B1-B7, C1-C3)
nav_qnhfloatAltimeter setting (hPa/mbar)
nav_altitude_mcpintSelected altitude — MCP/FCU (feet)
nav_altitude_fmsintSelected altitude — FMS (feet)
nav_headingfloatSelected heading (degrees)
nav_modesarrayActive nav modes: autopilot, vnav, lnav, tcas, althold, approach
alertintAlert flag (0 or 1)
spiintSpecial Position Identification (0 or 1)
nicintNavigation Integrity Category (0-11)
rcintContainment radius (meters)
nic_barointNIC supplement for baro altitude
nac_pintNavigation Accuracy — Position
nac_vintNavigation Accuracy — Velocity
silintSource Integrity Level
sil_typestringSIL supplement: perhour or persample
gvaintGeometric Vertical Accuracy
sdaintSystem Design Assurance
versionintADS-B version (0, 1, or 2)
dbFlagsintBitmask: 1=military, 2=interesting, 4=PIA, 8=LADD
mlatarrayFields derived from multilateration
tisbarrayFields derived from TIS-B

Meteorological (from aircraft avionics — BDS 4,4 / 4,5)

FieldTypeDescription
oatfloatOutside air temperature (°C)
tatfloatTotal air temperature (°C)
wdintWind direction (degrees)
wsintWind speed (knots)

Route (from TFMS flight plans)

FieldTypeDescription
route_originstringOrigin airport IATA code
route_deststringDestination airport IATA code

Enrichment (ADSBiq aircraft intelligence layer)

The enrichment object is present when we have data. Derived from public records, community data, and inference models. Pass ?include_sources=true to see provenance.

FieldTypeDescription
regstringRegistration from database
msnstringManufacturer Serial Number
manufacturerstringAirframe manufacturer (Boeing, Airbus, Embraer, etc.)
modelstringFull model (e.g., A320-271N, 737-8)
icao_typestringICAO type designator (e.g., A20N, B738)
enginestringEngine type and variant (e.g., PW PW1100G)
engine_countintNumber of engines
engine_catstringEngine category (Turbo-fan, Turbo-prop, Piston)
aircraft_catstringAircraft category (Fixed Wing Multi Engine, Rotorcraft, etc.)
year_builtintYear of manufacture
build_datestringBuild date (YYYY-MM-DD) when available
operatorstringCurrent operating airline/entity
ownerstringRegistered owner or lessor
countrystringCountry of registration (ISO 2-letter)
is_gaboolGeneral aviation flag
reg_statusstringRegistration status (V=Valid, D=Deregistered, etc.)
data_conflictboolTrue if sources disagree on key fields
_sourcesarrayData provenance (requires ?include_sources=true)

Compression

Send Accept-Encoding: gzip for ~80% smaller payloads.

curl -H "Accept-Encoding: gzip" --compressed https://adsbiq.com/api/v2/all

Rate Limits

API is exclusively for active feeders.

Exceeding limits returns 429. Non-feeders get 403.

Historical Data (S3 Parquet Archive)

All aircraft observations are archived as compressed Parquet files at 15-minute intervals in S3. Each file contains deduplicated, timestamped observations with three precision clocks:

ColumnDescription
ts_aircraftWhen the aircraft transmitted (derived: file_now - seen_pos). UTC ms precision.
ts_receivedServer's atomic-synced UTC clock at poll time (chrony/AWS NTP).
ts_readsbFeeder's clock when it wrote the snapshot (may drift).

Use /api/v2/history?date=2026-03-22&hour=14 to get time-limited download URLs. Each URL expires after 1 hour.

curl "https://adsbiq.com/api/v2/history?date=2026-03-22&hour=14"

Historical API access is available to Platinum tier feeders. Start feeding to begin earning tier progress.