Current Flight Tracks API

Download OpenAPI specification:Download

Introduction

Flight Track APIs, part of the FlightStats APIs, give you access to information on an active flight, including position (lat/long), altitude, bearing, speed and route.

Cirium provides the best available position for active flights, either ASDI from the FAA or ADS-B from transceivers located around the globe. In cases where the flight is out of range of either of these systems -- such as ocean crossings -- Cirium derives the position based on the last known location and its destination. With a sourceType of 'derived', the API automatically returns the best available position. Users also have the option of requesting the 'raw' data (either ASDI or ADS-B) or 'all' which will return both derived and raw in the same payload.

Flight Track provides positional information needed to create flight tracking applications and answers questions such as

  • What is the planned flight path for this flight?
  • Where is it now?
  • Where has it been up to now?
  • What planes are flying over a specific area?

Initial flight plans and aircraft positions are made available when they are received (often roughly 24 hours in advance for flight plans) until roughly seven days after arrival.

The categories of Flight Track APIs include:

  • Airport tracks - Flights departing from or arriving at a specific airport on a given date
  • By flight - Tracking information for a particular flight
  • Flights Near - Positions for flights currently within an area (identifed by point and radius, or by geographic boundaries).

Licensing

Flight Track by flight APIs are standard APIs and included in our Commercial and Contract plans.

Flight Track by route and airport, and Flights Near are premium APIs and only available in the Contract plan.

A breakdown of the available plans is available on Get evaluation account

Schemas

Click the download button at the top of this document to download the OpenApi spec for this API. Other schemas:

By Flight long term support

By Flight extended fields

By Airport long term support

By Airport extended Fields

Flights Near long term support

Flights Near extended fields

Example implementations

Related products

Flight Data (Laminar Data Hub) - Status and positional data appropriate for geospatial-aware applciations

Flight Status - Current flight information for flights about three days in advance of departure until about seven days after arrival

Airport tracks

Flight Track By Airport

Airport by arrivals

Returns the positional tracks of active flights having the specified arrival airport. Flight plans may be optionally included. "Active" flights are those for which positional data are available, and which have not yet landed. To narrow down to only the freshest data, you may optionally limit the age (in minutes) and/or number of positions per track.

Authorizations:
(appIdQueryParamappKeyQueryParam) (appIdHeaderappKeyHeader)
path Parameters
format
required
string
Enum: "json" "jsonp" "xml"
Example: json

The response format

airport
required
string
Example: MCI

Arrival airport code

query Parameters
carrier
string
Example: carrier=WN

Filter results to include only the carrier indicated

includeFlightPlan
boolean
Default: false
Enum: true false

Set to true to return the published flight plan

maxPositions
integer <int64> >= 1
Example: maxPositions=2

Maximum number of positions in each track (per source)

maxPositionAgeMinutes
integer <int64> >= 1
Example: maxPositionAgeMinutes=15

Maximum age (in minutes) for positions to include

sourceType
string
Default: "derived"
Enum: "raw" "derived" "all"

Positional source type

codeType
string
Enum: "IATA" "ICAO" "FS"
Example: codeType=FS

Type of airport code. If not specified, all domains will be searched in the order: IATA, ICAO, FS.

maxFlights
integer <int64> >= 1
Example: maxFlights=5

The maximum number of unique flights to return tracks for, if missing all flights are returned

extendedOptions
Array of strings
Items Enum: "useHttpErrors" "useInlinedReferences" "includeNewFields" "languageCode:en" "languageCode:ar" "languageCode:de" "languageCode:es" "languageCode:fr" "languageCode:ja" "languageCode:ko" "languageCode:pt" "languageCode:zh"

Extended options for modifying standard API behavior to fit special use cases

Responses

Response samples

Content type
No sample

Airport by departures

Returns the positional tracks of active flights having the specified departure airport. Flight plans may be optionally included. "Active" flights are those for which positional data are available, and which have not yet landed. To narrow down to only the freshest data, you may optionally limit the age (in minutes) and/or number of positions per track.

Authorizations:
(appIdQueryParamappKeyQueryParam) (appIdHeaderappKeyHeader)
path Parameters
format
required
string
Enum: "json" "jsonp" "xml"
Example: json

The response format

airport
required
string
Example: MCI

Departure airport code

query Parameters
carrier
string
Example: carrier=WN

Filter results to include only the carrier indicated

includeFlightPlan
boolean
Default: false
Enum: true false

Set to true to return the published flight plan

maxPositions
integer <int64> >= 1
Example: maxPositions=2

Maximum number of positions in each track (per source)

maxPositionAgeMinutes
integer <int64> >= 1
Example: maxPositionAgeMinutes=15

Maximum age (in minutes) for positions to include

sourceType
string
Default: "derived"
Enum: "raw" "derived" "all"

Positional source type

codeType
string
Enum: "IATA" "ICAO" "FS"
Example: codeType=FS

