OpenSky

Endpoints

The OpenSky ingester pulls data from four endpoints.

/states/all

  • Two bounding boxes are configured to extract data from this endpoint.

  • Data extraction begins 48 hours ago.

  • The endpoint is accessed every 20 minutes to comply with the limit of 400 credits per day.

  • Each access retrieves data for the previous 10 seconds.

/flights/all

  • Data extraction begins 48 hours ago.

  • The endpoint is accessed every 60 minutes, retrieving 60 minutes of data.

  • A distinct list of airports is extracted from each record using the estDepartureAirport and estArrivalAirport fields.

/flights/arrivals

  • Data extraction begins 48 hours ago.

  • The endpoint is accessed every 60 minutes, retrieving 60 minutes of data.

  • Uses the distinct list of airports retrieved from the /flights/all endpoint.

/flights/departures

  • Data extraction begins 48 hours ago.

  • The endpoint is accessed every 60 minutes, retrieving 60 minutes of data.

  • Uses the distinct list of airports retrieved from the /flights/all endpoint.

Examples

Request
GET /states/all with a bounding box for China

The states property is a two-dimensional array. Each row represents a state vector and contains the following fields:

Field Name Data Type Description

icao24

string

Unique ICAO 24-bit address of the transponder in hex string representation.

callsign

string

Callsign of the vehicle (8 chars). Can be null if no callsign has been received.

origin_country

string

Country name inferred from the ICAO 24-bit address.

time_position

int

Unix timestamp (seconds) for the last position update. Can be null if no position report was received by OpenSky within the past 15s.

last_contact

int

Unix timestamp (seconds) for the last update in general. This field is updated for any new, valid message received from the transponder.

`longitude `

float

WGS-84 longitude in decimal degrees. Can be null.

latitude

float

WGS-84 latitude in decimal degrees. Can be null.

baro_altitude

float

Barometric altitude in meters. Can be null.

on_ground

boolean

Boolean value which indicates if the position was retrieved from a surface position report.

velocity

float

Velocity over ground in m/s. Can be null.

true_track

float

True track in decimal degrees clockwise from north (north=0°). Can be null.

vertical_rate

float

Vertical rate in m/s. A positive value indicates that the airplane is climbing, a negative value indicates that it descends. Can be null.

sensors

int[]

IDs of the receivers which contributed to this state vector. Is null if no filtering for sensor was used in the request.

geo_altitude

float

Geometric altitude in meters. Can be null.

squawk

string

The transponder code aka Squawk. Can be null.

spi

boolean

Whether flight status indicates special purpose indicator.

position_source

int

Origin of this state’s position.

  • 0 = ADS-B

  • 1 = ASTERIX

  • 2 = MLAT

  • 3 = FLARM


Request
GET /flights/all
GET /flights/arrival
GET /flights/departure

The response is a JSON array of flights where each flight is an object with the following properties:

Field Name Data Type Description

Icao2

string

Unique ICAO 24-bit address of the transponder in hex string representation

firstSee

integer

Estimated time of departure for the flight as Unix time (seconds since epoch)

estDepartureAirport

string or null

ICAO code of the estimared departure airport. Can be null if the airport could not be identified<

lastSeen

string or null

Estimated time of arrival for the flight as Unix time (seconds since epoch)

estArrivalAirport

string or null

ICAO code of the estimated arrival airport. Can be null if the airport could not be identified.

callsign

string or null

Callsign of the vehicle (up to 8 characters). Can be null if no callsign has been received.

estDepartureAirportHorizDistance

integer or null

Horizontal distance of the last received airborne position to the estimated departure airport in meters.

estDepartureAirportVertDistance

integer or null

Vertical distance of the last received airborne position to the estimated departure airport in meters.

estArrivalAirportHorizDistance

integer or null

Horizontal distance of the last received airborne position to the estimated arrival airport in meters.

estArrivalAirportVertDistance

integer or null

Vertical distance of the last received airborne position to the estimated arrival airport in meters.

departureAirportCandidatesCount

integer or null

Number of other possible departure airports. These are airports in short distance to the estimated departure airport.

arrivalAirportCandidates

integer or null

Number of other possible arrival airports. These are airports in short distance to the estimated arrival airport.