Save up to 17% with yearly billing

See pricing

Flugpläne

Abflug- und Ankunftspläne eines Flughafens für ein Zeitfenster. Beide Operationen liefern dieselbe Struktur für Flugzeilen mit einem direction-Diskriminator (departures oder arrivals). Standardmäßig liefert die API anstehende Flüge für etwa die nächsten 12 Stunden und kann im Hintergrund weitere Seiten abrufen.

Geeignet für Flughafen-Anzeigetafeln, Dispatch-Dashboards und Batch-ETL. Geben Sie pro Anfrage genau eine Flughafenkennung an (icao oder iata).

Wichtig: Die Schlüssel der Flugzeilen verwenden Title Case — Time, Flight, Status, nicht time, flight, status. Der Zugriff auf kleingeschriebene Schlüssel liefert undefined.

Anfrage

Voraussetzungen

Auth
x-api-key bei jeder Anfrage (Direktabonnement). Mehr erfahren →

Abflüge

GEThttps://data.skylinkapi.com/v3.1/schedules/departures

Ankünfte

GEThttps://data.skylinkapi.com/v3.1/schedules/arrivals
ParameterTypErforderlichStandardBeschreibung
icaostringEines von icao / iata-Vierstelliger ICAO-Flughafencode, z. B. KJFK, EGLL
iatastringEines von icao / iata-Dreistelliger IATA-Flughafencode, z. B. JFK, LHR
datestringNeinaktuelles DatumDatum im Format DD-MM-YYYY. Bereich: 5 Tage zurück bis 1 Tag voraus
timestringNeinaktuelle UhrzeitUhrzeit im Format HH:MM. Erfordert date, wenn angegeben
tsintegerNein-Unix-Zeitstempel in Millisekunden. Überschreibt date und time, wenn gesetzt

Bevorzugen Sie ts für programmatisches Polling — so vermeiden Sie Formatierungsfehler durch Gebietsschema und Zeitzone in Cronjobs und Serverless-Workern.

Antwort

Beide Operationen verwenden dieselbe Antwortstruktur. Das Feld direction entspricht der aufgerufenen Operation.

Beispiel für Abflüge

{
  "iata": "MXP",
  "direction": "departures",
  "airport_code": "LIMC",
  "flights": [
    {
      "Time": "16:05",
      "Date": "11 Feb",
      "IATA": "ICN",
      "Destination": "Seoul",
      "Flight": "C84093",
      "Airline": "Federal Airlines",
      "Status": "Estimated 16:39"
    }
  ],
  "total_flights": 85,
  "pages_fetched": 3
}

Beispiel für Ankünfte

{
  "iata": "MXP",
  "direction": "arrivals",
  "airport_code": "LIMC",
  "flights": [
    {
      "Time": "16:20",
      "Date": "11 Feb",
      "IATA": "RAK",
      "Origin": "Marrakech",
      "Flight": "EC3929",
      "Airline": "easyJet Europe",
      "Status": "Landed 16:15"
    }
  ],
  "total_flights": 72,
  "pages_fetched": 3
}

Felder der Antwortstruktur

FeldTypErforderlichBeschreibung
iatastringJaIATA-Code des angefragten Flughafens, sofern bekannt
directionstringJadepartures oder arrivals
airport_codestringJaEcho Ihrer Anfrage — ICAO, wenn Sie icao übergeben, IATA, wenn Sie iata übergeben
flightsarrayJaFlugplanzeilen (kann leer sein)
total_flightsintegerJaGesamtzahl der Flüge im abgefragten Zeitfenster
pages_fetchedintegerJaIm Hintergrund abgerufene Seiten

Flugzeilen-Objekt (flights[])

JSON-Pfad: flights[]. Schlüsselnamen sind in Title Case geschrieben.

FeldTypErforderlichBeschreibung
TimestringJaPlanmäßige Ortszeit
DatestringJaLokale Datumsangabe, z. B. 11 Feb
IATAstringJaIATA-Code des Gegenflughafens
DestinationstringNur AbflügeBezeichnung von Zielstadt/-flughafen
OriginstringNur AnkünfteBezeichnung von Herkunftsstadt/-flughafen
FlightstringJaFlugnummer wie auf Anzeigetafeln
AirlinestringJaAnzeigename der Fluggesellschaft
StatusstringJaStatus als Freitext, z. B. Estimated 16:39, Landed 16:15

Client-Typen

"""Schedules response models for /schedules/departures and /schedules/arrivals."""from __future__ import annotationsfrom dataclasses import dataclass@dataclassclass SchedulesRequest:    """Query input shared by both schedules endpoints."""    icao: str | None = None    iata: str | None = None    date: str | None = None    time: str | None = None    ts: int | None = None@dataclassclass ScheduleFlight:    Time: str    Date: str    IATA: str    Flight: str    Airline: str    Status: str    Destination: str | None = None    Origin: str | None = None@dataclassclass SchedulesResponse:    iata: str    direction: str    airport_code: str    flights: list[ScheduleFlight]    total_flights: int    pages_fetched: int

