# ADS-B-Flugzeug-Tracking

ADS-B-Positionen von Luftfahrzeugen in Echtzeit mit geografischen Filtern, Flottenstatistiken und Ingestion-Status für Live-Tracking-Integrationen.



Rufen Sie Live-Positionen von Luftfahrzeugen ab, filtern Sie sie für Ihren Kartenausschnitt und prüfen Sie den Zustand des [ADS-B](https://www.faa.gov/air_traffic/technology/adsb&#x29;-Feeds. &#x2A;*[ADS-B](https://www.faa.gov/air_traffic/technology/adsb)*&#x2A; (Automatic Dependent Surveillance–Broadcast) ist das Transpondersignal, mit dem ein Luftfahrzeug seine Identität und Position aussendet. Jeder Live-Datensatz enthält &#x2A;*[ICAO24](https://en.wikipedia.org/wiki/ICAO_24-bit_address)** (sechsstelliger Hex-Code, der den Transponder eines Luftfahrzeugs eindeutig identifiziert, z. B. `0A0022`), die Position, die **barometrische Höhe** (vom Druckhöhenmesser des Luftfahrzeugs gemessene Höhe in Fuß MSL), die Geschwindigkeit über Grund, den **Track** (Kurs über Grund in Grad rechtweisend) und die **Vertikalrate** (Steig- bzw. Sinkrate in Fuß pro Minute).

Die Daten werden alle paar Sekunden aktualisiert. Die Paginierung ist optional: Lassen Sie `limit` weg, um die vollständige Treffermenge zu erhalten (begrenzen Sie die Größe über Filter), oder übergeben Sie `limit` und `offset`, um große Ergebnismengen seitenweise abzurufen. Für statische Registerdaten zu einer Hex-Adresse verketten Sie mit der [Luftfahrzeugsuche](/docs/v31/aircraft-lookup#lookup-by-icao24). Für historische Tracks siehe [Historisches ADS-B](/docs/v31/historical-adsb).

<DocJumpNav>
  <DocJumpLink href="#live-aircraft" icon="solar:radar-2-bold-duotone">
    Live-Flugzeuge
  </DocJumpLink>

  <DocJumpLink href="#tracking-statistics" icon="solar:chart-2-bold-duotone">
    Statistiken
  </DocJumpLink>

  <DocJumpLink href="#service-health" icon="solar:heart-pulse-bold-duotone">
    Dienststatus
  </DocJumpLink>
</DocJumpNav>

<DocRequirements>
  <DocRequirementAuth />
</DocRequirements>

| Endpoint                        | Einsatzzweck                                                                                             |
| ------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `GET /adsb/aircraft`            | Live-Positionen — Kartenkacheln, Verkehrsanzeigen, gefilterte Feeds                                      |
| `GET /adsb/aircraft/statistics` | Flottenweite Kennzahlen — in der Luft vs. am Boden, Höhenstatistiken                                     |
| `GET /adsb/health`              | Feed-Status — Verbindungsstatus und Anzahl aktiver Luftfahrzeuge, bevor Sie eine Abfrageschleife starten |

## Live-Flugzeuge [#live-aircraft]

Liefert die aktuell verfolgten Luftfahrzeuge mit der neuesten Position und den Flugdaten. Jeder Datensatz enthält Position, Höhe, Geschwindigkeit über Grund, Track, Vertikalrate und, sofern verfügbar, Anreicherungsfelder.

### Anfrage [#request]

<DocApiPath method="GET" path="/adsb/aircraft" />

| Parameter      | Typ     | Erforderlich | Standard           | Beschreibung                                                                                                                               |
| -------------- | ------- | ------------ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `icao24`       | string  | Nein         | -                  | Filter nach sechsstelliger hexadezimaler Transponderadresse (Klein- oder Großbuchstaben; führende Nullen bleiben erhalten, z. B. `0A0022`) |
| `callsign`     | string  | Nein         | -                  | Teilübereinstimmung des Rufzeichens (ohne Beachtung der Groß-/Kleinschreibung), z. B. passt `DAH` zu `DAH2055`                             |
| `lat`          | number  | Nein         | -                  | Breitengrad des Mittelpunkts für die Umkreissuche (`-90` bis `90`)                                                                         |
| `lon`          | number  | Nein         | -                  | Längengrad des Mittelpunkts für die Umkreissuche (`-180` bis `180`)                                                                        |
| `radius`       | number  | Nein         | -                  | Suchradius in **Kilometern** (max. 1000)                                                                                                   |
| `bbox`         | string  | Nein         | -                  | Begrenzungsrahmen (Bounding Box) `lat1,lon1,lat2,lon2` — zuerst die SW-Ecke, dann NO. Beispiel: `51.2,-0.8,51.6,-0.2`                      |
| `min_alt`      | number  | Nein         | -                  | Mindesthöhe in Fuß                                                                                                                         |
| `max_alt`      | number  | Nein         | -                  | Maximalhöhe in Fuß                                                                                                                         |
| `min_speed`    | number  | Nein         | -                  | Mindestgeschwindigkeit über Grund in Knoten                                                                                                |
| `max_speed`    | number  | Nein         | -                  | Maximalgeschwindigkeit über Grund in Knoten                                                                                                |
| `registration` | string  | Nein         | -                  | Filter nach Kennzeichen                                                                                                                    |
| `airline`      | string  | Nein         | -                  | Filter nach Name der durchführenden Fluggesellschaft                                                                                       |
| `photos`       | boolean | Nein         | `false`            | Vorschaufotos abrufen (langsamer; max. 50 Luftfahrzeuge pro Seite)                                                                         |
| `limit`        | integer | Nein         | vollständige Menge | Seitengröße — weglassen, um alle Treffer zu erhalten                                                                                       |
| `offset`       | integer | Nein         | `0`                | Anzahl zu überspringender Einträge für die Paginierung                                                                                     |

**Regeln für die Kombination von Filtern** — die häufigste Ursache für `422`-Fehler:

| Suchmodus               | Erforderliche Parameter  | Hinweise                                         |
| ----------------------- | ------------------------ | ------------------------------------------------ |
| Kreis                   | `lat` + `lon` + `radius` | Alle drei zusammen                               |
| Rechteck                | `bbox`                   | Zuerst die SW-Ecke, dann NO                      |
| Keiner von beiden       | —                        | Kreis- und Bbox-Parameter **nicht** mischen      |
| Unvollständige Geodaten | —                        | `lat` ohne `lon` (oder umgekehrt) wird abgelehnt |

Kombinieren Sie Höhen- und Geschwindigkeitsfilter, um den Verkehr auf der Strecke herauszufiltern.

**Wichtig:** `photos&#x60; ist standardmäßig &#x2A;*`false`**. `photos=true` ist langsamer und auf 50 Luftfahrzeuge pro Seite begrenzt — aktivieren Sie die Option nur für Detailansichten, nicht für Kartenkacheln oder hochfrequente Abfragen.

### Antwort [#response]

```json
{
  "aircraft": [
    {
      "icao24": "0A0022",
      "callsign": "DAH2055",
      "latitude": 51.274109,
      "longitude": -0.675964,
      "altitude": 9075.0,
      "ground_speed": 298.3,
      "track": 153.09,
      "vertical_rate": 2880.0,
      "is_on_ground": false,
      "last_seen": "2026-06-16T14:21:45.674566",
      "first_seen": "2026-06-16T14:17:09.312068",
      "registration": "7T-VJP",
      "aircraft_type": "Boeing B738",
      "airline": "Air Algerie",
      "photo_url": null
    }
  ],
  "total_count": 67,
  "timestamp": "2026-06-16T14:21:49.178448"
}
```

| Feld          | Typ               | Erforderlich | Null? | Beschreibung                                        |
| ------------- | ----------------- | ------------ | ----- | --------------------------------------------------- |
| `aircraft`    | array             | **Ja**       | Nie   | Gefundene Luftfahrzeuge (kann leer sein)            |
| `total_count` | integer           | **Ja**       | Nie   | Anzahl der Luftfahrzeuge in dieser Antwort          |
| `timestamp`   | string (ISO 8601) | Nein         | Nie   | Zeitpunkt, zu dem die Momentaufnahme erstellt wurde |

#### Luftfahrzeug-Eintrag (`aircraft[]`) [#aircraft-item-aircraft]

| Feld            | Typ               | Erforderlich | Null?  | Beschreibung                                         |
| --------------- | ----------------- | ------------ | ------ | ---------------------------------------------------- |
| `icao24`        | string            | **Ja**       | Nie    | Hexadezimale 24-Bit-ICAO-Kennung                     |
| `callsign`      | string \| null    | Nein         | **Ja** | Rufzeichen des Flugs, sofern ausgesendet             |
| `latitude`      | number \| null    | Nein         | **Ja** | Breitengrad (WGS-84)                                 |
| `longitude`     | number \| null    | Nein         | **Ja** | Längengrad (WGS-84)                                  |
| `altitude`      | number \| null    | Nein         | **Ja** | Barometrische Höhe in Fuß MSL                        |
| `ground_speed`  | number \| null    | Nein         | **Ja** | Geschwindigkeit über Grund in Knoten                 |
| `track`         | number \| null    | Nein         | **Ja** | Kurswinkel über Grund in Grad (0–360)                |
| `vertical_rate` | number \| null    | Nein         | **Ja** | Vertikalrate in Fuß pro Minute                       |
| `is_on_ground`  | boolean \| null   | Nein         | **Ja** | `true`, wenn sich das Luftfahrzeug am Boden befindet |
| `last_seen`     | string (ISO 8601) | **Ja**       | Nie    | Zeitpunkt der letzten Beobachtung                    |
| `first_seen`    | string (ISO 8601) | **Ja**       | Nie    | Erstmals in der aktuellen Tracking-Sitzung erfasst   |
| `registration`  | string \| null    | Nein         | **Ja** | Kennzeichen, sofern aufgelöst                        |
| `aircraft_type` | string \| null    | Nein         | **Ja** | Typbeschreibung oder ICAO-Musterbezeichnung          |
| `airline`       | string \| null    | Nein         | **Ja** | Durchführende Fluggesellschaft, sofern aufgelöst     |
| `photo_url`     | string \| null    | Nein         | **Ja** | URL des Vorschaubilds bei `photos=true`              |

Anreicherungsfelder (`registration`, `aircraft_type`, `airline`) können `null` sein, wenn die Hex-Adresse nicht im Register enthalten ist oder dem Feed die Verknüpfung zum Rufzeichen fehlt.

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

## Tracking-Statistiken [#tracking-statistics]

Aggregierte Statistiken über die aktuell verfolgte Flotte — Gesamtzahl der Luftfahrzeuge, Anzahl am Boden vs. in der Luft sowie eine Höhenübersicht. Keine Parameter erforderlich. Nützlich für Monitoring-Dashboards.

### Anfrage [#request-1]

<DocApiPath method="GET" path="/adsb/aircraft/statistics" />

Keine Query- oder Pfadparameter.

### Antwort [#response-1]

```json
{
  "total_aircraft": 9889,
  "positioned_aircraft": 9889,
  "on_ground": 412,
  "airborne": 9477,
  "altitude_stats": {
    "min_altitude": 100.0,
    "max_altitude": 56600.0,
    "avg_altitude": 21338.04
  },
  "timestamp": "2026-06-16T14:21:50.116343"
}
```

| Feld                          | Typ               | Erforderlich | Null? | Beschreibung                                  |
| ----------------------------- | ----------------- | ------------ | ----- | --------------------------------------------- |
| `total_aircraft`              | integer           | **Ja**       | Nie   | Gesamtzahl der verfolgten Luftfahrzeuge       |
| `positioned_aircraft`         | integer           | **Ja**       | Nie   | Luftfahrzeuge mit bekannter Position          |
| `on_ground`                   | integer           | **Ja**       | Nie   | Als am Boden gekennzeichnete Luftfahrzeuge    |
| `airborne`                    | integer           | **Ja**       | Nie   | Als in der Luft gekennzeichnete Luftfahrzeuge |
| `altitude_stats`              | object            | **Ja**       | Nie   | Höhenübersicht der Flotte                     |
| `altitude_stats.min_altitude` | number            | **Ja**       | Nie   | Niedrigste gemeldete Höhe (Fuß)               |
| `altitude_stats.max_altitude` | number            | **Ja**       | Nie   | Höchste gemeldete Höhe (Fuß)                  |
| `altitude_stats.avg_altitude` | number            | **Ja**       | Nie   | Durchschnittliche Höhe über die Flotte (Fuß)  |
| `timestamp`                   | string (ISO 8601) | **Ja**       | Nie   | Zeitpunkt der Momentaufnahme                  |

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

## Dienststatus [#service-health]

Liefert den Verbindungsstatus von [ADS-B](https://www.faa.gov/air_traffic/technology/adsb) und die Anzahl aktiver Luftfahrzeuge. Für die Überwachung der Verfügbarkeit und für Vorabprüfungen, bevor Sie den Live-Feed abfragen.

### Anfrage [#request-2]

<DocApiPath method="GET" path="/adsb/health" />

Keine Query- oder Pfadparameter.

### Antwort [#response-2]

```json
{
  "status": "healthy",
  "connected": true,
  "active_aircraft_count": 9889,
  "connection_uptime": null,
  "last_message_received": "2026-06-16T14:21:46.212802"
}
```

| Feld                    | Typ                       | Erforderlich | Null?  | Beschreibung                                   |
| ----------------------- | ------------------------- | ------------ | ------ | ---------------------------------------------- |
| `status`                | string                    | **Ja**       | Nie    | Bezeichnung des Dienststatus, z. B. `healthy`  |
| `connected`             | boolean                   | **Ja**       | Nie    | Ob die Verbindung zum ADS-B-Hub aktiv ist      |
| `active_aircraft_count` | integer                   | **Ja**       | Nie    | Aktuell verfolgte Luftfahrzeuge                |
| `connection_uptime`     | number \| null            | Nein         | **Ja** | Verbindungsdauer in Sekunden, sofern verfügbar |
| `last_message_received` | string (ISO 8601) \| null | Nein         | **Ja** | Zeitstempel der letzten Nachricht aus dem Feed |

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

## Client-Typen [#client-types]

<DocClientTypes id="v31/adsb/live-types" />

## Integration [#integration]

Fragen Sie Live-Flugzeuge in der Nähe eines Flughafens für eine Verkehrsüberlagerung auf einer Karte ab.

Das folgende Beispiel führt eine Umkreissuche mit Seitenlimit durch, verwendet kurze Timeouts (10 s / 15 s) und bildet die Ergebnisse auf Kartenmarkierungen ab. Cachen Sie Live-Positionen nicht — fragen Sie je nach Kontingent und UX-Anforderungen alle 5–15 Sekunden ab.

<DocExample id="v31/adsb/live-fetch" />

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

**Abfrageintervall.** [ADS-B](https://www.faa.gov/air_traffic/technology/adsb)-Daten werden alle paar Sekunden aktualisiert. Häufigere Abfragen als etwa alle 5 s verbessern die Aktualität kaum und verbrauchen das Kontingent schnell.

**Eingegrenzte Abfragen.** Übergeben Sie für Kartenansichten immer `lat`/`lon`/`radius` oder `bbox` — ungefilterte globale Abfragen können sehr große Payloads liefern.

**Paginierung.** Verwenden Sie `limit` + `offset` beim Rendern von Tabellen. `total_count` gibt die Größe der aktuellen Seite wieder, nicht die Gesamtzahl der globalen Flotte.

**Lücken bei der Anreicherung.** `registration` und `aircraft_type` können bei militärischen, gesperrten oder nicht registrierten Hex-Codes `null` sein. Zeigen Sie ersatzweise Rufzeichen und [ICAO24](https://en.wikipedia.org/wiki/ICAO_24-bit_address) an.

**Kette Live → Leistungsdaten.** `aircraft_type` im Live-Feed ist oft eine Marketingbezeichnung (z. B. `"Boeing B738"`), keine ICAO-Musterbezeichnung. Um [Flugzeugleistungsdaten](/docs/v31/aircraft-performance) abzurufen, rufen Sie die [Luftfahrzeugsuche](/docs/v31/aircraft-lookup#lookup-by-icao24) mit `icao24` auf und verwenden `aircraft.icao_type` aus der Antwort des Registers.

**Normalisierung von [ICAO24](https://en.wikipedia.org/wiki/ICAO_24-bit_address).** Akzeptieren Sie sechsstellige Hex-Codes aus [ADS-B](https://www.faa.gov/air_traffic/technology/adsb)-Feeds; Groß- und Kleinschreibung sind gleichwertig. Füllen Sie kurze Adressen mit führenden Nullen auf, wenn Ihre Quelle sie weglässt.

## Fehlerantworten [#error-responses]

Zu plattformweiten Fehlern (Authentifizierung, Rate Limits, Serverfehler) siehe [Fehlerbehandlung](/docs/errors). Endpointspezifisches Verhalten:

### 404 — ICAO24-Filter ohne Treffer (Live-Flugzeuge) [#404--icao24-filter-not-found-live-aircraft]

Wenn nach `icao24` gefiltert wird und kein Luftfahrzeug passt:

```json
{
  "error": "Aircraft not found",
  "detail": "No aircraft found with ICAO24 000000",
  "timestamp": "2026-06-16T14:00:00Z"
}
```

Gilt nur, wenn `icao24` als Filter angegeben ist — nicht bei leeren Umkreissuchen.

### 422 — ungültige Filterkombination [#422--invalid-filter-combination]

```json
{
  "detail": [
    {
      "type": "greater_than",
      "loc": ["query", "radius"],
      "msg": "Input should be greater than 0"
    }
  ]
}
```

Tritt auf, wenn numerische Filter außerhalb des zulässigen Bereichs liegen (zum Beispiel `radius` ≤ 0 oder eine Höhe außerhalb von 0–60000 ft) oder wenn Kreis- und Bbox-Parameter gemischt werden.

***

Siehe auch: [Luftfahrzeugsuche](/docs/v31/aircraft-lookup) · [Historisches ADS-B](/docs/v31/historical-adsb) · [Flugstatus](/docs/v31/flight-status)