Type of airport code. If not specified, all domains will be searched in the order: IATA, ICAO, FS.

maxFlights
integer <int64> >= 1

The maximum number of unique flights to return tracks for, if missing all flights are returned

extendedOptions
Array of strings
Items Enum: "useHttpErrors" "useInlinedReferences" "includeNewFields" "languageCode:en" "languageCode:ar" "languageCode:de" "languageCode:es" "languageCode:fr" "languageCode:ja" "languageCode:ko" "languageCode:pt" "languageCode:zh"

Extended options for modifying standard API behavior to fit special use cases

Responses

Response samples

Content type
No sample

Flight tracks

Flight Track By Flight

Flight by arrival

Returns the positional tracks of flights, with a given carrier and flight number, arriving or having arrived on the given date. If 'hourOfDay' is specified, results will be limited to the given hour, unless 'numHours' is also specified. Arrival airport may optionally be specified. Flight plans may be optionally included. To narrow down to only the freshest data, you may optionally limit the age (in minutes) and/or number of positions per track.

Authorizations:
(appIdQueryParamappKeyQueryParam) (appIdHeaderappKeyHeader)
path Parameters
format
required
string
Enum: "json" "jsonp" "xml"
Example: json

The response format

carrier
required
string
Example: AS

Carrier (airline) code

flight
required
string
Example: 412

Flight number

year
required
string
Example: 2021

Four-digit year

month
required
integer <int64> [ 1 .. 12 ]
Example: 12

Month

day
required
integer <int64> [ 1 .. 31 ]
Example: 1

Day of month

query Parameters
hourOfDay
required
integer <int64> [ 0 .. 23 ]
Example: hourOfDay=14

Hour of day

utc
boolean
Default: false
Enum: true false

Time given as UTC instead of local

numHours
integer <int64> [ 1 .. 24 ]
Example: numHours=6

Number of hours worth of arrivals to include

includeFlightPlan
boolean
Default: false
Enum: true false

Set to true to return the published flight plan

airport
string
Example: airport=SEA

Optional arrival airport code

maxPositions
integer <int64> >= 1
Example: maxPositions=5

Maximum number of positions in each track (per source)

maxPositionAgeMinutes
integer <int64> >= 1
Example: maxPositionAgeMinutes=15

Maximum age (in minutes) for positions to include

sourceType
string
Default: "derived"
Enum: "raw" "derived" "all"

Positional source type

codeType
string
Enum: "IATA" "ICAO" "FS"
Example: codeType=FS

Type of airport code. If not specified, all domains will be searched in the order: IATA, ICAO, FS.

extendedOptions
Array of strings
Items Enum: "useHttpErrors" "useInlinedReferences" "includeNewFields" "languageCode:en" "languageCode:ar" "languageCode:de" "languageCode:es" "languageCode:fr" "languageCode:ja" "languageCode:ko" "languageCode:pt" "languageCode:zh"

Extended options for modifying standard API behavior to fit special use cases

Responses

Response samples

Content type
No sample

Flight by departure

Returns the positional tracks of flights, with a given carrier and flight number, departing or having departed on the given date. If 'hourOfDay' is specified, results will be limited to the given hour, unless 'numHours' is also specified. Departure airport may optionally be specified. Flight plans may be optionally included. To narrow down to only the freshest data, you may optionally limit the age (in minutes) or number of positions per track.

Authorizations:
(appIdQueryParamappKeyQueryParam) (appIdHeaderappKeyHeader)
path Parameters
format
required
string
Enum: "json" "jsonp" "xml"
Example: json

The response format

carrier
required
string
Example: AS

Carrier (airline) code

flight
required
string
Example: 412

Flight number

year
required
string
Example: 2021

Four-digit year

month
required
integer <int64> [ 1 .. 12 ]
Example: 12

Month

day
required
integer <int64> [ 1 .. 31 ]
Example: 1

Day of month

query Parameters
hourOfDay
required
integer <int64> [ 0 .. 23 ]
Example: hourOfDay=14

Hour of day

utc
boolean
Default: false
Enum: true false

Time given as UTC instead of local

numHours
integer <int64> [ 1 .. 24 ]
Example: numHours=12

Number of hours worth of departures to include.

includeFlightPlan
boolean
Default: false
Enum: true false

Set to true to return the published flight plan

airport
string
Example: airport=PDX

Optional departure airport code

maxPositions
integer <int64> >= 1

Maximum number of positions in each track (per source)

maxPositionAgeMinutes
integer <int64> >= 1

Maximum age (in minutes) for positions to include

sourceType
string
Default: "derived"
Enum: "raw" "derived" "all"

Positional source type

codeType
string
Enum: "IATA" "ICAO" "FS"
Example: codeType=FS

Type of airport code. If not specified, all domains will be searched in the order: IATA, ICAO, FS.