Integration

Rufen Sie Abflüge ab und normalisieren Sie die Schlüssel in Title Case in eine flache Struktur für Anzeigetafeleinträge.

Das folgende Beispiel erzwingt icao xor iata, verwendet timeoutsichere Anfragen für Batch-Polling und bildet Zeilen auf stabile interne Schlüssel ab.

import osimport requestsBASE = "https://data.skylinkapi.com/v3.1"HEADERS = {    "x-api-key": os.getenv("SKYLINK_API_KEY", "YOUR_API_KEY")}def fetch_schedules(direction: str, *, icao: str | None = None, iata: str | None = None) -> dict:    """Fetch airport schedules for arrivals or departures."""    if bool(icao) == bool(iata):        raise ValueError("Provide exactly one of icao or iata")    if direction not in {"arrivals", "departures"}:        raise ValueError("direction must be arrivals or departures")    code = icao.upper() if icao else (iata or "").upper()    params = {"icao": code} if icao else {"iata": code}    r = requests.get(f"{BASE}/schedules/{direction}", headers=HEADERS, params=params, timeout=(10, 20))    r.raise_for_status()    return r.json()if __name__ == "__main__":    import json    data = fetch_schedules("departures", icao="KJFK")    flights = data.get("flights") or []    print(json.dumps({"count": len(flights), "sample": flights[:3]}, indent=2, default=str))

Hinweise zur Implementierung

Status-Parsing. Status ist Anzeigetext aus der Flugplanquelle. Parsen Sie ihn zurückhaltend, wenn Sie strukturierte Zustände benötigen.

Paginierung. Beginnen Sie mit dem Standardzeitfenster; größere Vorausschau-Bereiche erhöhen die Latenz.

Details zu einzelnen Flügen. Für Gate und Terminal eines einzelnen Flugs verwenden Sie Flugstatus.

Fehlerantworten

Zu allgemeinen Fehlern siehe Fehlerbehandlung. Endpoint-spezifisch:

422 - ungültiges Datum/ungültige Uhrzeit oder fehlender Flughafencode

{
  "detail": [
    {
      "type": "value_error",
      "loc": ["query", "date"],
      "msg": "Invalid date format. Expected DD-MM-YYYY."
    }
  ]
}
GET
/schedules/departures
x-api-key<token>

Your SkyLink licence key, for keys bought direct from skylinkapi.com.

In: header

Query Parameters

icao?|

4-letter ICAO airport code (e.g. KJFK, EGLL)

iata?|

3-letter IATA airport code (e.g. JFK, LHR)

date?|

Date in DD-MM-YYYY format (e.g. 11-02-2026). Range: 5 days back to 1 day forward.

time?|

Time in HH:MM format (e.g. 14:30). Requires date parameter.

ts?|

Unix timestamp in milliseconds (alternative to date/time).

Response Body

application/json

application/json

curl -X GET "https://data.skylinkapi.com/v3.1/schedules/departures"
{
  "iata": "MXP",
  "direction": "departures",
  "airport_code": "LIMC",
  "flights": [
    {
      "Time": "16:05",
      "Date": "11 Feb",
      "IATA": "ICN",
      "Destination": "Seoul",
      "Flight": "C84093",
      "Airline": "Federal Airlines",
      "Status": "Estimated 16:39"
    }
  ],
  "total_flights": 85,
  "pages_fetched": 3
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}
GET
/schedules/arrivals
x-api-key<token>

Your SkyLink licence key, for keys bought direct from skylinkapi.com.

In: header

Query Parameters

icao?|

4-letter ICAO airport code (e.g. KJFK, EGLL)

iata?|

3-letter IATA airport code (e.g. JFK, LHR)

date?|

Date in DD-MM-YYYY format (e.g. 11-02-2026). Range: 5 days back to 1 day forward.

time?|

Time in HH:MM format (e.g. 14:30). Requires date parameter.

ts?|

Unix timestamp in milliseconds (alternative to date/time).

Response Body

application/json

application/json

curl -X GET "https://data.skylinkapi.com/v3.1/schedules/arrivals"
{
  "iata": "MXP",
  "direction": "arrivals",
  "airport_code": "LIMC",
  "flights": [
    {
      "Time": "16:20",
      "Date": "11 Feb",
      "IATA": "RAK",
      "Origin": "Marrakech",
      "Flight": "EC3929",
      "Airline": "easyJet Europe",
      "Status": "Landed 16:15"
    }
  ],
  "total_flights": 72,
  "pages_fetched": 3
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Siehe auch: Flugstatus · Flughäfen · Fluggesellschaften