세계 최고의 쿼리 기반 항공편 추적 및 항공편 상태 API

AeroAPI(이전의 FlightXML)는 REST/JSON을 사용하는 모든 애플리케이션에 대한 수백만 개의 항공편 상태 입력 데이터를 찾는 개발자에게 맞춤형 액세스를 제공합니다.

애플리케이션을 강화하기 위한 쿼리를 시작하세요. 티어 지금 비교

주요 기능

  • 통합하기 쉽고 유연하며 확장 가능
  • 현대적 REST 기반
  • 모든 프로그래밍 언어와의 호환성
  • 포괄적인 개발자 문서 및 대화형 포털
  • 99.5% 가동 시간 보장 가능
  • 고유한 애플리케이션 요구 사항을 충족하는 맞춤형 항공 데이터
  • 현재 및 이력 항공편 데이터
  • 실시간 및 구성 가능한 비행 이벤트 경보
  • Foresight에서 제공하는 예측 ETA
  • Continuous delivery of new functionality, including new hold detection alerting and impending arrival and departure alerts New!

온디맨드 비행 데이터 쿼리

AeroAPI는 소프트웨어 개발자에게 다양한 FlightAware 비행 데이터에 대한 액세스를 제공하는 간단한 쿼리 기반 API입니다. 사용자는 현재 또는 과거 데이터를 얻을 수 있습니다. AeroAPI는 정확하고 실행 가능한 항공 데이터를 제공하는 RESTful API입니다. FlightAware Foresight의 도입으로 고객은 미국 내 예측 항공 ETA의 절반 이상을 지원하는 데이터에 액세스할 수 있습니다.

다음을 포함한 속성 조합을 기반으로 항공편에 대한 AeroAPI 쿼리

  • 항공편 또는 테일 번호
  • 출발지 및/또는 도착지 공항
  • 항공기 유형
  • 고도의 저-고 범위
  • 지상 속도의 저-고 범위

다음을 포함하는 AeroAPI를 통해 항공편 데이터 검색:

  • 항공편 또는 테일 번호
  • 항공기 유형
  • 출발지 및/또는 도착지 공항
  • 마지막 위치가 수신된 시간
  • 경도, 위도, 지상 속도 및 고도
  • Foresight, FlightAware의 예측 ETA
  • 이력 항공편 상태 및 추적 New!
  • 기타 추가

다음을 포함하여 API를 통해 공항 중심 데이터 얻기:

  • 예정된 항공편
  • 출발한 항공편
  • 경로 중 항공편
  • 도착한 항공편

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<String> 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<Flight> 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<List<Flight>> 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<FlightsResult>(
                        contentStream, 
                        new JsonSerializerOptions 
                        {
                            PropertyNameCaseInsensitive = true
                        }
                        );
                }
                else
                {
                    Console.Error.WriteLine( "API call failed: " + response );
                    return null;
                }

                return flightResult.Flights;
            }
        }
    }
}

더 자세한 AeroAPI 예시는 여기에서 볼 수 있습니다.

AeroAPI 쿼리 요금

단일 쿼리는 호출 유형과 제공된 입력 매개변수에 따라 일대다 결과를 반환할 수 있습니다. 가격 책정 용도로 '결과 세트'는 15개의 결과(레코드)로 정의됩니다. 가격은 결과 세트별로 책정됩니다.가격은 변경될 수 있습니다.

참고: max_pages 입력 매개변수는 반환될 결과 집합의 수를 제한/제어하는 데 사용할 수 있으며, 한 페이지는 하나의 결과 집합과 동일합니다.

오늘 쿼리를 시작하세요! 티어 비교

Volume Discounting

모든 프리미엄 및 표준 티어 계정은 볼륨 할인을 받을 수 있습니다. 매월 처음 $1,000의 사용량은 항상 정가로 청구되며, 사용량이 증가할 때마다 더 높은 수준으로 할인됩니다. 월 사용량이 $64,000 이상인 경우 할인율은 94%이어서 회원님은 계속해서 애플리케이션을 확장하고 월별 총 비용의 변동을 최소화하면서 새로운 기능을 최대한 활용할 수 있습니다.

3년 또는 4년 약정에 대해 제공되는 추가 할인에 대한 자세한 내용은 FlightAware에 문의하세요.

전세계 조직에서 사용

자주 묻는 질문

API가 하나의 쿼리에 대해 여러 결과를 반환하는 경우 요금은 어떻게 부과되나요?

일반적으로 쿼리당 한 번 청구됩니다. 그러나 여러 페이지의 결과를 반환할 수 있는 쿼리의 경우(최대 15개의 결과 세트로 정의됨) 반환된 총 페이지 수에 대한 요금이 부과됩니다(쿼리당 요금에 반환된 페이지 수를 곱하여 계산됨). 사용자는 하나의 쿼리에 대해 API가 반환하는 최대 페이지 수를 제어할 수 있습니다. "max_pages" 매개변수를 설정하는 방법에 대한 자세한 내용은 API 설명서를 참조하세요.

내 AeroAPI 결제 상태를 어떻게 볼 수 있습니까?

기존 고객은 AeroAPI 포털을 방문하여 누적 요금을 확인할 수 있습니다.

문서

비행 상태, 항공편 추적 및 항공 데이터를 위한 FlightAware의 API는 REST를 통해 액세스할 수 있으며 API는 모든 프로그래밍 언어를 사용하여 액세스할 수 있습니다.

지원

일반적인 질문에 대한 답변을 찾으려면 FAQ를 방문하시고, 자세한 정보는 토론 포럼을 확인해 주십시오.

로그인

계정을 가지고 계십니까? 사용자 정의된 기능, 비행 경보 및 더 많은 정보를 위해 지금(무료) 등록하세요!
FlightAware 항공편 추적이 광고로 지원된다는 것을 알고 계셨습니까?
FlightAware.com의 광고를 허용하면 FlightAware를 무료로 유지할 수 있습니다. Flightaware에서는 훌륭한 경험을 제공할 수 있도록 관련성있고 방해되지 않는 광고를 유지하기 위해 열심히 노력하고 있습니다. FlightAware에서 간단히 광고를 허용 하거나 프리미엄 계정을 고려해 보십시오..
종료