Live UAV operations
The Live UAV Operations API enables real-time tracking of UAVs by allowing the publication of live telemetry data, including position, altitude, velocity, and status. Additionally, the API provides the ability to retrieve nearby airborne traffic.
1. Get Nearby Aircraft
Endpoint: GET /v1//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 10000 meters, with a maximum of 20000 meters.
Request Headers:
x-api-key
:<your_api_key>
Note: If you have published UAvs to the API, they will be part of the response.
Query Parameters:
Parameter | Type | Required | Description | Default |
---|---|---|---|---|
lat |
double |
Yes | Latitude in decimal degrees (4 decimal precision). | N/A |
lng |
double |
Yes | Longitude in decimal degrees (4 decimal precision). | N/A |
alt_min |
int |
No | Filter all aircraft below the given altitude in AMSL meters. Zero means 'unused'. | 0 |
alt_max |
int |
No | Filter all aircraft above the given altitude in AMSL meters. Zero means 'unused'. | 0 |
rad |
int |
No | Radius in meters from the reference point (maximum: 20000 meters). | 10000 |
Response:
- 200 OK: Returns a list of nearby aircraft.
- 400 BAD REQUEST: Invalid parameters or failed authentication.
Example Request:
GET /v1/uav?latitude=48.8588&longitude=2.2943&altitude_min=1000&altitude_max=3000&radius=15000
Example Response:
[
{
"latitude": 48.86584,
"longitude": 2.63723,
"beacon_type": "JET",
"call_sign": "IBE06CK",
"transponder_type": "ADS-B",
"last_update": 1733412793,
"altitude": 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": "494105"
}
]
2. Publish UAV and Get Nearby Aircraft
Endpoint: POST /v1/uav
Description:Publishes one or many UAV position to the SafeSky platform. Optionally, it's returning a list of nearby aircraft for each UAV position within a radius of 10000 meters. This response will not include the UAV you have posted.
Request Headers:
Content-Type
:application/json
x-api-key
:<your_api_key>
Note: UAVs that you have published are excluded from the response.
Request Body:
Field | Type | Required | Description |
---|---|---|---|
id |
string |
Yes | Unique identifier for the UAV. |
last_update |
long |
Yes | The time of the event in seconds since epoch at UTC-0. |
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 AMSL 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 |
---|---|---|---|---|
alt_min |
int |
No | Filter all aircraft below the given altitude in AMSL meters. Zero means 'unused'. | 0 |
alt_max |
int |
No | Filter all aircraft above the given altitude in AMSL meters. Zero means 'unused'. | 0 |
return_nearby_traffic |
boolean |
No | Return information about aircraft traffic within proximity of the UAV positions. | false |
Additional query Parameters when show_nearby_traffic = true:
Parameter | Type | Required | Description | Default |
---|---|---|---|---|
rad |
int |
No | Radius distance in meters from all UAV reference point (maximum: 20000 meters). | 10000 |
return_grounded_traffic |
boolean |
No | Include grounded beacons. | false |
Response:
- 201 CREATED: UAV published successfully; returns a list of nearby aircraft.
- 400 BAD REQUEST: Invalid parameters or failed authentication.
Example POST Request:
POST /v1/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": 50.69378,
"longitude": 4.39201,
"call_sign": "FlyingFrog"
}
]
Similar response as Get Nearby Aircraft will be returned.