Save up to 17% with yearly billing

See pricing

FAA-Verspätungen

Rufen Sie aktive Verspätungsprogramme des FAA National Airspace System (NAS — ziviler Luftraum der USA) für Flughäfen in den USA und in US-Territorien ab. Verwenden Sie den landesweiten Feed für Betriebs-Dashboards und den flughafenbezogenen Feed, um Abflugtafeln, Crew-Benachrichtigungen und Passagierinformationen zu ergänzen.

Verspätungskategorien:

CodeNameBeschreibung
GDPGround Delay ProgramZuflusssteuerung der Ankünfte an einer Einrichtung — enthält Strings für durchschnittliche und maximale Verspätung
GSGround StopZurückhalten von Abflügen zu einer bestimmten Einrichtung
ClosureSchließung von Flughafen/ProgrammEinrichtung geschlossen oder eingeschränkt
AFPAirspace Flow ProgramVerkehrsflussmanagement mit Umleitungen auf ARTCC-Ebene

Die Abdeckung beschränkt sich auf Flughäfen im Zuständigkeitsbereich der FAA — die kontinentalen USA, Alaska, Hawaii, Puerto Rico, die Amerikanischen Jungferninseln, Guam und weitere US-Territorien im Pazifik. Für internationale Verspätungsinformationen kombinieren Sie die Daten mit Flugstatus und Betriebsdaten der Fluggesellschaften.

Wichtig: Die Arrays der Antwort sind immer vorhanden, können aber leer sein — total_alerts: 0 mit einem message-String ist eine gültige Antwort „keine aktiven Programme“, kein Fehler. Speichern Sie Ergebnisse nicht länger als 2–5 Minuten im Cache — GDP- und GS-Programme ändern sich sehr kurzfristig.

EndpointEinsatzzweck
GET /delays/faaBetriebskarte — alle aktiven GDP-, GS-, Schließungs- und AFP-Meldungen
GET /delays/faa/{icao}Flughafendetails — Verspätungen, die einen US-Flughafen betreffen

Alle aktuellen FAA-Verspätungen

Liefert alle aktiven FAA-NAS-Verspätungen landesweit.

Anfrage

Voraussetzungen

Auth
x-api-key bei jeder Anfrage (Direktabonnement). Mehr erfahren →
GEThttps://data.skylinkapi.com/v3.1/delays/faa

Keine Query-Parameter. Liefert die aktuellen Verspätungsprogramme der FAA; die Daten werden bei jeder Anfrage aktualisiert.

Antwort

{
  "ground_delays": [
    {
      "airport": "KSFO",
      "airport_name": null,
      "reason": "low ceilings",
      "avg_delay": "34 minutes",
      "max_delay": "1 hour and 25 minutes"
    }
  ],
  "ground_stops": [],
  "closures": [
    {
      "airport": "KJFK",
      "airport_name": null,
      "reason": "!JFK 06/158 JFK AD AP CLSD TO TRANSIENT GA ACFT EXC 24HR PPR ...",
      "begin": "Jun 11 at 16:30 UTC.",
      "reopen": "Jul 22 at 03:59 UTC."
    }
  ],
  "airspace_flow_programs": [],
  "total_alerts": 8,
  "message": null
}
FeldTypErforderlichNull?Beschreibung
ground_delaysarrayJaNieAktive GDP-Einträge
ground_stopsarrayJaNieAktive Ground Stops
closuresarrayJaNieSchließungen von Flughäfen/Programmen
airspace_flow_programsarrayJaNieAirspace Flow Programs der ARTCCs
total_alertsintegerNeinNieSumme aller Meldungszeilen (Standardwert 0)
messagestringNeinJaStatustext, wenn keine Verspätungen aktiv sind

Ground Delay (ground_delays[])

FeldTypErforderlichNull?Beschreibung
airportstringJaNieICAO- oder FAA-Kennung des Flughafens
airport_namestringNeinJaName des Flughafens, sofern angegeben
reasonstringJaNieGrund der Verspätung (häufig Wetter oder Verkehrsaufkommen)
avg_delaystringNeinJaDurchschnittliche Verspätungsdauer (menschenlesbar)
max_delaystringNeinJaMaximale Verspätungsdauer

Ground Stop (ground_stops[])

FeldTypErforderlichNull?Beschreibung
airportstringJaNieBetroffener Flughafen
airport_namestringNeinJaName des Flughafens, sofern verfügbar
reasonstringJaNieGrund des Stopps
end_timestringNeinJaErwartetes Ende (UTC)

Schließung (closures[])

