Skip to main content
This quickstart takes you from a new account to a played ATC transmission. You create an API key, find a covered airport, list its latest transcripts, and download one transmission’s audio. Each step shows what the response looks like and which value to carry into the next step. You need curl and jq.
1

Create an API key

Sign in to the dashboard and complete onboarding: your profile, phone verification, identity verification, and a payment method.Then open Keys, choose Create key, and give the key a name. Copy the secret key and store it somewhere safe; it is shown only once, when it is created.Keep the key in an environment variable. Never embed it in browser or mobile client code.
2

Check what requests cost

GET /api/v0/pricing is free. This quickstart is charged for 5 transcripts (transcript) and 1 audio link (transcript_audio).
Each band’s usd_per_unit is the price of one unit in US dollars. See Pricing and Billing.
3

Find a covered airport

Search for an airport by code or name. Search is free.
Search finds every airport we know about, not only the ones we cover. Check that the facility is in GET /api/v0/facilities and count its available channels:
A number above 0 means the API serves data for this airport. No output means we don’t cover it; pick another airport.
4

List the latest transcripts

Request the last hour of transcripts at that airport, at most 5. The commands below build the window on both macOS and Linux.
Transcripts come back newest first. received_at is when the transmission’s audio clip ended.
If transcripts is empty, there was no traffic on the airport’s available channels in that hour. Widen the window (up to 48 hours) or try a busier airport. An empty list is not charged. See Interpreting results.
5

Download a transmission's audio

Take the newest audio_sample_id, request a link to its WAV audio, and download it. The link expires 3 minutes after the response, so download it right away.
audio.json looks like this:
Play transmission.wav with any audio player, for example afplay transmission.wav on macOS.
6

See what it cost

Every response carries X-Charged-Usd, what the request cost in US dollars with three decimal places, and charged responses also carry X-Balance-Usd, your organization’s balance after it. The two requests above saved their headers:
The dashboard also shows your organization’s usage and balance.

Next steps

Search events

Find go-arounds, diversions, and other notable events in plain words.

Stream live data

Subscribe to transcripts and statuses over one WebSocket.

Interpreting results

What empty lists, null statuses, and updates mean.

Connect an AI assistant

Use the same data from Claude, Cursor, or another MCP client.