Flight Status Feed API
The Flight Status Feed API provides all of FlightStats’ worldwide flight records. Every commercial scheduled flight is added to our system as a Flight Status record and updated multiple times. This API is a complete set of all those Flight Status records along with all updates. A record will typically get its first status update on create approximately 3 days before departure and the feed will show updates to the flight as they happen until the flight is complete.
The feed is a stream of the changes to flight records, not a lookup mechanism. For Flight lookups, please see the Flight Status APIs.
Updates to our entire data set occur about once every six seconds on average throughout the day. The Flight Status Feed is throttled to 3000 requests per minute per user account as a safeguard against runaway processes that could slow down the entire system. To reduce the chance of hitting the rate limiter, your software will need to sleep 10 seconds if you see an empty /next operation.
Reference Data
The airline, airport, and equipment codes found in the Flight Status Feed can be resolved with our reference APIs.
Workflow
There are two types of requests made to this API. You need to make a call to fetch an available list of flight status payloads and then use the urls provided to retrieve the flight statuses themselves. The “list of items” request has three resource options:
- latest
- next/{count}
- previous/{count}
Each unique url is used to request a payload that contains one-to-many flight statuses. The response contains the request and list of flightStatus
Use Cases
Case #1: Starting at a given point in time.
- Request 'latest'
- Request and process payload of the 'latest' unique url
- Using the same unique url, request the next/'n' list
- Loop through this list of unique urls, requesting and processing the flight status payloads
- When finished use the last unique url to request the next/'n'
- Continue
Case #2: Recovery
- Using the unique url of the last successfully processed payload, request the next/’n’
- Loop through these unique urls and until finished and request next/’n’
Case #3: Simultaneous Retrieval
The list of unique urls is immutable so you can retrieve multiple flight status payloads simultaneously (e.g. via multiple threads or processes) without fear of duplication or missing data.
Notes About Flight Status Payloads
Each flight status record can be updated multiple times. Each update creates a new entry in the Flight Status Feed. All updates are included with the payload so that the latest flight status has the complete set of changes within it.
Interactive Use
In order to use the Flight Status Feed API, you need to establish an account within the Cirium Developer Center. Once you have completed the signup process, a Cirium representative will configure your account and application and notify you that you have been approved. To retrieve your credentials, log into your account at the Developer Center and go to the Dashboard to view your applications. You will need your appId and appKey from this interface.
Construct a ‘latest’ request with your credentials and use a browser or other tool of your choice to pull back live data from our system. If you are using a browser, you will need to append your credentials to each request.
Pattern
https://api.flightstats.com/flex/flightstatusfeed/rest/v2/{format}/latest?appId=xxx&appKey=xxx
- format = json, xml
Open Source Java Client for the Flight Status Feed
This open source code provides a pattern for how to consume the Flight Status Feed. See the README file for more details.