Skip to content

Data Sources

Yash Mulgaonkar edited this page Aug 24, 2026 · 9 revisions

Data Sources

Source Required? Provides
FR24 API Yes (full app) Routes, airlines, flight details, tracked flights, enriched radar
adsb.fi Optional (on by default) Free live positions over the internet - merges with FR24 or fills the radar when FR24 is off (ADSB_ENABLED=True). Not a USB ADS-B receiver.
Local dump1090 / readsb / tar1090 Optional (off by default on fresh install) Local aircraft.json positions (DUMP1090_ENABLED + URL). Lower latency near your antenna; preferred over adsb.fi when both match.
aisstream.io Optional Live marine AIS vessel positions on the radar (set traffic mode to marine or both)
planespotters.net Optional (automatic) Aircraft photos on flight detail and Track (by hex / registration)
Wikimedia Commons Optional (automatic) Vessel photos on marine detail; aircraft photos by airline+type, then generic type (generic type skipped on Track)
Tomorrow.io Yes (weather) Clock temperature and multi-day forecast
Open-Meteo Air Quality Optional (automatic) Current US AQI for the radar HUD; no API key required
USGS Earthquake Catalog Optional (automatic) Global M2.5+ epicenters on the radar + detail (magnitude, depth, place, PAGER, tsunami); no API key
CAL FIRE Optional (California) Active wildfire incidents on the radar + Fire Details (counties, acres, containment); no API key
NIFC WFIGS Optional (USA/Canada) Current wildland fire incident locations outside California (AirNow large-fire layer); no API key
NASA FIRMS Optional (rest of world) Satellite wildfire hotspots when the radar is outside the USA and Canada (free MAP_KEY)
AirLabs Optional Scheduled departure info when a tracked flight is not yet airborne; route enrichment
FlightAware AeroAPI Optional Route fallback when FR24/AirLabs lack origin/destination (capped monthly spend - not a live radar feed)
OpenSky Network Optional Further route fallback; also a position fallback for extended Follow / Live tracking
ADS-B Exchange (RapidAPI) Optional Optional live-position fallback for extended tracking when configured
LiveATC Optional Manual ATC audio to a USB or Bluetooth speaker via mpv (portal / Settings → ATC)
LibreWXR / RainViewer Optional (automatic) Precipitation radar overlay when enabled on the Radar card. LibreWXR first (CC BY 4.0 API data from api.librewxr.net); RainViewer fallback. See Credits and License and PRECIP_ATTRIBUTION.md.
OurAirports Optional (automatic) Runway centerlines and airport icons when enabled
Map tiles Optional (automatic) CARTO dark/light/Voyager, OSM dark, Esri streets/satellite, FAA VFR, Dark Flat (no tiles). Stadia dark + Toner need a free STADIA_MAPS_API_KEY

Precipitation overlay

When Show precipitation is enabled, FlightScnr Pi prefers LibreWXR (Joshua Kimsey; public API api.librewxr.net). LibreWXR API data is licensed under CC BY 4.0 — credit LibreWXR. If LibreWXR is unavailable, the overlay falls back to the RainViewer Weather Maps API. The map corner shows © LibreWXR or © RainViewer for the active provider. Details: PRECIP_ATTRIBUTION.md.

Route enrichment order

AirLabs, FlightAware, and OpenSky are tried in an order you control from the web portalRoute Sources (saved as ROUTE_SOURCE_ORDER in /etc/flightscnr.env; see .env.example). Default when unset: airlabs,flightaware,opensky.

Example - fully free/open-source route lookup (never calls AirLabs or FlightAware):

ROUTE_SOURCE_ORDER=opensky

Omitting a source from the list disables it entirely.

Position sources (Track / Follow / Live)

For the live-centered map after Track (Follow / Live), the portal Position Sources card sets the fallback order (default roughly: dump1090 → adsb.fi → OpenSky → ADS-B Exchange → FR24). Drag to reorder. A source with no key/URL configured is skipped automatically. Optional Rotate map to heading is on that card.

FR24 and ADS-B merge

Local dump1090 / adsb.fi positions merge with FR24. Recent firmware prefers FR24 aircraft type when both agree on identity, and dedupes lagged blank-ident ADS-B against FR24 during climb so the same airframe is less likely to appear twice.

Caching and offline data

API responses are cached (e.g. FR24 feed ~90s, flight details ~30 min, weather ~1 hr, Open-Meteo AQI ~30 min) to reduce quota use during 24/7 operation. Weather refresh aligns to a :01 / :31 cadence with Tomorrow.io rate-limit hardening. Manual weather refresh bypasses local cache/rate gates but keeps the last good reading if the provider still returns 429.

Earthquake markers refresh about every minute (and on recenter); events older than about 36 hours are dropped.

Offline databases (airports.json, airlines.json, icao_types.json) download on first run.

Minimal vs full setup

  • Full experience: FR24_API_KEY + TOMORROW_API_KEY (and optional keys for AIS, AirLabs, FlightAware, OpenSky, FIRMS, Stadia, ADS-B Exchange).
  • adsb.fi only: without FR24 you still get radar positions and basic tags - no routes or rich detail screens. Set ADSB_ENABLED=True and your home location.
  • ATC audio: install mpv (and Bluetooth packages if needed); no LiveATC API key required.

Keys are entered in the web portalAPI Keys, or via config.h / /etc/flightscnr.env. See config.h.example and .env.example in the repo.

Clone this wiki locally