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
x-api-key bei jeder Anfrage (Direktabonnement). Mehr erfahren →| Endpoint | Einsatzzweck |
|---|---|
GET /charts/sources | Unterstü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
| Code | Inhalt |
|---|---|
GEN | Flughafenplan und allgemeine Informationen |
GND | Karten für Bodenbewegungen und Rollwege |
SID | Standard-Instrumentenabflugverfahren |
STAR | Standard-Instrumentenanflugrouten |
APP | Anflugverfahren - 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
https://data.skylinkapi.com/v3.1/charts/sourcesKeine Query-Parameter.
Antwort
{
"sources": [
{
"source_id": "uk",
"name": "United Kingdom",
"icao_prefixes": ["EG"]
}
],
"total_count": 91
}| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
sources | array | Ja | Unterstützte nationale Kartenquellen |
total_count | integer | Ja | Anzahl der zurückgegebenen Quellen |
Quelleneintrag (sources[])
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
source_id | string | Ja | Quellen-Slug, der an die optionale Überschreibung per Query-Parameter source übergeben wird |
name | string | Ja | Lesbare Bezeichnung der Quelle |
icao_prefixes | array | Ja | ICAO-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
| Region | Länder / Gebiete |
|---|---|
| Afrika | Algerien, 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 - Nord | Kanada, Vereinigte Staaten |
| Amerika - Mittelamerika | Belize, Costa Rica, El Salvador, Guatemala, Honduras, Nicaragua, Panama |
| Amerika - Karibik | Aruba, Kaimaninseln, Kuba, Dominikanische Republik, Haiti |
| Amerika - Süd | Argentinien, Brasilien, Chile, Kolumbien, Uruguay, Venezuela |
| Asien - Ost | China, Hongkong, Japan, Mongolei, Südkorea, Taiwan |
| Asien - Süd | Bangladesch, Bhutan, Indien, Malediven, Nepal, Pakistan, Sri Lanka |
| Asien - Südost | Brunei, Malaysia, Myanmar, Singapur, Thailand |
| Asien - Zentral | Kasachstan, Kirgisistan, Tadschikistan, Turkmenistan, Usbekistan |
| Naher Osten | Bahrain, 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 - Nord | Dänemark, Estland, Finnland, Lettland, Litauen |
| Europa - Ost | Belarus, Tschechien, Ungarn, Polen, Rumänien, Russland, Slowakei, Ukraine |
| Europa - Süd | Zypern, Georgien, Griechenland, Malta, Slowenien |
| Europa - Balkan | Albanien, Bosnien und Herzegowina, Kosovo, Nordmazedonien, Serbien |
| Ozeanien | Australien, Neuseeland |
Für die Zuordnung von ICAO-Präfixen zu Ländern verwenden Sie das Feld icao_prefixes des jeweiligen Quelleneintrags.
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
https://data.skylinkapi.com/v3.1/charts/{icao_code}| Parameter | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|
icao_code | string | Ja | - | ICAO-Flughafencode (3–4 Zeichen) |
source | string | Nein | auto | Automatisch 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"
}| Feld | Typ | Erforderlich | Null? | Beschreibung |
|---|---|---|---|---|
icao_code | string | Ja | Nie | Aufgelöster ICAO-Code |
source | string | Ja | Nie | Für diesen Abruf verwendeter Kartenanbieter |
charts | object | Nein | Ja | Karten nach Kategorie (GEN, GND, SID, STAR, APP) |
total_count | integer | Ja | Nie | Gesamtzahl der Karten über alle Kategorien |
fetched_at | string | Nein | Ja | ISO-8601-Zeitstempel des Kartenabrufs |
Karteneintrag (charts[category][])
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
name | string | Ja | Kartentitel, wie von der Quelle veröffentlicht |
url | string | Ja | Direkte URL zum Karten-PDF |
category | string | Ja | Einer der Werte GEN, GND, SID, STAR, APP - siehe Kartenkategorien |
Your SkyLink licence key, for keys bought direct from skylinkapi.com.
In: header
Path Parameters
ICAO airport code (e.g., KJFK, EGLL, LFPG)
3 <= length <= 4Query Parameters
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"
}{
"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
https://data.skylinkapi.com/v3.1/charts/{icao_code}/{category}| Parameter | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|
icao_code | string | Ja | - | ICAO-Flughafencode (3–4 Zeichen) |
category | string | Ja | - | Kartenkategorie: GEN, GND, SID, STAR oder APP |
source | string | Nein | auto | Automatisch 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.
Your SkyLink licence key, for keys bought direct from skylinkapi.com.
In: header
Path Parameters
ICAO airport code
3 <= length <= 4Chart category to filter by
"GEN" | "GND" | "SID" | "STAR" | "APP"Query Parameters
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"
}{
"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: strIntegration
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