La meilleure API au monde pour le suivi des vols et l'état des vols basée sur des requêtes.

AeroAPI® (anciennement FlightXML) offre un accès personnalisé aux développeurs qui recherchent des données provenant de millions d'entrées d'état de vol pour toute application utilisant REST/JSON.

Commencez à faire des requêtes pour alimenter votre application. Comparer les niveaux maintenant

Principales caractéristiques

  • Facile à intégrer, flexible et évolutif
  • Un système moderne basé sur REST
  • Compatible avec tous les langages de programmation
  • Documentation complète pour les développeurs et portail interactif
  • Disponibile de 99,5 % avec garantie
  • Données aéronautiques personnalisables pour répondre aux besoins uniques de votre application
  • Données actuelles et historiques des vols
  • Alertes d'événements de vol en temps réel et configurables
  • Des ETA prédictives, alimentées par FlightAware Foresight
  • Continuous delivery of new functionality, including new hold detection alerting and impending arrival and departure alerts New!

Requête de données de vol à la demande

AeroAPI est une API simple à base de requêtes qui permet aux développeurs de logiciels d'accéder à une variété de données de vol de FlightAware. Les utilisateurs ont la possibilité d'obtenir des données actuelles ou historiques. L'AeroAPI est une API RESTful qui fournit des données d'aviation précises et exploitables. Avec le lancement de FlightAware Foresight, les clients peuvent accéder aux données qui constituent la base de plus de la moitié des prévisions de l'heure estimée d'arrivée des avions aux États-Unis.

Interroger AeroAPI pour des vols basés sur une combinaison de propriétés, y compris

  • Numéro de vol ou de queue
  • Aéroport d'origine et / ou de destination
  • Le type d'aéronef
  • Une portée d'altitude basse à élevée
  • Une portée basse à élevée de vitesse au sol

Récupérer les données de vol par l'intermédiaire de l'AeroAPI, y compris :

  • Numéro de vol ou de queue
  • Type d'Aéronefs
  • Aéroport d'origine et / ou de destination
  • L'heure de réception de la dernière position
  • Longitude, latitude, vitesse au sol et altitude
  • FlightAware Foresight, Les ETA prédictives de FlightAware
  • Historique de l'état des vols et des trajectoires New!
  • Et bien plus encore

Obtenez des données relatives à l'aéroport via l'API, notamment :

  • Vols planifiés
  • Vols décollés
  • Vols en route
  • Vols atterris

Extraits de code de l'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;
            }
        }
    }
}

Des exemples plus détaillés de l'AeroAPI peuvent être consultés ici.

Frais de requête AeroAPI

Une même requête peut renvoyer de un à plusieurs résultats, et ce en fonction du type d'appel effectué et des paramètres d'entrée fournis. Pour la tarification, un "ensemble de résultats" est défini comme 15 résultats (enregistrements). La tarification se fait par ensemble de résultats. La tarification peut être modifiée.

Remarque : le paramètre d'entrée max_pages peut servir à limiter / contrôler le nombre d'ensembles de résultats renvoyés, une page étant équivalente à un ensemble de résultats.

Commencez à lancer des requêtes dès aujourd'hui ! Comparer les niveaux

Remise sur volume

Une remise sur le volume est applicable à tous les comptes des niveaux Premium et Standard. Pour les premiers 1 000 $ utilisés par mois, la facturation se fait toujours au prix courant, ensuite chaque niveau d'utilisation supplémentaire est réduit davantage. Pour l'utilisation mensuelle dépassant les 64 000 $, la réduction est de 94 %, ce qui vous permettra de continuer à développer vos applications et à profiter pleinement des nouvelles fonctionnalités avec un minimum d'écart dans le coût mensuel total.

Merci de contacter FlightAware pour obtenir plus d'informations concernant les remises supplémentaires disponibles pour des engagements de 3 ou 4 ans.

Utilisé par des Organisations du Monde Entier

Foire aux questions

Comment suis-je facturé lorsque l'API renvoie plusieurs résultats pour une seule requête ?

La facturation s'effectue en général une fois par requête. Toutefois, pour les requêtes susceptibles de renvoyer plusieurs pages de résultats (définies comme des ensembles de 15 résultats maximum), vous serez facturé pour le nombre total de pages renvoyées (calculé comme le tarif par requête multiplié par le nombre de pages renvoyées). Vous pouvez contrôler le nombre maximum de pages renvoyées par l'API pour une requête. Veuillez consulter la documentation de l'API pour plus de détails sur la façon de définir le paramètre « max_pages ».

Comment puis-je consulter l'état de ma facturation AeroAPI ?

Les clients actuels peuvent visiter le portail AeroAPI pour voir les frais accumulés.

Documentation

L'API de FlightAware pour l'état des vols, le suivi des vols et les données aéronautiques est accessible via REST et l'API peut être accessible en utilisant n'importe quel langage de programmation.

Support

Veuillez visiter notre FAQ pour trouver des réponses aux questions générales ou consulter notre forum de discussion pour plus d'informations approfondies.

Se connecter

Vous n'avez pas de compte? Inscrivez-vous maintenant (gratuitement) pour des fonctionnalités personnalisées, des alertes de vols, et plus encore!
Saviez-vous que le suivi des vols FlightAware est soutenu par la publicité ?
Vous pouvez nous aider à garder FlightAware gratuit en autorisant les annonces de FlightAware.com. Nous travaillons dur pour que notre publicité reste pertinente et discrète afin de créer une expérience formidable. Il est facile et rapide de mettre les annonces en liste blanche sur FlightAware ou d’examiner nos comptes premium.
Abandonner