Skip to main content

Live UAV operations

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 10000 meters, with a maximum of 20000 meters.

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 /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 /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.

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 /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.

3. Check for API health

Endpoint: GET /
Description:
Provides health checks against the API. Returns the string 'UP' if network services are up and running.


Support

For assistance or further inquiries, please contact us at support@safesky.app or visit our website.