A single ADS-B aggregator sees part of the picture. AeroScope fuses five independent sources to track 229+ aircraft simultaneously, tripling primary-only counts through ICAO-based deduplication and weighted confidence scoring across a 400+ nautical mile radius.
Every ADS-B aggregator depends on a network of volunteer-operated ground receivers. The coverage of any individual network is inherently uneven. Receiver density is high near cities and airports, sparse in rural areas, and nonexistent over oceans. An aircraft transiting a gap between receivers drops out of the feed entirely until it enters range of the next station. For a platform claiming real-time surveillance, these gaps are unacceptable.
AeroScope's primary sources — adsb.fi and adsb.lol — deliver strong coverage across Europe, North America, and parts of Asia-Pacific. Together they typically resolve around 75 aircraft within a given coverage area. But that number represents only the aircraft visible to those specific receiver networks. Aircraft at low altitude, in terrain shadow, or beyond receiver range are missing from the picture.
By integrating three additional sources — airplanes.live, OpenSky Network, and ADS-B Exchange — AeroScope adds 154 more aircraft to the tracking picture. Each source operates an independent receiver network with different geographic strengths. The union of all five provides coverage that no single source can match, extending the effective radius from approximately 250 nm to over 400 nm and filling altitude gaps that ground-receiver geometry creates.
AeroScope categorizes its ADS-B feeds into three tiers based on reliability, coverage breadth, and cost. Each tier receives a different confidence weight that propagates through the 27-stage processing pipeline. Primary sources anchor the tracking picture; extended sources fill gaps; paid sources provide global reach for operators who need it.
Community-operated aggregator with strong European and North American coverage. Open API, no authentication required, no rate limit for reasonable usage. Receiver network skews toward aviation enthusiasts in Western Europe and the US East Coast, providing dense low-altitude coverage in those regions.
Second community aggregator with a growing receiver network. Complements adsb.fi with receivers in regions where .fi coverage is thinner, particularly Southeast Asia and South America. Open API with no authentication. The network is newer but expanding rapidly with contributors feeding ADS-B receiver setups into the pool.
Community aggregator with a receiver network that partially overlaps with adsb.fi but includes stations in areas the primary sources miss. No authentication required. Particularly useful for augmenting coverage in the US Midwest, Australia, and parts of the Middle East where primary receiver density is lower.
Research-backed network operated out of ETH Zurich and other academic institutions. Free tier works without an API key at 100 requests per day. Optional free account registration doubles the rate limit to 4,000 per day. Strong coverage in Central Europe thanks to university-affiliated receivers. Provides historical data access useful for pattern-of-life analysis.
The largest ADS-B aggregator by receiver count, accessed via RapidAPI. Paid tiers offer higher rate limits and global coverage including military aircraft that other sources filter out. No free tier available. The higher confidence weight reflects the network's unmatched receiver density and the fact that it does not censor government or military traffic.
| Source | Tier | Auth | Rate Limit | Confidence | Coverage Strength |
|---|---|---|---|---|---|
| adsb.fi | Primary | None | Unlimited* | 0.90 | Europe, NA East Coast |
| adsb.lol | Primary | None | Unlimited* | 0.90 | SE Asia, South America |
| airplanes.live | Extended | None | Unlimited* | 0.70 | US Midwest, Australia |
| OpenSky Network | Extended | Optional | 100-4,000/day | 0.70 | Central Europe, Academic |
| ADS-B Exchange | Paid | RapidAPI | Tier-based | 0.85 | Global, Unfiltered |
* "Unlimited" means no hard rate limit, but AeroScope self-limits to the 12-second refresh cycle to avoid placing excessive load on community infrastructure.
When five sources report on the same airspace, overlapping reports are inevitable. The same Boeing 737 might appear in the adsb.fi feed, the airplanes.live feed, and the OpenSky feed simultaneously. Without deduplication, the map would show three icons for one aircraft, with slightly different positions depending on each source's receiver geometry and update timing.
AeroScope deduplicates by ICAO 24-bit hex address. Every Mode S transponder is assigned a globally unique 24-bit address at the time of aircraft registration — this is the canonical identifier that all ADS-B sources report. When multiple sources report the same hex code, AeroScope merges them into a single track using the following rules:
Querying a large coverage area with a single bounding-box API call is inefficient and often impossible. Most ADS-B APIs limit bounding-box size, return paginated results for large areas, or increase latency proportional to area size. AeroScope solves this with a grid-based fetching strategy that divides the coverage area into cells and queries each independently.
The coverage area (configured as a center point and radius) is tessellated into rectangular grid cells, each sized to stay within the API's bounding-box limits. For a 400 nm radius centered on a station, this produces approximately 24-36 cells depending on latitude. Each cell is fetched independently, and the results are merged before deduplication. This approach has three advantages:
Numbers represent aircraft count per cell. Purple cell = station center. Cyan border = active fetch cells. Gray border = low-priority outer cells.
Not all ADS-B data is equal. A position report from a nearby receiver with direct line-of-sight to the aircraft is more trustworthy than a report relayed through multiple hops or received at the edge of a receiver's range. AeroScope assigns a base confidence weight to each source tier and then adjusts it based on report-level factors.
adsb.fi and adsb.lol. Highest base weight. These are the most thoroughly tested community sources with the best uptime track records. Their receiver networks have been validated against known flight paths, and their ADS-B decoding pipelines are mature.
ADS-B Exchange via RapidAPI. Slightly below primary because the data passes through an additional commercial API layer, introducing potential for caching delays. However, the underlying receiver network is the largest in operation, and the data is unfiltered.
airplanes.live and OpenSky Network. Lower base weight reflects younger or more academically focused networks. Coverage is valuable for gap-filling, but position accuracy can be lower in areas with sparse receiver density. Treated as supplementary to primary sources.
The base weight is further modulated by report freshness (reports older than 15 seconds are penalized), consistency with Kalman filter predictions (a position that deviates significantly from the predicted trajectory receives a penalty), and whether the source reports ADS-B version 2 fields (NACp, SIL, SDA) that provide built-in integrity metrics. The final confidence value for each track is the weighted maximum across all reporting sources, not an average, because averaging would dilute good data with noisy data.
All five sources feed into the same 27-stage processing pipeline that AeroScope applies to every aircraft track. There is no separate "extended" processing path. Once a track passes deduplication and confidence scoring, it is indistinguishable from a primary-only track in terms of pipeline treatment. The stages include:
All five sources are queried simultaneously on the 12-second cycle. Grid cells are dispatched to source-specific fetch workers. Each worker handles its own connection pooling, retry logic, and timeout enforcement. A slow source does not block faster ones.
Promise.allSettled / 12s IntervalEach source returns data in a different JSON schema. adsb.fi uses hex, OpenSky uses icao24, ADS-B Exchange uses hex with different field casing. The normalization stage maps all schemas to AeroScope's internal format: icao, lat, lon, alt_baro, gs, track, squawk, flight, and 40+ additional fields.
Normalized records are inserted into a hash map keyed by ICAO hex. For each hex, the record from the highest-confidence source becomes the primary, and lower-confidence records fill any missing fields. The merge produces one unified record per aircraft with the best available data from all sources.
HashMap Merge / Confidence PriorityUnified tracks enter the Kalman filter for trajectory smoothing. The filter's measurement noise covariance is set inversely proportional to the track's confidence score. High-confidence tracks (from primary sources) have tight noise bounds. Low-confidence tracks (from extended sources alone) have wider bounds, allowing the filter to trust the model more and the measurement less.
Extended Kalman Filter / Adaptive R MatrixEvery unified track passes through threat scoring, squawk analysis, geofence checking, drone classification, and behavioral baseline comparison. Extended-source-only tracks receive the same analysis as primary-source tracks. The confidence score simply influences how aggressively anomaly thresholds trigger alerts.
27-Stage Pipeline / Identical ProcessingProcessed tracks are pushed to connected clients via WebSocket. The map view renders all 229+ aircraft with color-coded confidence indicators. Operators can filter by source tier, see which sources contribute to each track, and drill into the confidence breakdown for any individual aircraft.
WebSocket Push / Source AttributionGround-based ADS-B receivers have an inherent limitation: line of sight. Over oceans, deserts, and polar regions where no receivers exist, aircraft drop out of ground-based feeds entirely. They still transmit ADS-B, but nobody on the ground is listening.
Satellite ADS-B solves this by placing receivers in low Earth orbit. Companies like Aireon (partnered with Iridium NEXT) and Spire Global operate constellations that receive 1090 MHz ADS-B signals from space, providing true global coverage including the North Atlantic Tracks, Pacific oceanic routes, and polar corridors. Some of AeroScope's data sources — particularly ADS-B Exchange and, to a lesser extent, OpenSky Network — incorporate satellite ADS-B feeds into their aggregated data.
When an aircraft tracked over land by primary sources enters oceanic airspace, AeroScope maintains continuity through extended sources that carry satellite data. The confidence score adjusts to reflect the longer signal path and lower update rate of satellite ADS-B (typically 8-second intervals versus 1-second for ground), but the track remains live. For operators monitoring transoceanic flights, this eliminates the mid-ocean coverage gap that plagues single-source trackers.
Querying five APIs every 12 seconds across dozens of grid cells requires careful rate management. AeroScope implements per-source rate limiting that respects each API's constraints while maximizing data freshness. The rate limiter operates as a token bucket per source, refilling at the allowed request rate and bursting only when catch-up is needed after a temporary outage.
Failover is automatic and transparent. Each source maintains a health state tracked by a circuit breaker pattern:
When a source enters the open state, the remaining sources automatically cover the gap. Because all five sources overlap geographically to varying degrees, losing one source typically reduces the total aircraft count by 10-20% rather than creating a coverage hole. Losing two primary sources degrades the picture more significantly but the extended sources still maintain basic coverage for the configured area.
All sources — primary, extended, and paid — refresh on the same 12-second interval. This is not arbitrary. The 12-second cycle balances three constraints:
Within each 12-second cycle, sources return at different speeds. adsb.fi typically responds in 200-400ms, while OpenSky may take 1-2 seconds for authenticated requests. The pipeline does not wait for the slowest source. Data is merged incrementally as each source's response arrives, and the final push to clients includes whatever data is available at the cycle deadline. Late-arriving responses are folded into the next cycle.
Extended coverage transforms AeroScope from a local-area tracker into a wide-area surveillance tool. These are the operational scenarios where multi-source fusion delivers the most value.
Operators responsible for large airspace sectors — FIR-scale or larger — need visibility beyond what a single receiver network provides. Extended coverage fills gaps in rural and remote areas without deploying additional physical receivers. Useful for airspace analysis over regions spanning multiple countries.
Aircraft on North Atlantic, Pacific, or Indian Ocean routes disappear from ground-based feeds. Extended sources with satellite ADS-B partnerships maintain coverage where ground receivers cannot reach, keeping flight tracking continuous from departure to arrival.
When two independent sources report the same aircraft at the same position, that position is validated. When they disagree, something is wrong — potentially a spoofing attempt or receiver malfunction. Multi-source tracking inherently enables cross-domain data fusion for integrity verification.
Single-source trackers go dark when their API goes down. AeroScope's multi-source architecture provides built-in redundancy. Even during the November 2025 adsb.fi outage, operators running extended coverage maintained 80%+ of their tracking picture through the remaining four sources. Compared to single-source alternatives, downtime impact is minimal.
Go from 75 aircraft to 229+. Enable extended sources and see the airspace your single-source tracker has been missing.
LAUNCH EXTENDED COVERAGE