Save up to 17% with yearly billing

See pricing

Flughafenverkehr

Rekonstruieren Sie historische Ankünfte und Abflüge an einem Flughafen für ein bestimmtes Zeitfenster. Verwenden Sie diesen Endpoint für Betriebsanalysen, Kapazitätsplanung und Dashboards zur Leistung von Fluggesellschaften — nicht für Echtzeit-Flugpläne (siehe Flugpläne).

Tarifstufen: Hub für historische ADS-B-Daten.

Voraussetzungen

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

Pro, Ultra oder Mega — verwenden Sie das Pfadpräfix, das zum benötigten Zeitfenster passt.

Mehr erfahren →

Anfrage

GEThttps://data.skylinkapi.com/v3.1/ultra/history/airport/{icao}/traffic
ParameterTypErforderlichStandardBeschreibung
icaostringJa-ICAO-Code des Flughafens (4 Zeichen)
startstringNeinvor 24 hBeginn des Zeitfensters — ISO 8601
endstringNeinjetztEnde des Zeitfensters — ISO 8601
directionstringNeinbothdep, arr oder both
limitintegerNein100Max. Anzahl zurückgegebener Flüge (max. 1.000 auf dem ULTRA-Pfad)

Das Abfragefenster darf bei /ultra/history/... 90 Tage nicht überschreiten.

MEGA-Pfad (`/mega/history/...`)Abschnitt aufklappen
GEThttps://data.skylinkapi.com/v3.1/mega/history/airport/{icao}/traffic
ParameterTypErforderlichStandardBeschreibung
icaostringJa-ICAO-Code des Flughafens
startstringNeinvor 24 hBeginn des Zeitfensters — ISO 8601 (max. 365 Tage Spanne auf dem MEGA-Pfad)
endstringNeinjetztEnde des Zeitfensters
directionstringNeinbothdep, arr oder both
limitintegerNein200Max. Anzahl zurückgegebener Flüge (max. 2.000 auf dem MEGA-Pfad)

Erfordert den Tarif Ultra oder Mega. Gleiche Antwortstruktur wie bei ULTRA.

Antwort

{
  "icao": "EGLL",
  "direction": "both",
  "count": 1,
  "flights": [
    {
      "flight_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "icao24": "4006f2",
      "callsign": "BAW117",
      "flight_number": "BAW117",
      "aircraft_type_icao": "B77W",
      "airline_name": "British Airways",
      "departure_airport_icao": "EGLL",
      "departure_airport_iata": "LHR",
      "arrival_airport_icao": "KJFK",
      "arrival_airport_iata": "JFK",
      "flight_state": "ARCHIVED",
      "takeoff_time": "2026-05-12T09:10:00Z",
      "landing_time": "2026-05-12T09:28:00Z",
      "flight_duration_min": 18.0,
      "distance_nm": 205.7
    }
  ]
}
FeldTypErforderlichBeschreibung
icaostringJaICAO-Code des abgefragten Flughafens
directionstringJaAngewendeter Filter — dep, arr oder both
countintegerJaAnzahl der Elemente in flights
flightsarrayJaPassende Ankünfte/Abflüge

Verkehrsflug (flights[])

Jedes Element verwendet dieselben Flughafen- und Zeitfelder wie die Flugzusammenfassung.

FeldTypErforderlichNull?Beschreibung
flight_idstringJaNieUUID für Detail- und Track-Abfragen
icao24string | nullNeinJaHex-Code des Luftfahrzeugs
callsignstring | nullNeinJaADS-B-Rufzeichen
flight_numberstring | nullNeinJaNormalisierte Flugnummer, sofern ermittelt
aircraft_type_icaostring | nullNeinJaICAO-Typcode
airline_namestring | nullNeinJaAnzeigename der Fluggesellschaft
departure_airport_icaostring | nullNeinJaICAO-Code des Abflughafens
departure_airport_iatastring | nullNeinJaIATA-Code des Abflughafens
arrival_airport_icaostring | nullNeinJaICAO-Code des Zielflughafens
arrival_airport_iatastring | nullNeinJaIATA-Code des Zielflughafens
flight_statestring | nullNeinJaArchivstatus (z. B. ARCHIVED)
takeoff_timestring | nullNeinJaStartzeit (ISO 8601)
landing_timestring | nullNeinJaLandezeit (ISO 8601)
flight_duration_minnumber | nullNeinJaDauer in Minuten
distance_nmnumber | nullNeinJaEntfernung in nautischen Meilen

Client-Typen

