Save up to 17% with yearly billing

See pricing

Flugplatzkarten

Greifen Sie auf kategorisierte PDF-Links zu Flugplatzkarten (GEN, GND, SID, STAR, APP) für Flughäfen in 91 Ländern zu. Die passende nationale Kartenquelle wird automatisch anhand des ICAO-Präfixes ausgewählt – in den meisten Integrationen ist keine Überschreibung per source nötig. Die Antwortzeiten variieren je nach Land: Manche Quellen antworten in unter einer Sekunde, andere können 5–15 Sekunden benötigen.

Voraussetzungen

Auth
x-api-key bei jeder Anfrage (Direktabonnement). Mehr erfahren →
EndpointEinsatzzweck
GET /charts/sourcesUnterstützte Kartenregionen und ICAO-Präfixe ermitteln — siehe unten
GET /charts/{icao_code}Vollständiger kategorisierter Kartenindex — siehe unten
GET /charts/{icao_code}/{category}Einzelne Kategorie — nach Kategorie

Wahl des Endpoints. Rufen Sie GET /charts/sources einmal beim Start auf, um die Abdeckung zu prüfen. Verwenden Sie Karten abrufen für einen vollständigen Briefing-Index. Verwenden Sie Karten nach Kategorie, wenn Sie nur einen Kartentyp benötigen (z. B. APP für Anflugkarten-Panels).

Eine Kategorie ohne veröffentlichte Karten liefert ein leeres Array statt 404; ein völlig unbekannter Flughafen liefert 404.

Kartenkategorien

CodeInhalt
GENFlughafenplan und allgemeine Informationen
GNDKarten für Bodenbewegungen und Rollwege
SIDStandard-Instrumentenabflugverfahren
STARStandard-Instrumentenanflugrouten
APPAnflugverfahren - ILS, RNAV, VOR usw.

Kartenquellen

Liefert alle unterstützten Kartendatenquellen und die ICAO-Präfixe, die jede davon abdeckt. Rufen Sie den Endpoint einmal beim Start auf, um eine Quellenauswahl zu befüllen oder die Abdeckung vor dem Abruf von Karten zu prüfen.

Anfrage

GEThttps://data.skylinkapi.com/v3.1/charts/sources

Keine Query-Parameter.

Antwort

{
  "sources": [
    {
      "source_id": "uk",
      "name": "United Kingdom",
      "icao_prefixes": ["EG"]
    }
  ],
  "total_count": 91
}
FeldTypErforderlichBeschreibung
sourcesarrayJaUnterstützte nationale Kartenquellen
total_countintegerJaAnzahl der zurückgegebenen Quellen

Quelleneintrag (sources[])

FeldTypErforderlichBeschreibung
source_idstringJaQuellen-Slug, der an die optionale Überschreibung per Query-Parameter source übergeben wird
namestringJaLesbare Bezeichnung der Quelle
icao_prefixesarrayJaICAO-Ortskennungspräfixe, die diese Quelle abdeckt

Abdeckung

Karten sind für Flughäfen in 91 Ländern und Gebieten verfügbar. Die passende Kartenquelle wird automatisch anhand des ICAO-Präfixes des Flughafens ausgewählt.

Vollständige Abdeckungsliste nach RegionAbschnitt aufklappen
RegionLänder / Gebiete
AfrikaAlgerien, Kap Verde, Dschibuti, Marokko, Somalia, Südafrika, Südsudan
Afrika (West & Zentral - ASECNA)Benin, Burkina Faso, Kamerun, Zentralafrikanische Republik, Tschad, Komoren, Kongo, Côte d'Ivoire, Gabun, Guinea, Guinea-Bissau, Madagaskar, Mali, Mauretanien, Niger, Senegal, Togo
Amerika - NordKanada, Vereinigte Staaten
Amerika - MittelamerikaBelize, Costa Rica, El Salvador, Guatemala, Honduras, Nicaragua, Panama
Amerika - KaribikAruba, Kaimaninseln, Kuba, Dominikanische Republik, Haiti
Amerika - SüdArgentinien, Brasilien, Chile, Kolumbien, Uruguay, Venezuela
Asien - OstChina, Hongkong, Japan, Mongolei, Südkorea, Taiwan
Asien - SüdBangladesch, Bhutan, Indien, Malediven, Nepal, Pakistan, Sri Lanka
Asien - SüdostBrunei, Malaysia, Myanmar, Singapur, Thailand
Asien - ZentralKasachstan, Kirgisistan, Tadschikistan, Turkmenistan, Usbekistan
Naher OstenBahrain, Israel, Kuwait, Oman, Katar, Saudi-Arabien, VAE
Europa - WestÖsterreich, Belgien, Frankreich, Deutschland, Island, Irland, Luxemburg, Niederlande, Norwegen, Portugal, Spanien, Schweden, Vereinigtes Königreich
Europa - NordDänemark, Estland, Finnland, Lettland, Litauen
Europa - OstBelarus, Tschechien, Ungarn, Polen, Rumänien, Russland, Slowakei, Ukraine
Europa - SüdZypern, Georgien, Griechenland, Malta, Slowenien
Europa - BalkanAlbanien, Bosnien und Herzegowina, Kosovo, Nordmazedonien, Serbien
OzeanienAustralien, Neuseeland

