Лучший в мире API, основанный на запросах, для отслеживания и получения данных о рейсах

AeroAPI® (ранее FlightXML) дает возможность разработчикам получать доступ к любым полетным данным огромного количества рейсов через любые приложения с поддержкой REST/JSON.

Делайте запросы для повышения эффективности вашего приложения. Сравнить подписки

Ключевые возможности

  • Быстрая интеграция, универсальность и масштабируемость
  • Современный API с поддержкой REST
  • Совместимость с любыми языками программирования
  • Комплексная документация для разработчиков и интерактивный портал
  • Гарантия бесперебойной работы: 99,5%
  • Выбирайте только данные необходимые именно вам
  • Текущие и архивные полетные данные
  • Настраиваемые уведомления о ходе рейсов в реальном времени
  • Прогнозы времени прилета с использованием технологии FlightAware Foresight
  • Continuous delivery of new functionality, including new hold detection alerting and impending arrival and departure alerts New!

Получайте полетные данные по запросу

AeroAPI — это простой прикладной программный интерфейс (API), основанный на запросах, который дает возможность получать доступ к любым полетным данным FlightAware. Пользователи могут получать текущие или архивные данные. Данный API с поддержкой REST позволяет получать точные и актуальные авиаданные. Теперь в наш API добавлен FlightAware Foresight, и пользователи могут получать доступ к данным, которые используются при составлении более половины прогнозов о времени прилета в США.

Query AeroAPI for Flights Based on a Combination Of Properties Including

  • Номер рейса или бортовой номер
  • Аэропорт вылета и/или назначения
  • Тип воздушного судна
  • Высота: от меньшей до большей
  • Скорость: от меньшей до большей

Получение полетных данных с использованием AeroAPI, включая:

  • Рейс или бортномер
  • Тип воздушного судна
  • Аэропорт вылета и/или прилета
  • Время получения последних данных о местоположении
  • Долгота, широта, скорость и высота
  • FlightAware Foresight, прогноз времени прилета от FlightAware
  • История отслеживания и статуса рейсов 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, при этом одна страница соответствует одному набору результатов.

Начинайте отправлять запросы уже сегодня! Сравните подписки

Скидка за потраченные средства

Для всех учетных записей класса "Premium" и "Standard" предусматривается скидка за потраченные средства. За первые потраченные в месяц 1000 долларов скидка не начисляется. При превышении этой суммы будет начисляться скидка в зависимости от объема потраченных средств. Например, если вы потратите в месяц более 64 000 долларов, скидка будет составлять 94%, что даст вам возможность совершенствовать ваши приложения и использовать новые функции при минимальных месячных затратах.

Пожалуйста, свяжитесь с представителем FlightAware для получения дополнительной скидки при использовании в течение 3 или 4 лет.

Используется организациями по всему миру

Часто задаваемые вопросы

Как взимается плата, если API возвращает несколько результатов за один запрос?

Как правило, с вас взимается плата за каждый запрос. Однако для запросов, которые будут возвращать несколько страниц результатов (наборы до 15 результатов), с вас будет взиматься плата за общее количество страниц (рассчитывается как плата за запрос, умноженная на количество возвращенных страниц). Вы можете установить максимальное количество страниц, возвращаемых API для одного запроса. для получения подробной информации о том, как установить параметр "max_pages", пожалуйста, см. документацию API.

Как я могу просмотреть статус платежей за использование AeroAPI?

Если у вас оформлена подписка, посетите портал AeroAPI, чтобы просмотреть фактические начисления.

Документация

Наш API с поддержкой REST позволяет получать точные и актуальные данные о рейсах, отслеживании и другие полетные данные, используя любой язык программирования.

Поддержка

Пожалуйста, посетите наш раздел FAQ, чтобы найти ответы на часто задаваемые вопросы, или зайдите на наш форум, чтобы получить более детальную информацию.

Вход

Нет учетной записи? Зарегистрируйтесь сейчас (бесплатно) и получите доступ к конфигурируемым функциям, уведомлениям о статусе рейсов и другим возможностям!
Вы знаете, что реклама помогает FlightAware в отслеживании рейсов?
Вы можете внести свой вклад в бесплатную работу FlightAware, разрешив показ рекламы на FlightAware.com. Мы следим за тем, чтобы наша реклама была полезна и не мешала работе с сайтом. Вы можете быстро включить рекламу на FlightAware или приобрести привилегированное членство.
Отменить