Getting started
Getting Started
The SafeSky API is accessible via a standard REST API, enabling seamless integration with your applications. To start using the API:
-
Get an API Key:
Visit SafeSky and subscribe to the desired plan. -
Make API Calls:
Use the endpoints provided, including the appropriate parameters in your requests. All responses are returned in JSON format. -
Authentication:
Authentication is automatically managed when making requests with your API key.
Important: Never disclose your API key and take all necessary security measures to protect it.
Endpoints Overview
1. Get Nearby Aircraft
Endpoint: GET /uav
Description:
Retrieve a list of airborne aircraft within a specific radius and altitude range from the given latitude and longitude. By default, the search radius is 10,000 meters, with a maximum of 20,000 meters.
Query Parameters:
Parameter | Type | Required | Description | Default |
---|---|---|---|---|
|
double |
Yes | Latitude in decimal degrees (4 decimal precision). | N/A |
|
double |
Yes | Longitude in decimal degrees (4 decimal precision). | N/A |
|
int |
No | Filter all aircraft below the given altitude in meters. Zero means 'unused'. | 0 |
|
int |
No | Filter all aircraft above the given altitude in meters. Zero means 'unused'. | 0 |
|
int |
No | Radius in meters from the reference point (maximum: 20,000 meters). | 10,000 |
Response:
- 200 OK: Returns a list of nearby aircraft.
- 400 BAD REQUEST: Invalid parameters or failed authentication.
Example Request:
GET /uav?latitude=48.8588&longitude=2.2943&altitude_min=1000&altitude_max=3000&radius=15000
Example Response:
[
{
"id": "ABC123",
"latitude": 48.859,86584,
"longitude": 2.293,63723,
"beacon_type": "JET",
"call_sign": "IBE06CK",
"transponder_type": "ADS-B",
"last_update": 1733412793,
"altitude": 1500,10554,
"vertical_rate": 2,
"accuracy": 0,
"altitude_accuracy": 0,
"course": 205,
"ground_speed": 237,
"turn_rate": 0.0,
"status": "AIRBORNE",
"id": "3423C3"
},
{
"latitude": 48.95459,
"longitude": 2.44153,
"beacon_type": "JET",
"call_sign": "NJE419F",
"transponder_type": "ADS-B",
"last_update": 1733412793,
"altitude": 0,
"vertical_rate": 0,
"accuracy": 0,
"altitude_accuracy": 0,
"course": 292,
"ground_speed": 0,
"turn_rate": 0.0,
"status": "GROUNDED",
"id": "DEF456"494105"
},
{
"latitude": 48.860,97128,
"longitude": 2.295,56328,
"beacon_type": "JET",
"call_sign": "PTN32P",
"transponder_type": "ADS-B",
"last_update": 1733412792,
"altitude": 2000,526,
"vertical_rate": -4,
"accuracy": 0,
"altitude_accuracy": 0,
"course": 266,
"ground_speed": 72,
"turn_rate": 0.16,
"status": "AIRBORNE",
"id": "3CE997"
}
]
2. Publish UAV and Get Nearby Aircraft
Endpoint: POST /uav
Description:
PublishPublishes theone UAV’sor position,many altitude,UAV and flight statusposition to the SafeSky platformplatform. whileOptionally, retrievingit's returning a list of nearby trafficaircraft datafor each UAV position within the specified radius. By default, the searcha radius is 10,000 meters, with a maximum of 20,00010000 meters.
Request Body:
Field | Type | Required | Description |
---|---|---|---|
id |
string |
Yes | Unique identifier for the UAV. |
latitude |
double |
Yes | Latitude in decimal degrees (4 decimal precision). |
longitude |
double |
Yes | Longitude in decimal degrees (4 decimal precision). |
altitude |
int |
Yes | Altitude of the UAV in meters. |
groundSpeed |
int |
Yes | Ground speed of the UAV in meters per second. |
course |
int |
Yes | Direction of travel in degrees clockwise relative to true north. |
status |
string |
Yes | Current status of the UAV (INACTIVE , AIRBORNE , GROUNDED ). |
Query Parameters:
Parameter | Type | Required | Description | Default |
---|---|---|---|---|
|
int |
No | Filter all aircraft below the given altitude in meters. Zero means 'unused'. | 0 |
|
int |
No | Filter all aircraft above the given altitude in meters. Zero means 'unused'. | 0 |
|
boolean |
No | Return information about aircraft traffic within proximity of the UAV positions. | false |
return_grounded_traffic |
boolean |
No | Include grounded beacons if show_nearby_traffic = true. | false |
rad |
int |
No | Radius distance in meters from |
10,000 |
Response:
- 201 CREATED: UAV published successfully; returns a list of nearby aircraft.
- 400 BAD REQUEST: Invalid parameters or failed authentication.
Example Request:
POST /uav?altitude_min=1000&altitude_max=3000&radius=15000
Content-Type: application/json
[
{
"id": "UAV123",
"status": "AIRBORNE",
"altitude": 180,
"course": 250,
"ground_speed": 24,
"latitude": 48.8588,50.69378,
"longitude": 2.2943,4.39201,
"altitude": 1200,
"groundSpeed": 30,
"course": 180,
"status"call_sign": "AIRBORNE"FlyingFrog"
}
]
Example Response:
[
{
"id": "XYZ789",
"latitude": 48.859,
"longitude": 2.293,
"altitude": 1500,
"status": "AIRBORNE"
}
]
Support
For assistance or further inquiries, please contact us at support@safesky.app
or visit our website.
Disclaimer
SafeSky is a non-certified eConspicuity platform that collects and shares information provided by a voluntary and unstructured community of pilots and ground stations. Therefore, no data accuracy, comprehensiveness, nor permanent transmission can be guaranteed while using the API.
The main purpose of the software is to remind and support everybody’s personal duty to ‘See, Be Seen and Avoid’ when flying, i.e., to look out at all times.
Hence, SafeSky can in no way be held liable for any event happening during the flight.
While SafeSky provides significantly more flight traffic information than a single system or no system at all, it will not show everything. Visibility can be affected by factors like pilots not using a detection device, limited ground station coverage, poor internet, or poor GPS quality.
Before using this API, you must have read and agreed to the Terms And Conditions.