Get the data
Everything Tally carries is open. There are two ways to read it: subscribe to a relay for the streams, or ask the public API for current aircraft and station figures.
From a relay
A subscriber connects to a relay the way a feeder does, over the same encrypted transport, and sends Subscribe to choose its streams and regions. A region is an H3 cell of any resolution, matched against where each receiver says it is. Before any Subscribe it gets every receiver’s raw batches.
- Raw: every receiver’s signed batches, by region, for relays’ MLAT and research. A region is where the receiver says it is, never where an aircraft is.
- Deduplicated: one copy of each Mode-S message, signed by the relay as its own claim. It is the stream most clients want, about 30 Mbps for the whole world at 20,000 receivers.
- Positions: aircraft located by relays’ MLAT, each signed by the relay that solved it.
To read it with ordinary tools, run your own relay with --beast-out and point readsb at it. Every reception arrives as plain BEAST, and readsb decodes the world for you.
From the API
tally-api serves read-only JSON beside a relay:
GET /v1/aircraft?west=&south=&east=&north=
Aircraft in a box of latitude and longitude, at most 60 degrees on each side.
GET /v1/network
The network’s totals.
GET /v1/stations/KEY
One receiver’s figures, its key as base64url without padding.
Each client is rate limited. The public API starts with the public relay; until then you can run your own beside your own relay.
Licences
- Feeders dedicate their receptions to the public domain under CC0.
- What relays publish downstream is under the Open Database License (ODbL). Use it for anything, commercial use included: credit the source, and keep any database you publish from it under the ODbL. That is what stops anyone taking the data private.
- The code is MIT or Apache-2.0, at your option.
Receiver locations
A receiver’s location is published as its owner entered it, or rounded if they chose. If you run something that archives Tally data or computes positions from it, you may be a data controller under the GDPR: keep a simple way for people to ask to be left out.