Onboarding guide
Welcome! This guide walks you through connecting to the Wingbits real-time flight data stream, step by step. You do not need to be a developer to get the first flights showing up on your screen — if you can copy and paste a few commands, you're good. The whole thing takes about 10 minutes.
Throughout this guide, replace
<CUSTOMER>with your company name wherever you see it (for example,acme). We'll send you a file namedprod-<CUSTOMER>-trial.creds— that file is your key to the stream.
What you'll be connecting to
Wingbits delivers live aircraft positions (and more) over a system called NATS. Think of NATS like a radio: we broadcast flight updates on different "channels" (called subjects), and you tune in to the ones you care about. It's fast, lightweight, and there are ready-made libraries for almost every programming language — but you can also just listen in from your terminal, which is what we'll do first.
Two things you need:
The NATS command-line tool (
nats) — free, we'll install it below.Your credentials file (
prod-<CUSTOMER>-trial.creds) — we send this to you by email. Keep it private; it's like a password.
Don't have credentials yet? If you're interested in trialing our NATS integration but don't yet have a credentials file, email us at sales@wingbits.com and we'll get you set up.
Step 1 — Install the NATS tool
Pick your operating system.
macOS (using Homebrew):
brew install nats-io/nats-tools/natsWindows (using Scoop):
scoop install natsLinux (or anything else):
Check it worked by running:
If you see a version number (e.g. 0.1.x), you're ready. If it says "command not found", the install didn't complete — see Troubleshooting.
Step 2 — Save your credentials file
We send you your credentials as a file called prod-<CUSTOMER>-trial.creds. Save it somewhere you can find it — your Downloads folder is fine. Open a terminal in that same folder so the next commands can find the file.
What do credentials actually look like? This is the #1 source of confusion, so check now that you really have them. A valid creds file is plain text, about 13 lines, and contains two long codes between labeled markers:
A JWT that starts with
eyJ...and is several hundred characters long (around 700+), sitting between-----BEGIN NATS USER JWT-----and------END NATS USER JWT------.A seed that starts with
SU...and is 58 characters long, sitting between-----BEGIN USER NKEY SEED-----and------END USER NKEY SEED------.If what you received has no
eyJ...block and noSU...block, you don't actually have credentials yet — email sales@wingbits.com before going further.
Received your credentials as text instead of a file? Sometimes the credentials arrive pasted into a document or email body rather than as an attachment. They'll look like a block starting with
-----BEGIN NATS USER JWT-----and ending with------END USER NKEY SEED------. If so, you need to save that block as a file yourself:
Copy the entire block (from the first
-----BEGINto the last-----).Open a plain-text editor (TextEdit in plain text mode, Notepad, VS Code).
Paste it in and save the file as
prod-<CUSTOMER>-trial.creds.
macOS shortcut: copy the block, then run
pbpaste > ~/Downloads/prod-<CUSTOMER>-trial.credsin your terminal.
Not sure how to "open a terminal in a folder"?
macOS: right-click the folder → New Terminal at Folder.
Windows: open the folder, type
cmdin the address bar, press Enter.
Confirm the file is really there before continuing. In your terminal, run:
If it prints the filename back, you're good. If it says No such file or directory, the file isn't in this folder — find where you saved it, or re-save it here. (Tip: on macOS you can avoid folder confusion entirely by using the file's full path in the next step — type --creds " and then drag the file from Finder into the terminal to paste its full path.)
Step 3 — Connect
In the same terminal window from Step 2, paste the command below and press Enter. You only need to run it once — it saves a "context" (a saved connection) called prod-<CUSTOMER>-trial so you don't have to retype the server and credentials every time.
Copy this as a single line (don't break it across multiple lines):
Why one line? If you split a command across multiple lines using
\, the backslash must be the very last character on the line — a single stray space after it will break the whole command (you'll seecommand not founderrors). Pasting it as one line avoids this entirely.
The --select at the end makes this your active connection. If the command runs with no error and returns you to a normal prompt, it worked.
Step 4 — Test your connection
Let's make sure everything is wired up correctly:
You should see your server (nats-cluster.wingbits.com) and your credentials file listed. Now try actually pulling in some flights:
Within a few seconds you should start seeing flight updates streaming down your screen. That's it — you're connected to live aircraft data. Press Ctrl + C to stop.
If nothing shows up, jump to Troubleshooting.
Step 5 — Choose the right stream for you
We broadcast the same flight data at three different speeds. Pick the one that matches how "live" you need it to be. Faster = more data to handle.
flights.full.>
Every update, up to ~2× per second
Live maps, anything needing the freshest position
flights.5s.>
Once every 5 seconds
Most use cases — a great default
flights.dd.>
Once every 10 seconds
Dashboards, analytics, lower bandwidth
The > at the end is a wildcard meaning "every aircraft you're allowed to see." So flights.5s.> = all your aircraft, updated every 5 seconds.
To listen to a channel, just sub (subscribe) to it:
Following one specific aircraft
Every aircraft has a unique ID called an ICAO hex (a 6-character code like 7820d9). To follow just one aircraft, put its hex at the end:
Following a list of aircraft (a fleet)
If you only need certain aircraft, we grant you access to that exact list and you subscribe to each one. You can listen to several at once:
Just tell us which aircraft (or geographic area) you care about, and we'll set your access up to match.
Optional add-ons
These are extra data feeds available on request. Once enabled for your account, you subscribe to them the same way:
ACAS / TCAS
flights.acas
Collision-avoidance "resolution advisory" events
ADS-C
flights.adsc
Oceanic / satellite-based positions (aircraft over open ocean)
Understanding the data
Each message is a small JSON record describing one aircraft at one moment. To keep messages tiny and fast, the field names are short codes. Here's what they mean:
h
ICAO Hex
The aircraft's unique ID
f
Flight
Flight number / callsign
la
Latitude
Aircraft latitude
lo
Longitude
Aircraft longitude
ab
Barometric Altitude
Altitude from barometric pressure
ag
Geometric Altitude
Altitude from GPS
gs
Ground Speed
Speed over the ground
tr
Track
Direction of travel (track angle)
th
True Heading
Heading relative to true north
mh
Magnetic Heading
Heading relative to magnetic north
og
On Ground
Whether the aircraft is on the ground
sq
Squawk
Transponder squawk code
c
Category
Aircraft category
t
Type
Message type
v
Version
ADS-B version
a
Alert
Alert status
em
Emergency
Emergency status
spi
SPI
Special Position Indicator
br
Baro Rate
Rate of climb/descent (barometric)
gr
Geometric Rate
Rate of climb/descent (GPS)
i
IAS
Indicated air speed
m
Mach
Mach number
ct
Calculated Track
Track calculated from position
oat
Outside Air Temperature
Air temperature outside the aircraft
tat
Total Air Temperature
Total air temperature
wd
Wind Direction
Direction the wind is coming from
ws
Wind Speed
Wind speed
ro
Roll
Roll angle
trr
Track Rate
Rate of change in track
rs
RSSI
Received signal strength
sn
Seen
When the message was last seen
sp
Seen Position
When the position was last seen
rc
Radius of Containment
Position accuracy measure
rdi
Receiver Direction
Direction from receiver to aircraft
rds
Receiver Distance
Distance from receiver to aircraft
nh
Nav Heading
Selected heading
nq
Nav QNH
Altimeter setting
naf
Nav Altitude FMS
Altitude from the Flight Management System
nam
Nav Altitude MCP
Altitude set on the Mode Control Panel
n
Navigation Integrity Category
NIC value
nb
NIC Baro
NIC value from barometric source
np
Navigation Accuracy for Position
NAC-p value
nv
Navigation Accuracy for Velocity
NAC-v value
s
SIL
Source Integrity Level
st
SIL Type
Type of SIL
sda
SDA
System Design Assurance level
gv
Geometric Vertical Accuracy
Accuracy of geometric altitude
gpb
GPS OK Before
GPS was recently OK
Not every field appears in every message — aircraft only report what their equipment supports.
Using the data in your own software
The terminal is great for testing, but you'll probably want to pull this into your own application. NATS has official libraries for most languages (Python, JavaScript, Go, Java, C#, Rust, and more). They all use the same server address, credentials file, and subjects you used above.
Python example (pip install nats-py):
Node.js example (npm install nats):
Troubleshooting
nats: command not found The tool didn't install. Re-run the install step for your OS, then close and reopen your terminal.
no such file or directory mentioning your .creds file Your terminal isn't in the same folder as the credentials file. Either move the .creds file into the folder your terminal is in, or use the full path to it, e.g. --creds "/Users/you/Downloads/prod-<CUSTOMER>-trial.creds".
nats: error: nats: Authorization Violation The credentials aren't being accepted, or you're subscribing to a channel you don't have access to yet. Double-check you're using the exact .creds file we sent, and that you're subscribing to a subject you've been granted. If it persists, contact us — we may need to adjust your access.
It connects, but no flights appear
Try
flights.full.>instead offlights.5s.>(more frequent updates).Confirm with us which subjects your account is allowed to see — trial accounts are sometimes scoped to a specific region or aircraft list.
connection refused / timeout Your network may be blocking outbound port 4222. Check with your IT team, or try from a different network to confirm.
Need help?
Reply to your onboarding email or reach out to your Wingbits contact. Tell us:
What command you ran
The exact message you got back
and we'll get you sorted quickly.
Happy tracking! ✈️
— The Wingbits Team
Last updated
Was this helpful?

