# Länder

Länder-Referenzdaten für Flughafenintegrationen — nach Kontinent auflisten oder einen einzelnen Länderdatensatz per Code abrufen.



Länder-Referenzdaten nach [ISO 3166-1 alpha-2](https://www.iso.org/iso-3166-country-codes.html) für Flughafenformulare, Kontinentfilter und die Validierung von `iso_country` in Flughafendatensätzen. Zwei Operationen: alle Länder auflisten (optional nach Kontinent gefiltert) und ein einzelnes Land per Code abrufen. Liefert die Liste keine Treffer, wird `countries: []` mit HTTP `200` zurückgegeben.

| Endpoint                | Verwendung                                                           |
| ----------------------- | -------------------------------------------------------------------- |
| `GET /countries`        | Länderauswahlen befüllen oder Flughafenlisten nach Kontinent filtern |
| `GET /countries/{code}` | Einen einzelnen ISO-Code in eine kanonische Bezeichnung auflösen     |

<DocJumpNav>
  <DocJumpLink href="#list-countries" icon="solar:list-bold-duotone">
    Liste
  </DocJumpLink>

  <DocJumpLink href="#get-country-by-code" icon="solar:flag-bold-duotone">
    Nach Code
  </DocJumpLink>
</DocJumpNav>

## Länder auflisten [#list-countries]

Gibt alle Länder zurück, optional gefiltert nach Kontinentcode (`AF`, `AN`, `AS`, `EU`, `NA`, `OC`, `SA`).

### Anfrage [#request]

<DocRequirements>
  <DocRequirementAuth />
</DocRequirements>

<DocApiPath method="GET" path="/countries" />

| Parameter   | Typ    | Erforderlich | Standard        | Beschreibung                                             |
| ----------- | ------ | ------------ | --------------- | -------------------------------------------------------- |
| `continent` | string | Nein         | alle Kontinente | Kontinentcode (`AF`, `AN`, `AS`, `EU`, `NA`, `OC`, `SA`) |

### Antwort [#response]

```json
{
  "countries": [
    {
      "id": 302755,
      "code": "US",
      "name": "United States",
      "continent": null,
      "wikipedia_link": "https://en.wikipedia.org/wiki/United_States",
      "keywords": "American airports"
    }
  ],
  "total": 1
}
```

| Feld        | Typ     | Erforderlich | Null? | Beschreibung                          |
| ----------- | ------- | ------------ | ----- | ------------------------------------- |
| `countries` | array   | **Ja**       | Nie   | Passende Länderdatensätze             |
| `total`     | integer | **Ja**       | Nie   | Anzahl der zurückgegebenen Datensätze |

#### Länderelement (`countries[]`) [#country-item-countries]

| Feld             | Typ            | Erforderlich | Null?  | Beschreibung                       |
| ---------------- | -------------- | ------------ | ------ | ---------------------------------- |
| `id`             | integer        | **Ja**       | Nie    | Numerische Kennung des Datensatzes |
| `code`           | string         | **Ja**       | Nie    | Code nach ISO 3166-1 alpha-2       |
| `name`           | string         | **Ja**       | Nie    | Name des Landes                    |
| `continent`      | string \| null | Nein         | **Ja** | Kontinentcode, sofern zugewiesen   |
| `wikipedia_link` | string \| null | Nein         | **Ja** | Referenz-URL                       |
| `keywords`       | string \| null | Nein         | **Ja** | Freitext-Tags                      |

## Land per Code abrufen [#get-country-by-code]

Ruft ein einzelnes Land anhand des Codes nach [ISO 3166-1 alpha-2](https://www.iso.org/iso-3166-country-codes.html) ab (z. B. `US`, `GB`). Gibt `404` zurück, wenn der Code nicht gefunden wird.

### Anfrage [#request-1]

<DocApiPath method="GET" path="/countries/{code}" />

| Parameter | Typ    | Erforderlich | Beschreibung                           |
| --------- | ------ | ------------ | -------------------------------------- |
| `code`    | string | Ja           | Ländercode als Pfadparameter (alpha-2) |

### Antwort [#response-1]

```json
{
  "id": 302755,
  "code": "US",
  "name": "United States",
  "continent": null,
  "wikipedia_link": "https://en.wikipedia.org/wiki/United_States",
  "keywords": "American airports"
}
```

Gleiche Objektstruktur wie bei den Listenelementen. `continent`, `wikipedia_link` und `keywords` können `null` sein.

## Client-Typen [#client-types]

<DocClientTypes id="v31/countries/reference-types" />

## Integration [#integration]

Erstellen Sie eine validierte Liste von Länderoptionen für Flughafen- oder Routenfilter.

Das folgende Beispiel cacht die Länder-Referenzdaten 24 Stunden lang und verwendet explizite Timeouts, damit das Rendern von Formularen reaktionsschnell bleibt.

<DocExample id="v31/countries/list-fetch" />

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

**Filterung nach Kontinent.** Übergeben Sie `continent`, um die Datenmenge in regionsspezifischen Produkten zu reduzieren (z. B. nur `NA` und `EU`).

**Normalisierung von Codes.** Wandeln Sie Benutzereingaben vor der Abfrage in Großbuchstaben um (`us` → `US`), um fälschliche 404-Fehler zu vermeiden.

## Fehlerantworten [#error-responses]

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

### 404 - Land nicht gefunden [#404---country-not-found]

```json
{
  "detail": "Country 'XX' not found"
}
```

### 400 - ungültiger Kontinentfilter [#400---invalid-continent-filter]

```json
{
  "detail": "Invalid continent 'XX'. Valid values: AF, AN, AS, EU, NA, OC, SA"
}
```

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

***

Siehe auch: [Regionen](/docs/v31/regions) · [Flughäfen](/docs/v31/airports) · [Flughafensuche](/docs/v31/airport-search)