FeldTypErforderlichNull?Beschreibung
airportstringJaNieBetroffener Flughafen
airport_namestringNeinJaName des Flughafens, sofern verfügbar
reasonstringJaNieGrund der Schließung (enthält häufig NOTAM-Text)
beginstringNeinJaBeginn der Schließung (UTC, menschenlesbar)
reopenstringNeinJaErwarteter Zeitpunkt der Wiedereröffnung

Airspace Flow Program (airspace_flow_programs[])

FeldTypErforderlichNull?Beschreibung
facilitystringJaNieKennung der ATC-Einrichtung (ARTCC — Streckenkontrollzentrale), kein Flughafencode
reasonstringJaNieGrund des Programms
fca_startstringNeinJaBeginn der Flow Constrained Area
fca_endstringNeinJaEnde der Flow Constrained Area

Wichtig: Airspace Flow Programs verwenden facility (ARTCC) statt eines Flughafencodes — kennzeichnen Sie sie in den Texten Ihrer UI eindeutig, damit Benutzer AFP-Zeilen nicht mit flughafenspezifischen Verspätungen verwechseln.

GET
/delays/faa
x-api-key<token>

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

In: header

Response Body

application/json

curl -X GET "https://data.skylinkapi.com/v3.1/delays/faa"
{
  "ground_delays": [
    {
      "airport": "KEWR",
      "reason": "WEATHER / THUNDERSTORMS",
      "avg_delay": "1 hour and 30 minutes",
      "max_delay": "2 hours"
    }
  ],
  "ground_stops": [],
  "closures": [],
  "airspace_flow_programs": [],
  "total_alerts": 1
}

Verspätungen für einen bestimmten Flughafen

Liefert aktive FAA-Verspätungen, gefiltert nach einem bestimmten US-Flughafen anhand seines ICAO-Codes. Airspace Flow Programs (auf ARTCC-Ebene) sind vollständig enthalten, da sie den angefragten Flughafen indirekt betreffen können.

Anfrage

Voraussetzungen

Auth
x-api-key bei jeder Anfrage (Direktabonnement). Mehr erfahren →
GEThttps://data.skylinkapi.com/v3.1/delays/faa/{icao}
ParameterTypErforderlichBeschreibung
icaostringJaVierstelliger US-ICAO-Code (z. B. KJFK)

Antwort

Gleiche Hülle wie bei Alle aktuellen FAA-Verspätungen, wobei die Arrays auf den angefragten Flughafen gefiltert sind (zuzüglich relevanter AFP-Zeilen).

{
  "ground_delays": [],
  "ground_stops": [],
  "closures": [
    {
      "airport": "KJFK",
      "airport_name": null,
      "reason": "!JFK 06/158 JFK AD AP CLSD TO TRANSIENT GA ACFT EXC 24HR PPR ...",
      "begin": "Jun 11 at 16:30 UTC.",
      "reopen": "Jul 22 at 03:59 UTC."
    }
  ],
  "airspace_flow_programs": [],
  "total_alerts": 1,
  "message": null
}
GET
/delays/faa/{icao}
x-api-key<token>

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

In: header

Path Parameters

icao*Icao

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

Length4 <= length <= 4

Response Body

application/json

application/json