extendedOptions
Array of strings
Items Enum: "useHttpErrors" "useInlinedReferences" "includeNewFields" "languageCode:en" "languageCode:ar" "languageCode:de" "languageCode:es" "languageCode:fr" "languageCode:ja" "languageCode:ko" "languageCode:pt" "languageCode:zh"

Extended options for modifying standard API behavior to fit special use cases

Responses

Response samples

Content type
No sample

Flight by ID

Returns the positional track for a specific flight, specified by flight ID. Flight plan may be optionally included. To narrow down to only the freshest data, you may optionally limit the age (in minutes) and/or number of positions returned. You can obtain a candidate Flight ID using the other Flight Status API's

Authorizations:
(appIdQueryParamappKeyQueryParam) (appIdHeaderappKeyHeader)
path Parameters
format
required
string
Enum: "json" "jsonp" "xml"
Example: json

The response format

flightId
required
integer <int64>
Example: 110223

FlightStats' Flight ID number for the desired flight

query Parameters
includeFlightPlan
boolean
Default: false
Enum: true false

Set to true to return the published flight plan

maxPositions
integer <int64> >= 1
Example: maxPositions=2

Maximum number of positions in each track (per source)

maxPositionAgeMinutes
integer <int64> >= 1
Example: maxPositionAgeMinutes=45

Maximum age (in minutes) for positions to include

sourceType
string
Default: "derived"
Enum: "raw" "derived" "all"
Example:

Positional source type

extendedOptions
Array of strings
Items Enum: "useHttpErrors" "useInlinedReferences" "includeNewFields" "languageCode:en" "languageCode:ar" "languageCode:de" "languageCode:es" "languageCode:fr" "languageCode:ja" "languageCode:ko" "languageCode:pt" "languageCode:zh"

Extended options for modifying standard API behavior to fit special use cases

Responses

Response samples

Content type
No sample

Flights Near

Flights Near

Flights near

Flights within bounding box

Flights Near provides access to positional information on active flights in a requested geographic area including all available carrier, flight number, call sign, tail number, position (lat/long), altitude, bearing, and speed data. Get all flights with current positions inside a specified bounding box. Bounding box coordinates are specified in degrees of latitude/longitude. Sides of box must not exceed 5 degrees in length.

Authorizations:
(appIdQueryParamappKeyQueryParam) (appIdHeaderappKeyHeader)
path Parameters
format
required
string
Enum: "json" "jsonp" "xml"
Example: json

The response format

topLat
required
number <float> [ -85 .. 85 ]
Example: 22.235

Latitude for top of bounding box

leftLon
required
number <float> [ -180 .. 180 ]
Example: -159.8085

Latitude for left of bounding box

bottomLat
required
number <float> [ -85 .. 85 ]
Example: 21.8383

Latitude for bottom of bounding box

rightLon
required
number <float> [ -180 .. 180 ]
Example: -159.261

Latitude for right of bounding box

query Parameters
maxFlights
integer <int64> >= 1
Example: maxFlights=5

The maximum number of unique flights to return tracks for, if missing all flights are returned

sourceType
string
Default: "derived"
Enum: "raw" "derived" "all"

Positional source type

extendedOptions
Array of strings
Items Enum: "useHttpErrors" "useInlinedReferences" "includeNewFields" "languageCode:en" "languageCode:ar" "languageCode:de" "languageCode:es" "languageCode:fr" "languageCode:ja" "languageCode:ko" "languageCode:pt" "languageCode:zh"

Extended options for modifying standard API behavior to fit special use cases

Responses

Response samples

Content type
No sample

Flights within radius

Flights Near gets flights centered around a particular point, within a given radius. The area searched is a square (not circle); the radius specifies the distance from the center of the square to one of its corners. Center point is specified in degrees of latitude and longitude; radius is specified in miles.

Authorizations:
(appIdQueryParamappKeyQueryParam) (appIdHeaderappKeyHeader)
path Parameters
format
required
string
Enum: "json" "jsonp" "xml"
Example: json

The response format

lat
required
number <float> [ -85 .. 85 ]
Example: 39.6476

Latitude for center point

lon
required
number <float> [ -180 .. 180 ]
Example: -80.858

Longitude for center point

miles
required
integer <int32> [ 1 .. 200 ]
Example: 100

Radius within which to include flights

query Parameters
maxFlights
integer <int64> >= 1
Example: maxFlights=5

The maximum number of unique flights to return tracks for, if missing all flights are returned

sourceType
string
Default: "derived"
Enum: "raw" "derived" "all"

Positional source type

extendedOptions
Array of strings
Items Enum: "useHttpErrors" "useInlinedReferences" "includeNewFields" "languageCode:en" "languageCode:ar" "languageCode:de" "languageCode:es" "languageCode:fr" "languageCode:ja" "languageCode:ko" "languageCode:pt" "languageCode:zh"

Extended options for modifying standard API behavior to fit special use cases

Responses

Response samples

Content type
No sample