DATA PROVENANCE

Data sources & provenance

AeroScope operates no receivers and holds no private feed. Every data point traces back to a public source, all of them listed here so results can be independently checked.

Provenance

Where every data point comes from

AeroScope holds no private feed and operates no receivers of its own. Everything it shows is derived from public sources, listed here so any result can be traced back to its origin and independently checked.

Aircraft positions

SourceProvidesNatureStatus
adsb.fiLive ADS-B positions and velocityVolunteer receiver network, open dataActive
adsb.lolLive ADS-B positions, including unfiltered trafficVolunteer receiver network, open dataActive
OpenSky NetworkADS-B state vectors, used when the community feeds rate-limit usResearch network, OAuth2 clientActive
airplanes.liveLive ADS-B positionsVolunteer receiver networkDisabled pending their permission
ADS-B Exchange (RapidAPI)Unfiltered traffic, satellite-fed positionsCommercial APINot enabled, needs a paid key

Aircraft identity and messages

SourceProvidesNatureStatus
hexdb.ioICAO 24-bit address to registration, type and operatorRegistry lookupActive
adsbdbRegistration, operator and route lookupsOpen registry APIActive
airframes.ioACARS and VDL message feedVolunteer networkActive
Planespotters.netAircraft photographs, credited to the photographerPublic APIActive
OurAirports11,635 airports with runway geometry and elevationPublic domain datasetActive

Weather, hazards and the world around the aircraft

SourceProvidesNatureStatus
aviationweather.gov (NOAA AWC)METAR, TAF and international SIGMETsGovernment open dataActive
RainViewerWorldwide precipitation radar compositeAggregated national radar networksActive
NASA GIBSInfrared cloud imagery from GOES East, GOES West and HimawariGovernment open dataActive, no Meteosat coverage
NASA FIRMSActive fire detections from VIIRS, refreshed every 30 minutesGovernment open dataActive
USGSEarthquakes of magnitude 2.5 and aboveGovernment open dataActive
NOAA SWPCSpace weather storm scales, read alongside GNSS accuracy dropsGovernment open dataActive
CelesTrakOrbital elements for GNSS constellations and crewed stationsPublic catalogueActive

Ships

SourceProvidesNatureStatus
aisstream.ioLive AIS vessel positions near coasts worldwideCommunity AIS networkActive
KystdatahusetAIS around NorwayNorwegian open data (NLOD)Active
Fintraffic DigitrafficAIS in the BalticFinnish open data (CC BY 4.0)Active

Maps

SourceProvidesNatureStatus
OpenFreeMap and OpenMapTilesStandard, light and dark basemapsOpen tiles from OpenStreetMap dataActive
EsriSatellite imagery and place labelsCommercial tiles, free tierActive
OpenTopoMapTerrain basemapOpen tiles from OpenStreetMap dataActive

Measured here, not fetched

LayerHow it is derived
GNSS interference mapThe share of aircraft in each hexagon reporting degraded navigation accuracy (NIC below 7 or NACp below 8), aggregated into H3 resolution-4 cells (roughly 22 km per edge) and counted from the same ADS-B messages shown on the map. A hexagon needs at least 8 distinct aircraft in that hour before it is shown, and completed hourly counts are kept for 7 days. ADS-B version 0 transmitters, MLAT/TIS-B/ADS-R positions, gliders and UAVs, and SIL 0 installations are excluded, since those read as "degraded" without any interference.
Processing

How raw feeds become one picture

De-duplicationThe same airframe reported by several networks is merged on its ICAO 24-bit address, so one aircraft is one track, not three dots.
Position refreshPositions refresh on a fast loop of roughly 7 seconds; the client dead-reckons between fixes so motion is continuous rather than jumping.
Enrichment cadenceThe heavier enrichment-and-detection pipeline runs on its own cycle of about 12 seconds, so analysis never blocks the map.
Registry enrichmentType, operator and wake category are attached by hex lookup where the registry has a record; fields are left blank rather than guessed when it does not.
Conflict handlingWhere feeds disagree, the most recent well-formed message wins, and self-inconsistent messages are flagged by the integrity checks rather than silently averaged.
Polling courtesyEach upstream is throttled independently: at least 1.1 seconds between requests to adsb.fi (which documents a 1 request/second limit), 3 seconds to adsb.lol, and 5 seconds to OpenSky, so no single source ever gets hammered.
Attribution & licensing

Credit where it is due

AeroScope exists because thousands of volunteers run ADS-B receivers and publish the results openly. Each upstream network sets its own terms of use; we consume public endpoints at a modest polling rate and cache aggressively to limit load on them. If you operate one of these networks and want your attribution changed or your feed removed, contact us and we will act on it.

Our own derived work, the AeroScope ADS-B Anomaly Benchmark, is published under CC-BY 4.0 so it can be reused and cited freely.

FAQ

Frequently asked questions

Where does AeroScope get its flight data?
Flight positions come from the volunteer networks adsb.fi and adsb.lol, with the OpenSky Network used when those rate-limit us. Identity comes from hexdb.io and adsbdb, weather from aviationweather.gov, and the map carries radar, infrared cloud, fire, earthquake, ship, satellite and airport layers from the sources listed above. AeroScope operates no receivers of its own, and it has no satellite ADS-B feed: coverage exists only where volunteers run receivers.
How often is the data refreshed?
Positions refresh on a fast loop of roughly seven seconds, with client-side dead-reckoning between fixes for continuous motion. The heavier enrichment and detection pipeline runs on its own cycle of about twelve seconds.
How are duplicate aircraft from different feeds handled?
Reports of the same airframe from multiple networks are merged on the ICAO 24-bit address, so one aircraft appears as one track rather than several dots.