curl -X GET "https://data.skylinkapi.com/v3.1/delays/faa/KJFK"
{
  "ground_delays": [
    {
      "airport": "string",
      "airport_name": "string",
      "reason": "string",
      "avg_delay": "string",
      "max_delay": "string"
    }
  ],
  "ground_stops": [
    {
      "airport": "string",
      "airport_name": "string",
      "reason": "string",
      "end_time": "string"
    }
  ],
  "closures": [
    {
      "airport": "string",
      "airport_name": "string",
      "reason": "string",
      "begin": "string",
      "reopen": "string"
    }
  ],
  "airspace_flow_programs": [
    {
      "facility": "string",
      "reason": "string",
      "fca_start": "string",
      "fca_end": "string"
    }
  ],
  "total_alerts": 0,
  "message": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Client-Typen

"""FAA NAS delay response models for /delays/faa endpoints."""from __future__ import annotationsfrom dataclasses import dataclassfrom typing import Literal@dataclassclass GroundDelay:    airport: str    reason: str    airport_name: str | None = None    avg_delay: str | None = None    max_delay: str | None = None@dataclassclass GroundStop:    airport: str    reason: str    airport_name: str | None = None    end_time: str | None = None@dataclassclass Closure:    airport: str    reason: str    airport_name: str | None = None    begin: str | None = None    reopen: str | None = None@dataclassclass AirspaceFlowProgram:    facility: str    reason: str    fca_start: str | None = None    fca_end: str | None = None@dataclassclass FaaDelayResponse:    ground_delays: list[GroundDelay]    ground_stops: list[GroundStop]    closures: list[Closure]    airspace_flow_programs: list[AirspaceFlowProgram]    total_alerts: int = 0    message: str | None = NoneDelayKind = Literal["GDP", "GS", "Closure", "AFP"]@dataclassclass DelayAlert:    kind: DelayKind    airport: str    reason: str    avg_delay: str | None    max_delay: str | None

Integration

Fragen Sie FAA-Verspätungen pro Flughafen regelmäßig ab und führen Sie sie für eine Abflugtafel in einer einheitlichen Meldungsliste zusammen.

Das folgende Beispiel speichert Antworten 2 Minuten im Cache, da sich Verspätungsprogramme bei Wetterereignissen häufig ändern. Jede Anfrage verwendet explizite Timeouts (10 s Verbindungsaufbau / 20 s Lesen). Die Hilfsfunktion führt GDP-, GS-, Schließungs- und AFP-Zeilen in einer einzigen DelayAlert-Liste für die Darstellung als Badges zusammen.

import osimport timefrom dataclasses import dataclassimport requestsHEADERS = {    "x-api-key": os.getenv("SKYLINK_API_KEY", "YOUR_API_KEY")}BASE = "https://data.skylinkapi.com/v3.1"CACHE: dict[str, tuple[dict, float]] = {}DELAY_TTL = 120  # 2 min - FAA feed is real-time@dataclassclass DelayAlert:    kind: str    airport: str    reason: str    avg_delay: str | None    max_delay: str | Nonedef fetch_faa_delays(icao: str | None = None) -> dict:    key = f"delays:{icao or 'all'}"    cached = CACHE.get(key)    if cached and time.time() < cached[1]:        return cached[0]    path = f"{BASE}/delays/faa/{icao.upper()}" if icao else f"{BASE}/delays/faa"    try:        r = requests.get(path, headers=HEADERS, timeout=(10, 20))    except requests.Timeout as exc:        raise RuntimeError("SkyLink timeout fetching FAA delays") from exc    r.raise_for_status()    data = r.json()    CACHE[key] = (data, time.time() + DELAY_TTL)    return datadef delay_alerts(icao: str | None = None) -> list[DelayAlert]:    data = fetch_faa_delays(icao)    alerts: list[DelayAlert] = []    for item in data.get("ground_delays", []):        alerts.append(            DelayAlert(                kind="GDP",                airport=item["airport"],                reason=item["reason"],                avg_delay=item.get("avg_delay"),                max_delay=item.get("max_delay"),            )        )    for item in data.get("ground_stops", []):        alerts.append(            DelayAlert(kind="GS", airport=item["airport"], reason=item["reason"], avg_delay=None, max_delay=None)        )    for item in data.get("closures", []):        alerts.append(            DelayAlert(kind="Closure", airport=item["airport"], reason=item["reason"], avg_delay=None, max_delay=None)        )    for item in data.get("airspace_flow_programs", []):        alerts.append(            DelayAlert(                kind="AFP",                airport=item["facility"],                reason=item["reason"],                avg_delay=None,                max_delay=None,            )        )    return alertsif __name__ == "__main__":    import json    delays = fetch_faa_delays("KJFK")    print(json.dumps(delays, indent=2, default=str))

Hinweise zur Implementierung

Menschenlesbare Dauern. avg_delay und max_delay sind Strings (z. B. "34 minutes") — parsen Sie sie zurückhaltend oder zeigen Sie sie unverändert an.

Leere Antworten. total_alerts: 0 mit gesetztem message kann bedeuten, dass landesweit keine Programme aktiv sind — zeigen Sie einen Leerzustand an, kein Fehlerbanner.

Fehlerantworten

Gemeinsame Plattformfehler: Fehlerbehandlung. Endpoint-spezifisch:

422 — ungültige ICAO-Länge

{
  "detail": [
    {
      "type": "string_too_short",
      "loc": ["path", "icao"],
      "msg": "String should have at least 4 characters"
    }
  ]
}

Integrationsleitfäden

LeitfadenInhalt
NOTAMsÜbersichtstabelle, Flugplatzfilter, Prüfung vor dem Flug
FAA-VerspätungenLandesweiter Überblick, Hub-Dashboard
FehlerbehandlungLeere Arrays, Abdeckung nur für die USA
Caching & MonitoringTTLs von 5 min für NOTAMs / 2 min für FAA

Siehe auch: NOTAMs · Flugstatus · Flugpläne