Für die Zuordnung von ICAO-Präfixen zu Ländern verwenden Sie das Feld icao_prefixes des jeweiligen Quelleneintrags.

GET
/charts/sources
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/charts/sources"
{
  "sources": [
    {
      "source_id": "string",
      "name": "string",
      "icao_prefixes": [
        "string"
      ]
    }
  ],
  "total_count": 0
}

Karten für einen Flugplatz abrufen

Ruft alle kategorisierten PDF-Links zu Karten für einen ICAO-Code ab. Dreistellige US-Codes erhalten automatisch das Präfix K (z. B. JFK → KJFK).

Anfrage

GEThttps://data.skylinkapi.com/v3.1/charts/{icao_code}
ParameterTypErforderlichStandardBeschreibung
icao_codestringJa-ICAO-Flughafencode (3–4 Zeichen)
sourcestringNeinautoAutomatisch erkannte Kartenquelle überschreiben (z. B. faa, france, uk)

Planen Sie für Länder mit langsamerem Karten-Hosting längere Lese-Timeouts (30–60 s) ein.

Antwort

{
  "icao_code": "KJFK",
  "source": "faa",
  "charts": {
    "GND": [
      {
        "name": "KJFK - Airport Diagram",
        "url": "https://...",
        "category": "GND"
      }
    ],
    "SID": [
      {
        "name": "KENNEDY TWO",
        "url": "https://...",
        "category": "SID"
      }
    ]
  },
  "total_count": 42,
  "fetched_at": "2026-02-11T12:00:00Z"
}
FeldTypErforderlichNull?Beschreibung
icao_codestringJaNieAufgelöster ICAO-Code
sourcestringJaNieFür diesen Abruf verwendeter Kartenanbieter
chartsobjectNeinJaKarten nach Kategorie (GEN, GND, SID, STAR, APP)
total_countintegerJaNieGesamtzahl der Karten über alle Kategorien
fetched_atstringNeinJaISO-8601-Zeitstempel des Kartenabrufs

Karteneintrag (charts[category][])

FeldTypErforderlichBeschreibung
namestringJaKartentitel, wie von der Quelle veröffentlicht
urlstringJaDirekte URL zum Karten-PDF
categorystringJaEiner der Werte GEN, GND, SID, STAR, APP - siehe Kartenkategorien
GET
/charts/{icao_code}
x-api-key<token>

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

In: header

Path Parameters

icao_code*Icao Code

ICAO airport code (e.g., KJFK, EGLL, LFPG)

Length3 <= length <= 4

Query Parameters

source?|

Override auto-detected chart source (e.g., faa, france, uk)

Response Body

application/json

application/json

curl -X GET "https://data.skylinkapi.com/v3.1/charts/KJFK"
{
  "icao_code": "KJFK",
  "source": "faa",
  "charts": {
    "GND": [
      {
        "name": "KJFK - Airport Diagram",
        "url": "https://...",
        "category": "GND"
      }
    ],
    "SID": [
      {
        "name": "KENNEDY TWO",
        "url": "https://...",
        "category": "SID"
      }
    ]
  },
  "total_count": 42,
  "fetched_at": "2026-02-11T12:00:00Z"
}
Empty
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Karten nach Kategorie

Ruft für einen Flughafen nur die Karten einer einzelnen Kategorie (GEN, GND, SID, STAR oder APP) ab. Die Hülle der Antwort entspricht dem oben beschriebenen Endpoint für alle Karten, charts enthält jedoch nur den Schlüssel der angefragten Kategorie.

Anfrage

GEThttps://data.skylinkapi.com/v3.1/charts/{icao_code}/{category}
ParameterTypErforderlichStandardBeschreibung
icao_codestringJa-ICAO-Flughafencode (3–4 Zeichen)
categorystringJa-Kartenkategorie: GEN, GND, SID, STAR oder APP
sourcestringNeinautoAutomatisch erkannte Kartenquelle überschreiben

Antwort

Gleiche Struktur wie die Antwort für alle Karten, wobei charts auf die angefragte Kategorie beschränkt ist. Ein leeres Kategorie-Array ist eine normale Erfolgsantwort. Karteneinträge verwenden dieselbe Feldtabelle wie unter Karteneintrag.

Wichtig: Fehlende Kategorie → leeres Array in einer 200-Antwort. Unbekannter Flughafen → 404. Planen Sie für Länder mit langsamerem Karten-Hosting längere Lese-Timeouts (30–60 s) ein.

GET
/charts/{icao_code}/{category}
x-api-key<token>

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

In: header

Path Parameters

icao_code*Icao Code

ICAO airport code

