The World’s Best Query-Based Flight Tracking and Flight Status API

AeroAPI (formerly FlightXML) delivers customized access to developers seeking data from millions of flight status inputs for any application using REST/JSON.

Start making queries to power your application. 今すぐレベルを確認

主な特徴

  • Easy to integrate, flexible, and scalable
  • Modern REST-based
  • Real-time and configurable flight event alerts
  • Comprehensive developer documentation and interactive portal
  • Predictive ETAs, powered by ForesightTM
  • Customizable aviation data to meet your unique application needs
  • 99.5% uptime guarantee available
  • Compatible with all programming languages

オンデマンドでフライトデータを照会

AeroAPIは、ソフトウェア開発者に様々なFlightAwareのフライトデータへのアクセスを許可するシンプルなクエリーベースのAPIです。ユーザーは、現在のデータや履歴データを入手できます。AeroAPIは、正確かつ実用的なデータを届けるRESTful APIです。ForesightTMの導入により、お客様は米国内における航空会社の予想到着時刻の半分以上を司るデータにアクセスできます。

次の条件に合うフライトをAeroAPIに問い合わせる:

  • 便名または機体登録番号
  • 出発/到着空港
  • 機種
  • 低高度から高高度の高度範囲
  • 低速度から高速度までの地上走行速度範囲

次を含むフライトデータをAeroAPI経由で入手する:

  • Flight or tail number
  • Aircraft type
  • Origin and/or destination airport
  • 最終位置の受信時刻
  • 経度、緯度、地上走行速度、高度
  • FlightAwareの予想到着時刻、ForesightTM

次を含むAPI経由の空港主体データを入手する:

  • Scheduled flights
  • 出発済みフライト
  • 飛行中フライト
  • 到着済みフライト

AeroAPIコード例

import requests

apiKey = input("API Key: ")
apiUrl = "https://aeroapi.flightaware.com/aeroapi/"

airport = 'KSFO'
payload = {'max_pages': 2}
auth_header = {'x-apikey':apiKey}

response = requests.get(apiUrl + f"airports/{airport}/flights",
    params=payload, headers=auth_header)

if response.status_code == 200:
    print(response.json())
else:
    print("Error executing request")
String YOUR_API_KEY = "API_KEY_HERE";
String apiUrl = "https://aeroapi.flightaware.com/aeroapi/";

String airport = "KSFO";

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
	.uri(URI.create(apiUrl + "airports/" + airport + "/flights"))
	.headers("x-apikey", YOUR_API_KEY)
	.build();
HttpResponse response = client.send(request, BodyHandlers.ofString());

if (response.statusCode() == 200) {
	System.out.println("responseBody: " + response.body());
}
<?php
$apiKey = "YOUR_API_KEY";
$fxmlUrl = "https://aeroapi.flightaware.com/aeroapi/";

$ident = 'SWA45';
$queryParams = array(
	'max_pages' => 2
);
$url = $fxmlUrl . 'flights/' . $ident . '?' . http_build_query($queryParams);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('x-apikey: ' . $apiKey));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

if ($result = curl_exec($ch)) {
	curl_close($ch);
	echo $result;
}
?>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Threading.Tasks;

namespace AeroApi4Sample
{
    public class FlightsResult
    {
        public List Flights { get; set; }
    }

    public class Flight
    {
        public string Ident { get; set; }

        [JsonPropertyName("fa_flight_id")]
        public string FaFlightId { get; set; }

        [JsonPropertyName("scheduled_out")]
        public DateTime ScheduledOut { get; set; }
        
        [JsonPropertyName("actual_out")]
        public DateTime? ActualOut { get; set; }
    }

    public class Program
    {
        static void Main( string[] args )
        {
            Console.Write( "API Key: " );
            var strApiKey = Console.ReadLine();

            Console.Write( "Ident to look up (e.g., UAL47): " );
            var strIdentToLookUp = Console.ReadLine();

            var flights = GetFlights( strApiKey, strIdentToLookUp ).Result;
            
            if( flights == null )
            {
                return;
            }

            var nextFlightToDepart = flights.Where( 
                f => f.ActualOut == null 
                ).OrderBy( f => f.ScheduledOut ).First();

            Console.WriteLine( 
                string.Format( 
                    "Next departure of {0} is {1} at {2}", 
                    strIdentToLookUp,
                    nextFlightToDepart.FaFlightId, 
                    nextFlightToDepart.ScheduledOut 
                    ) 
                );
        }

