# Fluggesellschaften

Referenzdaten von Fluggesellschaften per ICAO- oder IATA-Code abfragen, inklusive Rufzeichen, Land, Aktivstatus und Logo-URL, sofern verfügbar.



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](/docs/v31/schedules) und Karten zum [Flugstatus](/docs/v31/flight-status) 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 [#request]

<DocRequirements>
  <DocRequirementAuth />
</DocRequirements>

<DocApiPath method="GET" path="/airlines/search" />

| Parameter | Typ    | Erforderlich              | Standard | Beschreibung                                  |
| --------- | ------ | ------------------------- | -------- | --------------------------------------------- |
| `icao`    | string | Einer von `icao` / `iata` | -        | ICAO-Airline-Code (3 Buchstaben), z. B. `AAL` |
| `iata`    | string | Einer von `icao` / `iata` | -        | IATA-Airline-Code (2 Buchstaben), z. B. `AA`  |

## Antwort [#response]

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

```json
[
  {
    "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 [#airline-object]

| Feld       | Typ            | Erforderlich | Null?  | Beschreibung                                     |
| ---------- | -------------- | ------------ | ------ | ------------------------------------------------ |
| `id`       | integer        | **Ja**       | Nie    | Numerische Kennung des Datensatzes               |
| `name`     | string         | **Ja**       | Nie    | Name der Fluggesellschaft                        |
| `alias`    | string \| null | Nein         | **Ja** | Alternativer Name, sofern vorhanden              |
| `iata`     | string \| null | Nein         | **Ja** | IATA-Code (2 Buchstaben)                         |
| `icao`     | string \| null | Nein         | **Ja** | ICAO-Code (3 Buchstaben)                         |
| `callsign` | string \| null | Nein         | **Ja** | ICAO-Telefonie-Kennung                           |
| `country`  | string \| null | Nein         | **Ja** | Name des Landes auf Englisch                     |
| `active`   | string         | **Ja**       | Nie    | `Y` für aktiv, `N` für inaktiv/aufgelöst         |
| `logo`     | string \| null | Nein         | **Ja** | Von SkyLink gehostete Logo-URL, sofern verfügbar |

### Verhalten bei fehlenden Treffern [#not-found-semantic]

| HTTP-Status | Body            | Bedeutung                                              |
| ----------- | --------------- | ------------------------------------------------------ |
| `200`       | `[]`            | Keine passende Fluggesellschaft — Platzhalter anzeigen |
| `400`       | `detail`-String | Code fehlt oder beide Codes gesendet                   |

## Client-Typen [#client-types]

<DocClientTypes id="v31/airlines/lookup-types" />

## Integration [#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.

<DocExample id="v31/airlines/lookup-fetch" />

### Hinweise zur Implementierung [#implementation-notes]

**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 [#error-responses]

Gemeinsame Plattformfehler finden Sie unter [Fehlerbehandlung](/docs/errors). Endpoint-spezifisch:

### 400 - fehlender Abfragecode [#400---missing-lookup-code]

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

### 400 - beide Codes angegeben [#400---both-codes-provided]

```json
{
  "detail": "Provide either ICAO or IATA, not both"
}
```

<APIPage document="&#x22;https://api.skylinkapi.com/v3.1/openapi.json&#x22;" operations="[{&#x22;path&#x22;:&#x22;/airlines/search&#x22;,&#x22;method&#x22;:&#x22;get&#x22;}]" />

***

Siehe auch: [Flugpläne](/docs/v31/schedules) · [Flugstatus](/docs/v31/flight-status) · [Flughäfen](/docs/v31/airports)
