3 - Getting Started
This guide shows how to quickly start using the SafeSky Public REST API to retrieve live traffic data.
Sandbox first: If you are testing your integration, replace
https://public-api.safesky.appwithhttps://sandbox-public-api.safesky.appand use your sandbox API key (ssk_test_...). The sandbox mirrors the production API but uses simulated traffic data and has no quota. See Environments & Platform Status.
Prerequisites
- An API key from SafeSky (see Authentication)
- A tool to make HTTP requests (e.g.,
curl, Postman, or your preferred HTTP client)
Step 1 — Check API Health
Before making any data requests, verify that the API is reachable:
curl 'https://public-api.safesky.app/' \
--header 'x-api-key: <your_api_key>'
Expected response:
UP
Step 2 — Retrieve Network Statistics
Get a quick overview of live activity across the SafeSky network:
curl 'https://public-api.safesky.app/v1/stats/overview' \
--header 'x-api-key: <your_api_key>'
Example response:
{
"timestamp": 1733412793,
"active": 12540,
"inactive": 430,
"grounded": 87,
"beacon_counts": 13057,
"outdated_beacon_counts": 212,
"transponder_types": [
{ "ADS-B": 6200 },
{ "ADS-BI": 4100 },
{ "FLARM": 1800 },
{ "OGN": 740 },
{ "MODE-S": 217 }
],
"beacon_types": [
{ "JET": 3200 },
{ "MOTORPLANE": 2100 },
{ "HELICOPTER": 980 },
{ "GLIDER": 870 },
{ "UAV": 430 }
]
}
Step 3 — Retrieve Live Traffic for a Viewport
Fetch all live aircraft visible within a geographic bounding box. The viewport parameter is formatted as lat_min,lng_min,lat_max,lng_max:
curl 'https://public-api.safesky.app/v1/beacons?viewport=43.1035,-2.0821,47.9943,15.3216' \
--header 'x-api-key: <your_api_key>'
Example response:
[
{
"id": "3423C3",
"latitude": 48.86584,
"longitude": 2.63723,
"beacon_type": "JET",
"call_sign": "IBE06CK",
"transponder_type": "ADS-B",
"last_update": 1733412793,
"altitude": 10554,
"course": 205,
"ground_speed": 237,
"vertical_rate": 2,
"accuracy": 0,
"altitude_accuracy": 0,
"turn_rate": 0.0,
"status": "AIRBORNE"
},
{
"id": "A1B2C3",
"latitude": 47.21354,
"longitude": 3.42719,
"beacon_type": "GLIDER",
"transponder_type": "FLARM",
"last_update": 1733412790,
"altitude": 1250,
"course": 310,
"ground_speed": 28,
"vertical_rate": 3,
"accuracy": 5,
"status": "AIRBORNE"
}
]
That's it!
With just three requests you can:
- Verify the API is reachable and your key is valid
- Monitor live network activity across the SafeSky ecosystem
- Display real-time aircraft traffic on a map
To visualise the traffic returned by the API, open live.safesky.app (production) or sandbox-live.safesky.app (sandbox) in your browser.
Continue reading to explore each API category in detail.