Build a better view of the sky.
Share direct aircraft-position data from your existing receiver. Keep feeding the other networks you already use. See whether your station is connected, what it receives and where it has contributed observations.
Connect a receiverHow it worksChecking the receiver network…
Where the community is listening
Day / night shades estimated geometric darkness, not weather or aircraft illumination. Station locations are one-degree areas, not antenna locations. Coverage cells show observations in the last 24 hours, not guaranteed reception. The list below is also available without using the map.
Connect your receiver
Create your station without an invitation, save your private config and run the forwarder next to your decoder. An operator reviews each station before observations become public.
Save these once-only credentials
The recovery key manages this station. The feed key only submits observations. Do not publish either.
Next, on your receiver: run curl -fsSL https://skylark.watch/feed/install.sh | sudo bash and enter the code it prints at skylark.watch/pair. Pairing gives the receiver its own key, so you do not need to copy the feeder config. How the installer works.
My station
- New observations accepted
- Rejected observations
- Distinct aircraft today · UTC
Accepted observations · 24 hours
Your recently received aircraft
Observed range by direction · today
Counts are new observations, not raw radio messages. Range is measured from accepted positions, not a guaranteed footprint. Timestamp checks cannot prove RF authenticity.
Support, audio or multilateration
Ask for help, request station review, or apply for the audio and MLAT programmes. Audio publication and MLAT positioning are not enabled by registering an interest.
Your live receiver data
The private API is /api/network/me/observations and retains recent positions for ten minutes.
Replacing a key immediately disables the old one. Update the receiver config before restarting the forwarder.
Add Skylark beside your current feeds
One command on the receiver finds your decoder, pairs with a code you enter at skylark.watch/pair, and checks the whole chain: curl -fsSL https://skylark.watch/feed/install.sh | sudo bash. Read how it works. The steps below are the manual path.
1. Keep your decoder
Use your own readsb or compatible dump1090 decoder producing an aircraft.json file with direct-source and position-age fields. The forwarder does not access the radio USB device or change your other feeds.
2. Check before transmitting
Save the feeder config privately. Download the forwarder and compare its SHA-256 against the manifest. The check command reads your local snapshot but sends nothing.
3. Verify your contribution
Run it and check this dashboard. Pending stations can test ingestion, but cannot place aircraft on the public map until approved.
chmod 600 feeder-config.json
python3 skylark_feed.py --config feeder-config.json --check
python3 skylark_feed.py --config feeder-config.jsonOnly direct 1090 MHz ADS-B positions are accepted. Third-party MLAT results, TIS-B, remote aggregate feeds and copied databases are excluded. Check that your decoder is not ingesting another network's positions.
Open daily receiver data
Contributors who opt in help make a reusable dataset. Completed UTC days are available for seven days under the Open Database License 1.0. The daily index API lists available dates. Download /api/network/history/YYYY-MM-DD for a daily JSON dataset. Each aircraft is sampled at most once per minute per station. Each day is bounded to 1,000 observations per station and 10,000 overall; it is a sample, not a complete traffic record. Only observations accepted while an approved station had open publication enabled enter the archive. Turning the setting on never publishes earlier observations.
Checking available days…
Radio audio is a separate programme
Aircraft-position feeding is open for registration. You can apply for ATC audio and multilateration from your station dashboard; neither programme is active yet. Air-traffic-control audio publication needs a separate jurisdiction, rights and moderation review. There is no public audio upload, automatic transcription or copied LiveATC stream here.
Multilateration is also not enabled. Supporting it later requires raw timestamped messages and a dedicated timing service; JSON position snapshots do not provide that.