Length3 <= length <= 4
category*ChartCategory

Chart category to filter by

Value in"GEN" | "GND" | "SID" | "STAR" | "APP"

Query Parameters

source?|

Override auto-detected chart source

Response Body

application/json

application/json

curl -X GET "https://data.skylinkapi.com/v3.1/charts/KJFK/approach"
{
  "icao_code": "string",
  "source": "string",
  "charts": {
    "property1": [
      {
        "name": "string",
        "url": "string",
        "category": "GEN"
      }
    ],
    "property2": [
      {
        "name": "string",
        "url": "string",
        "category": "GEN"
      }
    ]
  },
  "total_count": 0,
  "fetched_at": "2019-08-24T14:15:22Z"
}
Empty
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Client-Typen

"""Aerodrome chart response models for /charts/* endpoints."""from __future__ import annotationsfrom dataclasses import dataclassfrom typing import LiteralChartCategory = Literal["GEN", "GND", "SID", "STAR", "APP"]@dataclassclass Chart:    name: str    url: str    category: str@dataclassclass ChartsResponse:    icao_code: str    source: str    total_count: int    charts: dict[str, list[Chart]] | None = None    fetched_at: str | None = None@dataclassclass SourceInfo:    source_id: str    name: str    icao_prefixes: list[str]@dataclassclass SourcesResponse:    sources: list[SourceInfo]    total_count: int@dataclassclass ChartLink:    name: str    url: str    category: str

Integration

Anflugkarten für ein Briefing-Panel abrufen und in eine flache Liste von Download-Links umwandeln.

Das folgende Beispiel speichert Kartenantworten 24 Stunden im Cache, da sich Kartenveröffentlichungen selten ändern. Die Lese-Timeouts sind auf 45 s verlängert, weil einige Länder langsam antworten. Die Hilfsfunktion liefert eine flache ChartLink-Liste und behandelt 404 als „keine Karten verfügbar“ statt als harten Fehler.

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]] = {}CHARTS_TTL = 86_400  # 24 hChartCategory = str  # GEN | GND | SID | STAR | APP@dataclassclass ChartLink:    name: str    url: str    category: ChartCategorydef fetch_charts(icao: str, *, category: str | None = None) -> dict | None:    icao = icao.upper().strip()    if len(icao) == 3:        icao = f"K{icao}"    key = f"charts:{icao}:{category or 'all'}"    cached = CACHE.get(key)    if cached and time.time() < cached[1]:        return cached[0]    path = f"{BASE}/charts/{icao}"    if category:        path = f"{path}/{category.upper()}"    try:        r = requests.get(path, headers=HEADERS, timeout=(10, 45))    except requests.Timeout as exc:        raise RuntimeError(f"SkyLink timeout fetching charts for {icao}") from exc    if r.status_code == 404:        return None    r.raise_for_status()    data = r.json()    CACHE[key] = (data, time.time() + CHARTS_TTL)    return datadef chart_links(icao: str, *, category: str | None = None) -> list[ChartLink]:    data = fetch_charts(icao, category=category)    if not data:        return []    charts_by_cat: dict = data.get("charts") or {}    if category:        items = charts_by_cat.get(category.upper(), [])    else:        items = [c for group in charts_by_cat.values() for c in group]    return [        ChartLink(name=item["name"], url=item["url"], category=item["category"])        for item in items    ]if __name__ == "__main__":    import json    links = chart_links("KJFK", category="APP")    print(json.dumps(links[:5], indent=2, default=str))

Hinweise zur Implementierung

US-Code-Präfix. Übergeben Sie JFK oder KJFK – beides wird bei US-Flughäfen zu KJFK aufgelöst.

Filtern nach Kategorie. Verwenden Sie Karten nach Kategorie mit APP, wenn Sie nur Anflugkarten benötigen; so vermeiden Sie das Herunterladen von SID/STAR-Metadaten, die Sie nicht anzeigen.

PDF-Auslieferung. Die url-Werte der Karten verweisen auf gehostete PDF-Dateien. Öffnen Sie sie in einem neuen Tab oder leiten Sie sie über Ihren Server weiter (Proxy), wenn Sie ein einheitliches CORS-Verhalten benötigen.

Leer vs. 404. Fehlende Kategorie → leeres Array in einer 200-Antwort. Unbekannter Flughafen → 404.

Fehlerantworten

Plattformweite Fehler: Fehlerbehandlung. Endpoint-spezifisch:

422 - ungültige Kategorie oder ICAO-Länge

{
  "detail": [
    {
      "type": "enum",
      "loc": ["path", "category"],
      "msg": "Input should be 'GEN', 'GND', 'SID', 'STAR' or 'APP'"
    }
  ]
}

404 - keine Karten für den Flughafen

Wird zurückgegeben, wenn Skylink in keiner konfigurierten Quelle Karten für den ICAO-Code finden kann.


Siehe auch: Flughäfen · Flug-Briefing · Briefing-PDF