This website uses cookies. By using and further navigating this website, you accept this.
Did you know that FlightAware flight tracking is supported by advertising?
You can help us keep FlightAware free by allowing ads from We work hard to keep our advertising relevant and unobtrusive to create a great experience. It's quick and easy to whitelist ads on FlightAware or please consider our premium accounts.

Flight Tracking and Flight Status API

Harness FlightAware's flight data using FlightXML, the world’s most robust flight tracking API.

Start pushing requests for free TODAY! Get Pricing

Key Features

  • Access and leverage all of FlightAware's flight data sources through our easy to use API
  • Real-time configurable flight event alerts
  • Volume-based pricing on API queries
  • Numerous code examples in over a dozen programming languages

Push and Pull Flight Data

FlightXML 2.0 is a simple, query-based API that gives programs access to any of FlightAware’s flight data. Users can obtain current or historical data and the API is compatible with any application that supports SOAP/WSDL or REST/JSON.

Query the API for flights based on a combination of properties:

  • Flight or tail number
  • Origin and/or destination airport
  • Aircraft type
  • A low-to-high range of altitude
  • A low-to-high range of groundspeed

Retrieve flight data through the API including:

  • The flight or tail number
  • The aircraft type
  • Origin and destination
  • Time the last position was received
  • Longitude, latitude, groundspeed and altitude

Airports can also obtain a list of flight data via the API, including:

  • Scheduled flights
  • Flights that have departed
  • Flights that are enroute to the airport
  • Flights that have arrived at the airport

FlightXML 2.0 is our feature-complete flight data API. If you'd like to try version 3.0 beta, click here.

FlightXML 2.0 Code Examples

import requests

username = "YOUR_USERNAME"
apiKey = "YOUR_API_KEY"
fxmlUrl = ""

payload = {'airport':'KSFO', 'howMany':'10'}
response = requests.get(fxmlUrl + "Enroute",
    params=payload, auth=(username, apiKey))

if response.status_code == 200:
    print response.json()
    print "Error executing request"
var Client = require('node-rest-client').Client;
var username = 'YOUR_USERNAME';
var apiKey = 'YOUR_API_KEY';
var fxmlUrl = '';
var client_options = {
    user: username,
    password: apiKey
var client = new Client(client_options);
client.registerMethod('airlineInfo', fxmlUrl + 'AirlineInfo', 'GET');
var airlineInfoArgs = {
    parameters: {
        airlineCode: 'UAL'
client.methods.airlineInfo(airlineInfoArgs, function (data, response) {
$username = "YOUR_USERNAME";
$apiKey = "YOUR_API_KEY";
$fxmlUrl = "";

$queryParams = array(
    'ident' => 'SWA45',
    'howMany' => 10,
    'offset' => 10
$url = $fxmlUrl . 'FlightInfoEx?' . http_build_query($queryParams);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $apiKey);

if ($result = curl_exec($ch)) {
    echo $result;
string fxmlUrl = "";
string username = "YOUR_USERNAME";
string apiKey = "YOUR_APIKEY";
var uriBuilder = new UriBuilder(fxmlUrl);
var requestUrl = fxmlUrl
    .SetQueryParams(new { airportCode = "KIAH" });
var serializer = new DataContractJsonSerializer(typeof(AirportInfoResult));
var client = new HttpClient();
var credentials = Encoding.ASCII.GetBytes(username + ":" + apiKey);
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(credentials));
var streamTask = client.GetStreamAsync(apiUrl);
var airportInfo = serializer.ReadObject(await streamTask) as AirportInfoResult;

FlightXML 2.0 can also be used with Python, Ruby, Java, Tcl, Perl, ASP, and other languages. View additional code examples.

Used by Organizations Across the World


FlightAware's API for flight status, flight tracking and aviation data can be accessed via REST or SOAP and the API can be accessed using any programming language.


Please visit our FAQ to find answers to general questions or check out our discussion forum for more in-depth information.


Don't have an account? Register now (free) for customized features, flight alerts, and more!