        private static async Task> GetFlights( string strApiKey, string strIdent )
        {
            using( var client = new HttpClient() )
            {
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(
                    new MediaTypeWithQualityHeaderValue( "application/json" )
                    );
                client.DefaultRequestHeaders.Add( 
                    "x-apikey", 
                    strApiKey 
                    );

                FlightsResult flightResult = null;
                var response = await client.GetAsync(
                    "https://aeroapi.flightaware.com/aeroapi/flights/" + strIdent
                    );
                var contentStream = await response.Content.ReadAsStreamAsync();

                if( response.IsSuccessStatusCode )
                {
                    flightResult = await JsonSerializer.DeserializeAsync(
                        contentStream, 
                        new JsonSerializerOptions 
                        {
                            PropertyNameCaseInsensitive = true
                        }
                        );
                }
                else
                {
                    Console.Error.WriteLine( "API call failed: " + response );
                    return null;
                }

                return flightResult.Flights;
            }
        }
    }
}

AeroAPIはPython、Ruby、Java、.NET、その他の言語と一緒に使えます。

AeroAPI Query Fees

A single Query may return one-to-many results, dependent upon the type of call being made and the input parameters provided. For pricing purposes, a ‘result set’ is defined as 15 results/records. Pricing is per result set.

Note: The max_pages input parameter can be used to limit/control how many result sets will be returned, with one page being equivalent to one result set.

Note: The max_pages input parameter can be used to limit/control how many result sets will be returned, with one page being equivalent to one result set.

今日からクエリー開始! Compare Tiers

世界中の企業や組織で使われています

よくある質問と回答

How am I charged when the API returns multiple results for one query?

In general, you are charged once per query. However, for queries that may return multiple pages of results (defined as sets of up to 15 results), you will be charge for the total number of pages returned (calculated as the per-query fee times the number of pages returned). You can control the maximum number of pages returned by the API for one query. Please refer to the API documentation for details on how to set the "max_pages" parameter.

AeroAPIの請求状況を確認する方法は?

既存のお客様は、AeroAPIポータルで正確な料金をご確認いただけます。

What is new in version 4?

より詳細なフライトクエリー結果とプッシュアラートを表示するバージョン4なら、より少ない問い合わせ回数で同等またはそれ以上の情報を入手できます。APIのデザインを一新し、RESTfulインターフェースを使いやすくしました。コード不要の生まれ変わったインタラクティブなウェブポータルで新しいAPIをお試しください。99.5%のアップタイム保証もご利用可能です。

AeroAPIのバージョン2または3を使用しています。これらの製品は今後どうなりますか?

AeroAPIのバージョン2と3を使用している既存のお客様は、2023年10月31日まで現在の料金でご利用いただけます。新規登録されるお客様は、これらの旧製品をご利用いただけません。スムースに2023年の終了期限を迎えられるよう、旧バージョンのAeroAPIをご利用中のお客様には、できるだけ早期に新バージョンのAeroAPIに移行していただきたく存じます。AeroAPIの新バージョンをご利用になるお客様は、新製品に変更しなくても将来的に実施されるAeroAPIのアップデートを行っていただけます。

I use version 2 or version 3 of AeroAPI, how can I switch to version 4?

オンラインサインアップで今日から新バージョンのAeroAPIをご利用いただけます。既にAeroAPIをご利用のお客様は、最初の3か月間は無料でスタンダードまたはプレミアムレベルの新しいサブスクリプションに移行していただけます。

文書

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

Support

FAQページで一般的な質問に対する回答を、ディスカッションフォーラムでより詳しい情報を確認することができます。

ログイン

アカウントをお持ちではありませんか? 今すぐ登録(無料)!機能やフライトアラート、その他様々な設定をカスタマイズできます!
当ウェブサイトはクッキーを使用します。当ウェブサイトを使用し、サイト内を移動することで、あなたはこれに同意したこととみなされます。
閉じる
FlightAwareのフライト追跡は広告によりサポートされていることをご存知ですか?
広告表示を許可してくださることでFlightAware.comを無料で提供することができます。表示される広告は関連性の高い控えめなものを選んでいます。FlightAwareをホワイトリストに追加する方法はかんたんに設定していただくことができます。または、プレミアムアカウントのご利用をご検討ください.
閉じる