Flugstatus
Betriebsstatus in Echtzeit für einen einzelnen planmäßigen Flug. Übergeben Sie eine IATA-Flugnummer (zweistelliges Airline-Präfix + Ziffern, z. B. BA123) oder ein ICAO-Betreiberpräfix (dreistelliges Präfix, z. B. BAW123). Die Antwort enthält Abflug- und Ankunftszeiten, Terminal, Gate, Check-in-Schalter und Gepäckband, sofern veröffentlicht.
Die Felder für Gate, Terminal, Gepäck und Check-in sind häufig leere Strings (""), bis die Fluggesellschaft oder der Flughafen sie veröffentlicht — nicht null. Behandeln Sie leere Strings in Ihrer UI als „unbekannt“; zeigen Sie sie nicht als Konfigurationsfehler an.
Die Abfrage über das ICAO-Präfix löst Betreibercodes anhand der Referenzdaten von SkyLink auf. Bevorzugen Sie IATA, wenn verfügbar — die Auflösung europäischer Betreiber ist weniger zuverlässig als die IATA-Abfrage großer Fluggesellschaften.
Anfrage
Voraussetzungen
x-api-key bei jeder Anfrage (Direktabonnement). Mehr erfahren →https://data.skylinkapi.com/v3.1/flight_status/{flight_number}| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
flight_number | string | Ja | Flugnummer im IATA-Format (BA123) oder als ICAO-Betreiberpräfix + Ziffern (BAW123) |
Antwort
{
"flight_number": "BA 123",
"airline": "British Airways",
"status": "En Route",
"departure": {
"airport": "EGLL",
"airport_full": "London Heathrow Airport",
"scheduled_time": "10:30",
"scheduled_date": "11 Feb",
"actual_time": "10:35",
"actual_date": "11 Feb",
"terminal": "5",
"gate": "A12",
"checkin": ""
},
"arrival": {
"airport": "KJFK",
"airport_full": "John F Kennedy International Airport",
"scheduled_time": "14:45",
"scheduled_date": "11 Feb",
"estimated_time": "14:50",
"estimated_date": "11 Feb",
"terminal": "7",
"gate": "B15",
"baggage": ""
}
}Felder der obersten Ebene
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
flight_number | string | Ja | Flugnummer zur Anzeige, z. B. "BA 123" |
airline | string | Ja | Anzeigename der Fluggesellschaft |
status | string | Ja | Aktuelle Statusbezeichnung — als Anzeigetext behandeln, nicht als festes Enum |
departure | object | Ja | Informationen zu Abflughafen und Gate |
arrival | object | Ja | Informationen zu Ankunftsflughafen und Gate |
Objekt departure
| Feld | Typ | Erforderlich | Hinweise |
|---|---|---|---|
airport | string | Ja | Flughafencode (IATA oder ICAO) |
airport_full | string | Ja | Vollständiger Name des Flughafens |
scheduled_time | string | Ja | Planmäßige Abflugzeit (Ortszeit) |
scheduled_date | string | Ja | Planmäßiges Abflugdatum (Ortszeit) |
actual_time | string | Ja | Tatsächliche oder zuletzt bekannte Abflugzeit |
actual_date | string | Ja | Datum zu actual_time |
terminal | string | Ja | Kann "" sein, wenn nicht veröffentlicht |
gate | string | Ja | Kann "" sein, wenn unbekannt |
checkin | string | Ja | Kann "" sein, wenn nicht angegeben |
Objekt arrival
| Feld | Typ | Erforderlich | Hinweise |
|---|---|---|---|
airport | string | Ja | Code des Ankunftsflughafens |
airport_full | string | Ja | Vollständiger Name des Flughafens |
scheduled_time | string | Ja | Planmäßige Ankunftszeit (Ortszeit) |
scheduled_date | string | Ja | Planmäßiges Ankunftsdatum (Ortszeit) |
estimated_time | string | Ja | Zuletzt geschätzte Ankunftszeit während des Fluges |
estimated_date | string | Ja | Datum zu estimated_time |
terminal | string | Ja | Kann "" sein, wenn nicht verfügbar |
gate | string | Ja | Kann "" sein, wenn unbekannt |
baggage | string | Ja | Gepäckband — kann "" sein, wenn nicht veröffentlicht |
Client-Typen
"""Flight status response models for /flight_status/{flight_number}."""from __future__ import annotationsfrom dataclasses import dataclass@dataclassclass FlightStatusRequest: """Request input for GET /flight_status/{flight_number}.""" flight_number: str@dataclassclass DepartureInfo: airport: str airport_full: str scheduled_time: str scheduled_date: str actual_time: str actual_date: str terminal: str gate: str checkin: str@dataclassclass ArrivalInfo: airport: str airport_full: str scheduled_time: str scheduled_date: str estimated_time: str estimated_date: str terminal: str gate: str baggage: str@dataclassclass FlightStatusResponse: flight_number: str airline: str status: str departure: DepartureInfo arrival: ArrivalInfoIntegration
Erstellen Sie mit einer einzigen Abfragefunktion eine kompakte Flugstatuskarte.
Das folgende Beispiel normalisiert die eingegebene Flugnummer für die Anzeige, setzt Timeouts für Verbindungsaufbau und Lesen und bildet die Antwort auf ein flaches View-Model für UI-Komponenten ab.
import osimport requestsBASE = "https://data.skylinkapi.com/v3.1"HEADERS = { "x-api-key": os.getenv("SKYLINK_API_KEY", "YOUR_API_KEY")}def fetch_flight_status(flight_number: str) -> dict: """Fetch a single flight status snapshot by flight number.""" r = requests.get( f"{BASE}/flight_status/{flight_number}", headers=HEADERS, timeout=(10, 15), ) r.raise_for_status() return r.json()if __name__ == "__main__": import json status = fetch_flight_status("AA100") print(json.dumps(status, indent=2, default=str))Hinweise zur Implementierung
Umgang mit fehlenden Gate- und Terminaldaten. Die Felder für Gate, Terminal, Gepäckband und Check-in-Schalter sind oft bis kurz vor Abflug oder Ankunft leere Strings. Blenden Sie sie aus oder zeigen Sie einen neutralen Platzhalter — kein Fehlerbanner.
Statusbezeichnungen. Codieren Sie kein vollständiges Status-Enum fest. Behandeln Sie nur die Fälle gesondert, die Ihre UI benötigt (z. B. Cancelled gegenüber Landed für die Farbcodierung).
Abfragehäufigkeit. Fragen Sie für Fluginformationstafeln für Endkunden alle 2–5 Minuten ab. Für Push-Aktualisierungen siehe Webhooks.
Fehlerantworten
Gemeinsame Plattformfehler finden Sie unter Fehlerbehandlung. Endpoint-spezifisch:
404 - Flug nicht gefunden
{
"detail": "Flight not found for number: BA123"
}Bedeutet in der Regel, dass der Flug heute nicht durchgeführt wird, die Nummer ungültig ist oder die vorgelagerte Quelle ihn noch nicht veröffentlicht hat. Dieser Endpoint hat keinen Datumsparameter — prüfen Sie den Betriebstag unter Flugpläne.
Your SkyLink licence key, for keys bought direct from skylinkapi.com.
In: header
Path Parameters
IATA flight number (BA123) or ATC callsign (BAW123, QTR31K, NOZ6PU)
2 <= length <= 10Response Body
application/json
application/json
curl -X GET "https://data.skylinkapi.com/v3.1/flight_status/UA100"{
"flight_number": "BA 123",
"airline": "British Airways",
"status": "En Route",
"departure": {
"airport": "EGLL",
"airport_full": "London Heathrow Airport",
"scheduled_time": "10:30",
"scheduled_date": "11 Feb",
"actual_time": "10:35",
"actual_date": "11 Feb",
"terminal": "5",
"gate": "A12",
"checkin": ""
},
"arrival": {
"airport": "KJFK",
"airport_full": "John F Kennedy International Airport",
"scheduled_time": "14:45",
"scheduled_date": "11 Feb",
"estimated_time": "14:50",
"estimated_date": "11 Feb",
"terminal": "7",
"gate": "B15",
"baggage": ""
}
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Siehe auch: Flugpläne · Flug-Briefing · Fluggesellschaften
Regionen
Referenzdaten zu Regionen nach ISO 3166-2 (Bundesstaaten/Provinzen) für Flughafenformulare und Validierung, mit Listen- und Code-Abfrage.
Flugpläne
Flugplan-API für Abflüge und Ankünfte an Flughäfen mit historischen und kurzfristig künftigen Zeitfenstern, inklusive anzeigetafelgerechter Zeilen.