Save up to 17% with yearly billing

See pricing

Fluggesellschaften

Fragen Sie eine Fluggesellschaft anhand des ICAO-Airline-Codes (3-Buchstaben-Kennung, z. B. BAW für British Airways) oder des IATA-Airline-Codes (2-Buchstaben-Code für Passagiere, z. B. BA) ab. Die Antwort enthält den Namen der Fluggesellschaft, das Telefonie-Rufzeichen (im Funkverkehr mit der Flugsicherung verwendetes Rufzeichen, z. B. SPEEDBIRD), das Land, den Aktivitätsstatus und, sofern verfügbar, eine von SkyLink gehostete Logo-URL. Verwenden Sie diesen Endpoint, um Zeilen von Flugplänen und Karten zum Flugstatus anzureichern.

Geben Sie genau einen Code an (icao oder iata). Werden beide gesendet, wird 400 zurückgegeben.

Wichtig: Unbekannte Codes geben HTTP 200 mit einem leeren Array [] zurück — nicht 404. Planen Sie in Ihrer Benutzeroberfläche einen Platzhalter für eine fehlende Fluggesellschaft ein, keinen Fehlerzustand.

Anfrage

Voraussetzungen

Auth
x-api-key bei jeder Anfrage (Direktabonnement). Mehr erfahren →
GEThttps://data.skylinkapi.com/v3.1/airlines/search
ParameterTypErforderlichStandardBeschreibung
icaostringEiner von icao / iata-ICAO-Airline-Code (3 Buchstaben), z. B. AAL
iatastringEiner von icao / iata-IATA-Airline-Code (2 Buchstaben), z. B. AA

Antwort

Der Endpoint gibt ein Array passender Fluggesellschaften zurück (bei einem gültigen Code in der Regel ein Element).

[
  {
    "id": 24,
    "name": "American Airlines",
    "alias": null,
    "iata": "AA",
    "icao": "AAL",
    "callsign": "AMERICAN",
    "country": "United States",
    "active": "Y",
    "logo": "https://media.skylinkapi.com/logos/AA.png"
  }
]

Airline-Objekt

FeldTypErforderlichNull?Beschreibung
idintegerJaNieNumerische Kennung des Datensatzes
namestringJaNieName der Fluggesellschaft
aliasstring | nullNeinJaAlternativer Name, sofern vorhanden
iatastring | nullNeinJaIATA-Code (2 Buchstaben)
icaostring | nullNeinJaICAO-Code (3 Buchstaben)
callsignstring | nullNeinJaICAO-Telefonie-Kennung
countrystring | nullNeinJaName des Landes auf Englisch
activestringJaNieY für aktiv, N für inaktiv/aufgelöst
logostring | nullNeinJaVon SkyLink gehostete Logo-URL, sofern verfügbar

Verhalten bei fehlenden Treffern

HTTP-StatusBodyBedeutung
200[]Keine passende Fluggesellschaft — Platzhalter anzeigen
400detail-StringCode fehlt oder beide Codes gesendet

Client-Typen

"""Airline lookup response models for /airlines/search."""from __future__ import annotationsfrom dataclasses import dataclass@dataclassclass AirlineLookupRequest:    """Query input for GET /airlines/search - provide one code."""    icao: str | None = None    iata: str | None = None@dataclassclass AirlineRecord:    id: int    name: str    alias: str | None    iata: str | None    icao: str | None    callsign: str | None    country: str | None    active: str    logo: str | None@dataclassclass AirlineSummary:    """Shape returned by airline_summary() helper."""    icao: str | None    iata: str | None    name: str    callsign: str | None    country: str | None    is_active: bool    logo: str | None

Integration

Lösen Sie eine Fluggesellschaft per ICAO-Code auf und bilden Sie sie für Flugplananzeigen auf ein kompaktes UI-Modell ab.

Das folgende Beispiel cacht Abfragen zu Fluggesellschaften 24 Stunden lang und verwendet explizite Timeouts, damit ein langsamer Upstream-Aufruf Ihren API-Worker nicht blockieren kann.

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]] = {}AIRLINE_TTL = 86_400  # 24 h@dataclassclass AirlineSummary:    icao: str | None    iata: str | None    name: str    callsign: str | None    country: str | None    is_active: bool    logo: str | Nonedef fetch_airline(*, icao: str | None = None, iata: str | None = None) -> dict | None:    if bool(icao) == bool(iata):        raise ValueError("Provide exactly one of icao or iata")    code = (icao or iata or "").upper()    key = f"airline:{icao or ''}:{iata or ''}"    cached = CACHE.get(key)    if cached and time.time() < cached[1]:        return cached[0]    params = {"icao": code} if icao else {"iata": code}    try:        r = requests.get(f"{BASE}/airlines/search", headers=HEADERS, params=params, timeout=(10, 15))    except requests.Timeout as exc:        raise RuntimeError(f"SkyLink timeout fetching airline {code}") from exc    if r.status_code == 404:        return None    r.raise_for_status()    items = r.json()    if not items:        return None    airline = items[0]    CACHE[key] = (airline, time.time() + AIRLINE_TTL)    return airlinedef airline_summary(icao: str) -> AirlineSummary | None:    airline = fetch_airline(icao=icao)    if not airline:        return None    return AirlineSummary(        icao=airline.get("icao"),        iata=airline.get("iata"),        name=airline["name"],        callsign=airline.get("callsign"),        country=airline.get("country"),        is_active=airline.get("active") == "Y",        logo=airline.get("logo"),    )if __name__ == "__main__":    import json    from dataclasses import asdict    summary = airline_summary("AAL")    print(json.dumps(asdict(summary), indent=2) if summary else "Airline not found")

Hinweise zur Implementierung

Inaktive Fluggesellschaften. Filtern Sie active: "N" heraus, sofern Ihre Funktion keine historischen Flüge benötigt.

Logo-Fallback. Behandeln Sie logo: null immer mit einem lokalen Platzhalter-Asset.

Bevorzugter Code. ICAO ist für operative Systeme stabiler; IATA eignet sich besser für Beschriftungen, die sich an Passagiere richten.

Fehlerantworten

Gemeinsame Plattformfehler finden Sie unter Fehlerbehandlung. Endpoint-spezifisch:

400 - fehlender Abfragecode

{
  "detail": "Either ICAO or IATA code must be provided"
}

400 - beide Codes angegeben

{
  "detail": "Provide either ICAO or IATA, not both"
}
GET
/airlines/search
x-api-key<token>

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

In: header

Query Parameters

icao?|

3-letter ICAO airline code

iata?|

2-letter IATA airline code

Response Body

application/json

application/json

curl -X GET "https://data.skylinkapi.com/v3.1/airlines/search"
[
  {
    "id": 1355,
    "name": "British Airways",
    "iata": "BA",
    "icao": "BAW",
    "callsign": "SPEEDBIRD",
    "country": "United Kingdom",
    "active": "Y",
    "logo": "https://media.skylinkapi.com/logos/BA.png"
  }
]
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Siehe auch: Flugpläne · Flugstatus · Flughäfen