"""Typed models for Historical ADS-B - matches historical-adsb.mdx field tables."""from __future__ import annotationsfrom dataclasses import dataclassfrom typing import Literal@dataclassclass HistoricalFlightSummary:    flight_id: str    icao24: str | None    callsign: str | None    flight_number: str | None    tail_number: str | None    departure_airport_icao: str | None    arrival_airport_icao: str | None    flight_start: str    flight_end: str    takeoff_time: str | None    landing_time: str | None    flight_duration_min: float | None    distance_nm: float | None@dataclassclass HistoricalPosition:    timestamp: str    icao24: str    latitude: float    longitude: float    altitude_baro: float | None    ground_speed: float | None    track: float | None    vertical_rate: float | None    is_on_ground: bool@dataclassclass HistoricalFlightWindow:    flight_id: str    callsign: str | None    departure_airport_icao: str | None    arrival_airport_icao: str | None    takeoff_time: str | None    landing_time: str | None    flight_start: str    flight_end: str    flight_state: str | None@dataclassclass AirportTrafficFlight:    flight_id: str    icao24: str | None    callsign: str | None    departure_airport_icao: str | None    arrival_airport_icao: str | None    takeoff_time: str | None    landing_time: str | None    flight_duration_min: float | None    distance_nm: float | None@dataclassclass AirportTrafficResponse:    icao: str    direction: Literal["dep", "arr", "both"]    count: int    flights: list[AirportTrafficFlight]

Integration

Rekonstruieren Sie Ankünfte und Abflüge an einem Drehkreuz-Flughafen für ein gewähltes Zeitfenster. Das folgende Beispiel ruft 48 Stunden Verkehr in beide Richtungen in EGLL ab, filtert nur die Abflüge heraus und gruppiert sie nach Fluggesellschaft. Für rollierende 90-Tage-Fenster, die direction: arr und limit: 2000 pro Batch benötigen, erweitern Sie es auf den MEGA-Pfad.

import osfrom datetime import datetime, timedelta, timezoneimport requestsBASE = "https://data.skylinkapi.com/v3.1"HEADERS = {    "x-api-key": os.getenv("SKYLINK_API_KEY") or os.getenv("SKYLINK_API_KEY", "YOUR_API_KEY")}def fetch_airport_traffic(icao: str, *, direction: str = "both", tier: str = "ultra", hours: int = 24) -> dict:    now = datetime.now(timezone.utc)    start = (now - timedelta(hours=hours)).strftime("%Y-%m-%dT%H:%M:%SZ")    end = now.strftime("%Y-%m-%dT%H:%M:%SZ")    r = requests.get(        f"{BASE}/{tier}/history/airport/{icao.upper()}/traffic",        headers=HEADERS,        params={"start": start, "end": end, "direction": direction, "limit": 50},        timeout=(10, 30),    )    r.raise_for_status()    return r.json()if __name__ == "__main__":    import json    data = fetch_airport_traffic("EGLL")    print(json.dumps({"icao": data.get("icao"), "count": data.get("count")}, indent=2))

Hinweise zur Implementierung

Wichtig: Bei direction: both leiten Sie die Bewegungsrichtung ab, indem Sie departure_airport_icao und arrival_airport_icao mit dem abgefragten icao vergleichen — entspricht departure_airport_icao dem abgefragten Flughafen, handelt es sich um einen Abflug; entspricht arrival_airport_icao ihm, handelt es sich um eine Ankunft. Verlassen Sie sich nicht auf die Reihenfolge der Liste.

Filterung nach Richtung. Fragen Sie dep oder arr statt both an, wenn Sie nur eine Bewegungsart benötigen — die Antwort ist kleiner und leichter zu paginieren.

Paginierung. Wenn count dem angefragten limit entspricht, verkleinern Sie das start/end-Fenster oder erhöhen Sie limit (bis 1.000 bei ULTRA, 2.000 bei MEGA) und führen Sie die Ergebnisse über sich überlappende Fenster zusammen.

Fehlerantworten

401/403 durch Tarifbeschränkungen: Hub für historische ADS-B-Daten. Endpoint-spezifisch:

422 — Zeitfenster zu groß

Wird zurückgegeben, wenn die Spanne zwischen start und end das Maximum des Pfads überschreitet — 90 Tage bei /ultra/history/... oder 365 Tage bei /mega/history/...:

{
  "detail": "Query window exceeds maximum of 90 days for your plan on /ultra/history/..."
}
GET
/ultra/history/airport/{icao}/traffic
x-api-key<token>

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

In: header

Path Parameters

icao*Icao

Query Parameters

start?|

Start datetime ISO 8601. Defaults to 24 h ago.

end?|

End datetime ISO 8601. Defaults to now.

direction?Direction

Filter direction: 'dep', 'arr', or 'both'

Default"both"
limit?Limit

Max records (default 100, max 1000)

Default100
Range1 <= value <= 1000

Response Body

application/json

application/json

curl -X GET "https://data.skylinkapi.com/v3.1/ultra/history/airport/KJFK/traffic"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}
GET
/mega/history/airport/{icao}/traffic
x-api-key<token>

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

In: header

Path Parameters

icao*Icao

Query Parameters

start?|

Start datetime ISO 8601. Defaults to 24 h ago.

end?|

End datetime ISO 8601. Defaults to now.

direction?Direction

'dep', 'arr', or 'both'

Default"both"
limit?Limit

Max records (default 200, max 2000)

Default200
Range1 <= value <= 2000

Response Body

application/json

application/json

curl -X GET "https://data.skylinkapi.com/v3.1/mega/history/airport/KJFK/traffic"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}