AlignedContact LogoAlignedContact

ADS-B Feeder Network

Open flight data, powered by the community

AlignedContact aggregates ADS-B telemetry from a network of volunteer-run feeders into a free, public aircraft snapshot - the same live data that powers the camera HUD.

Rebuilt every second · No auth · CC0 public domain

Why share your feed?

By contributing your local data, you ensure the camera HUD helps show aircraft. Not everything that appears as an aircraft is mechanical - some of it is contact, and it responds to you. You can help yourself and others by filling in the map with transponding aircraft, to help differentiate. The broader purpose of AlignedContact is to bring understanding from contact experiences. Thank you for helping.

Have a spare Raspberry Pi and an RTL-SDR dongle? You can set up a feeder in minutes and start improving coverage for the entire network.

Quick setup

These steps assume you're running the adsb.im feeder image and can SSH into your Pi as root. No manual file editing required.

1.SSH into your Pi

ssh root@<your-pi-ip>

2.Paste the setup block

One paste does it all: it generates a unique station UUID, picks a free local port for MLAT results (starting at 39002), appends the two AlignedContact targets to the end ofFEEDER_ULTRAFEEDER_CONFIG - leaving your existing feeds untouched - and recreates the ultrafeeder container so the new configuration takes effect. The block is idempotent: run it a second time and it will simply do nothing.

CFG=/opt/adsb/config/.env
if grep -q 'feed.alignedcontact.com' "$CFG"; then
  echo "AlignedContact is already configured - nothing to do."
else
  UUID=$(cat /proc/sys/kernel/random/uuid)
  PORT=$(for p in $(seq 39002 39099); do
    if ! grep -q ",$p," "$CFG" && ! ss -ltn 2>/dev/null | grep -q ":$p "; then
      echo "$p"; break
    fi
  done)
  if [ -z "$PORT" ]; then
    echo "No free port found in 39002-39099 - please contact us."
  else
    CUR=$(grep '^FEEDER_ULTRAFEEDER_CONFIG=' "$CFG" | tail -n1 | cut -d= -f2- | sed 's/;*$//')
    ENTRY="adsb,feed.alignedcontact.com,30004,beast_reduce_plus_out,uuid=$UUID;mlat,feed.alignedcontact.com,40147,$PORT,uuid=$UUID,--privacy"
    if [ -n "$CUR" ]; then NEW="$CUR;$ENTRY"; else NEW="$ENTRY"; fi
    if grep -q '^FEEDER_ULTRAFEEDER_CONFIG=' "$CFG"; then
      sed -i "s|^FEEDER_ULTRAFEEDER_CONFIG=.*|FEEDER_ULTRAFEEDER_CONFIG=$NEW|" "$CFG"
    else
      echo "FEEDER_ULTRAFEEDER_CONFIG=$NEW" >> "$CFG"
    fi
    echo "Added AlignedContact (Beast on 30004, MLAT results on local port $PORT). Recreating ultrafeeder..."
    /opt/adsb/docker-compose-start
  fi
fi
A note on adsb.im: we will coordinate with the adsb.im team soon after launch to see about making AlignedContact a native, check-the-box option in their feeder images. For now, set up your feeder using the standard image guides at adsb.im/howto, then return here to add the AlignedContact feed.
Community tip: we strongly encourage you to also share your feeds with other open tracking networks to support the broader aviation community.

Open Data API

We provide a live aircraft snapshot in the standardreadsb/tar1090 aircraft.jsonschema, rebuilt every second from our combined feeder network.

curl https://adsb.alignedcontact.com/data/aircraft.json

No auth, no cookies, refreshed once every second, brotli-compressed when your client asks for it. Each aircraft entry carries only the fields it has actually reported - anything missing is omitted rather than sent as null.

hex

ICAO 24-bit transponder address (lowercase)

flight

Callsign

lat / lon

Position

alt_baro

Barometric altitude in feet, or the string "ground" for surface traffic

gs

Ground speed in knots

track

Heading in degrees

vert_rate

Vertical rate in feet per minute

squawk

4-digit transponder code

seen

Seconds since the aircraft was last heard

seen_pos

Seconds since its last position (aircraft with position only)

Attribution & data sources

Aggregated from the AlignedContact community feeder network and  ADSBHub. Please credit these sources if you build public apps on top of this feed.

License / terms

This live telemetry stream is dedicated to the public domain under the  CC0 1.0 Universal waiver. You are completely free to copy, modify, distribute, and use the data for any commercial or non-commercial purpose without asking permission.

Disclaimer: this ADS-B telemetry data is provided "as is" without warranty of any kind, express or implied. It is strictly for informational and hobbyist use, and is not certified for aviation navigation, operational flight tracking, or life-safety applications. The open data endpoint is served on a best-effort basis - uptime is not guaranteed.

Feeder locations and identifying metadata are strictly protected and never published. See the privacy policy for details.