adsb.lol (default)
The adsb.lol API: a community network's live data
- Terms
- Open data under ODbL 1.0, "available to everyone", no key today
wayseer-labs/aircraft · version 0.1.1 · published 8 October 2026 · needs a license key
Live aircraft from ADS-B, read from adsb.lol or a local readsb or dump1090 receiver.
>modules.get id=wayseer-labs/aircraft: Wayseer downloads the package for your platform, checks it, shows what it declares, and installs it on Y (getting a module).kind: external with module: wayseer-labs/aircraft, and its own options as below (configuration). A config that names it before it's installed offers to get it when Wayseer opens.It runs under a license key that covers modules from others (pricing). Or download the package for your platform below and install it with >modules.install file= and its path (installing a package).
| Linux x86-64 | wayseer-labs-aircraft-0.1.1-linux-amd64.wsmod.tar.gz 12.0 MB SHA-256 c0a22adf41231a5b6ac4777439cc4ebcffdc5dde44618320502e0677156e4f77 |
|---|---|
| Linux ARM64 | wayseer-labs-aircraft-0.1.1-linux-arm64.wsmod.tar.gz 11.0 MB SHA-256 d347caf6c120b3719d3e2c3e84d1b29a5b891d8c2b7e3cf9250f8cde43691c10 |
| Windows x86-64 | wayseer-labs-aircraft-0.1.1-windows-amd64.wsmod.zip 12.0 MB SHA-256 cddad8ccc4ce4a83e9a32afe01bd2f0e7cb87fd520158989d4c19d1f236ad305 |
| macOS | Not offered yet. |
Earlier versions: 0.1.0, published 7 October 2026
What its signed manifest declares. The app holds it to this: it may report only these kinds, and offers only these actions, each waiting for you to confirm it.
aircraft/aircraft, Operators aircraft/operator, Areas aircraft/areaapi.adsb.lol:443, and the addresses you configurev0.1.1, commit 5a7871c48eaa, MITFrom the module's own documentation at v0.1.1, written by its publisher.
Live aircraft from ADS-B in Wayseer Desktop. Each aircraft appears on the Geo lens where it is and moves on every read. It carries its callsign, registration, type, altitude, speed, track and squawk. An emergency squawk turns it red and shows in Stream.
It is an external module, published in the Wayseer marketplace, and is not built into the app. It reads one of two sources:
adsb.lol (default)
The adsb.lol API: a community network's live data
receiver
Your own readsb, tar1090 or dump1090-fa receiver's aircraft.json
OpenSky Network, airplanes.live and ADSB.fi are not offered. Their terms allow only non-commercial or personal use, and Wayseer's users include businesses.
Wayseer is a lens, not a store. The module keeps only aircraft heard within expire, and at most max_aircraft of them. It never asks adsb.lol for the whole world: it needs an area.
Install the package with >modules.install, then name it in a config:
modules:
- kind: external
name: sky
options:
module: wayseer-labs/aircraft
options:
area: {lat: 51.47, lon: -0.45, radius_nm: 40} # around Heathrow
A local receiver, which needs no area:
options:
source: receiver
url: http://adsb-pi.local/tar1090/data/aircraft.json
source
adsb.lol or receiver.
adsb.lolurl
The receiver's aircraft.json; for adsb.lol, the API's base (a mirror).
https://api.adsb.lolarea
lat, lon and radius_nm (up to 250 nm). adsb.lol needs this or box.
box
south, west, north and east in degrees, not across the antimeridian, within 250 nm of its center. adsb.lol is asked for the circle around it, and only aircraft inside the box are kept.
interval
How often the source is read: at least 5s for adsb.lol, 500ms for a receiver.
30s for adsb.lol, 2s for a receivertimeout
The longest wait for one read.
10sexpire
How long an aircraft stays after it was last heard (10s to 1h).
1mmax_aircraft
The most aircraft kept; the least recently heard go first.
1000operators
Shows the airline an airline callsign names (BAW123 belongs to BAW).
truesecret_filesecret_envsecret_keyring
A receiver's bearer token, for one behind an authenticating proxy. adsb.lol takes none.
A secret in secret_env must also be listed in the entry's env. A secret_keyring on Linux also needs DBUS_SESSION_BUS_ADDRESS there.
adsb.lol's limits rise and fall with its load. When it answers 429 Too Many Requests, the module waits for its Retry-After, or twice the interval, doubling with each limit in a row, and at most five minutes. The error shows in the module's health until a read works. Requests name the module in their User-Agent, and Health declares the interval as the module's pace, so Wayseer doesn't call its data stale between reads.
aircraft/aircraft
callsign, registration, type, category, squawk, emergency, altitude_ft, on_ground, speed_kt, track_deg, vertical_rate_fpm
hex)aircraft/operator
icao
aircraft/area
source, aircraft (the count), data (adsb.lol's attribution)
An aircraft is named by its callsign, else its registration, else its address. Each is a member_of its operator. Squawk 7500 or 7700, or an ADS-B emergency of general, unlawful or downed, makes it critical; squawk 7600 or another emergency makes it a warning. The reason says which. An aircraft with no position has no place, so the Geo lens counts it as "without a place".
Series (>grid.show metric=): aircraft.altitude (feet, 0 on the ground) and aircraft.speed (knots) on each aircraft, and aircraft.count on the area. The SDK has no unit for feet or knots, so they carry none, and the names and attributes say the unit.
Events: emergency when one begins (critical or warning) and when it ends (info), and appeared and gone (debug) as aircraft come and go, so a busy area does not flood Stream.
Data from adsb.lol is © adsb.lol contributors and is made available under the Open Database License 1.0. The area entity's data attribute carries this attribution in the app. The test fixtures in testdata are made up and copy no real flight.