ADS-B Aircraft Tracking
Get live aircraft positions from ADS-B receivers with optional filtering by ICAO24 hex, callsign, location radius, bounding box, altitude, speed, registration, or airline. Aircraft data is enriched from a 615,000+ record registry.
v2 limitation: No photos parameter on live aircraft — photo_url is always null. For thumbnail enrichment, use the v3 ADS-B API.
Requirements
x-api-key on every request (direct subscription). Learn more →| Endpoint | When to use |
|---|---|
GET /v2/adsb/aircraft | Live positions — map tiles, traffic boards, filtered feeds |
GET /v2/adsb/aircraft/statistics | Fleet-wide aggregates — airborne vs on-ground, altitude stats |
GET /v2/adsb/health | Feed health — connection status and active aircraft count |
Live aircraft
Request
https://data.skylinkapi.com/v2/adsb/aircraft| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
icao24 | string | No | - | Filter by 6-character hex transponder address |
callsign | string | No | - | Partial callsign match (case-insensitive) |
lat | number | No | - | Centre latitude for radius search |
lon | number | No | - | Centre longitude for radius search |
radius | number | No | - | Search radius in kilometres (max 1000) |
bbox | string | No | - | Bounding box lat1,lon1,lat2,lon2 — SW corner first |
min_alt | number | No | - | Minimum altitude in feet |
max_alt | number | No | - | Maximum altitude in feet |
min_speed | number | No | - | Minimum ground speed in knots |
max_speed | number | No | - | Maximum ground speed in knots |
registration | string | No | - | Filter by tail number |
airline | string | No | - | Filter by operating airline name |
v2 limitation: No photos, limit, or offset parameters — returns the full matched set (use geo filters to bound size). For pagination and optional aircraft photos, use v3 ADS-B.
Filter combination rules — do not mix circle and bbox:
| Mode | Parameters |
|---|---|
| Circle | lat + lon + radius (all three) |
| Rectangle | bbox only |
| None | No geo filter |
Response
{
"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"
}| Field | Type | Null? | Description |
|---|---|---|---|
icao24 | string | Never | ICAO 24-bit hex identifier |
callsign | string | Yes | Flight callsign |
latitude | number | Yes | WGS-84 latitude |
longitude | number | Yes | WGS-84 longitude |
altitude | number | Yes | Barometric altitude in feet MSL |
ground_speed | number | Yes | Ground speed in knots |
track | number | Yes | Track angle in degrees (0–360) |
vertical_rate | number | Yes | Vertical rate in feet per minute |
is_on_ground | boolean | Yes | true when on the surface |
last_seen | string | Never | Last observation time (ISO 8601) |
registration | string | Yes | Tail number when resolved |
aircraft_type | string | Yes | Type description |
airline | string | Yes | Operating airline |
photo_url | string | Yes | Always null in v2 |
Your SkyLink licence key, for keys bought direct from skylinkapi.com.
In: header
Query Parameters
Filter by specific ICAO 24-bit aircraft identifier (6 hex characters)
Filter by flight callsign (partial match, case-insensitive)
Center latitude for radius search (requires lon and radius)
Center longitude for radius search (requires lat and radius)
Search radius in kilometers (requires lat and lon)
Bounding box as 'lat1,lon1,lat2,lon2' (southwest,northeast corners)
Minimum altitude in feet
Maximum altitude in feet
Minimum ground speed in knots
Maximum ground speed in knots
Filter by aircraft registration (if enrichment data available)
Filter by operating airline (if enrichment data available)
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://data.skylinkapi.com/v2/adsb/aircraft"{
"aircraft": [
{
"icao24": "A12345",
"callsign": "BAW123",
"latitude": 51.4706,
"longitude": -0.4619,
"altitude": 35000,
"ground_speed": 450.5,
"track": 89.2,
"vertical_rate": 0,
"is_on_ground": false,
"last_seen": "2025-09-27T12:00:00Z",
"first_seen": "2025-09-27T11:45:00Z",
"registration": "G-ABCD",
"aircraft_type": "Boeing 777-300ER",
"airline": "British Airways"
}
],
"total_count": 4691,
"timestamp": "2025-09-27T12:00:30Z"
}{
"error": "string",
"detail": "string",
"timestamp": "2019-08-24T14:15:22Z"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}{
"error": "string",
"detail": "string",
"timestamp": "2019-08-24T14:15:22Z"
}Tracking statistics
Aggregate statistics about the currently tracked fleet — total aircraft, on-ground vs airborne counts, and altitude summary.
Request
https://data.skylinkapi.com/v2/adsb/aircraft/statisticsNo query or path parameters.
Response
{
"total_aircraft": 4691,
"positioned_aircraft": 4666,
"on_ground": 153,
"airborne": 4513,
"altitude_stats": {
"min_altitude": 125,
"max_altitude": 58500,
"avg_altitude": 25848.3
},
"timestamp": "2025-09-27T12:00:30Z"
}| Field | Type | Description |
|---|---|---|
total_aircraft | integer | Total tracked aircraft |
positioned_aircraft | integer | Aircraft with a known position |
on_ground | integer | Aircraft flagged on ground |
airborne | integer | Aircraft flagged airborne |
altitude_stats | object | Fleet altitude summary |
altitude_stats.min_altitude | number | Minimum reported altitude (feet) |
altitude_stats.max_altitude | number | Maximum reported altitude (feet) |
altitude_stats.avg_altitude | number | Mean altitude across fleet (feet) |
timestamp | string (ISO 8601) | Snapshot time |
Your SkyLink licence key, for keys bought direct from skylinkapi.com.
In: header
Response Body
application/json
application/json
application/json
curl -X GET "https://data.skylinkapi.com/v2/adsb/aircraft/statistics"{
"total_aircraft": 4691,
"positioned_aircraft": 4666,
"on_ground": 153,
"airborne": 4513,
"altitude_stats": {
"min_altitude": 125,
"max_altitude": 58500,
"avg_altitude": 25848.3
},
"timestamp": "2025-09-27T12:00:30Z"
}{
"error": "string",
"detail": "string",
"timestamp": "2019-08-24T14:15:22Z"
}{
"error": "string",
"detail": "string",
"timestamp": "2019-08-24T14:15:22Z"
}Service health
Returns ADS-B connection status and active aircraft count. Use for uptime monitoring before starting a polling loop.
Request
https://data.skylinkapi.com/v2/adsb/healthNo query or path parameters.
Response
{
"status": "healthy",
"connected": true,
"active_aircraft_count": 9889,
"connection_uptime": null,
"last_message_received": "2026-06-16T14:21:46.212802"
}| Field | Type | Null? | Description |
|---|---|---|---|
status | string | Never | Service status label, e.g. healthy |
connected | boolean | Never | Whether the ADS-B hub connection is active |
active_aircraft_count | integer | Never | Currently tracked aircraft |
connection_uptime | number | Yes | Uptime in seconds when available |
last_message_received | string (ISO 8601) | Yes | Last message timestamp from the feed |
Your SkyLink licence key, for keys bought direct from skylinkapi.com.
In: header
Response Body
application/json
application/json
application/json
curl -X GET "https://data.skylinkapi.com/v2/adsb/health"{
"status": "string",
"connected": true,
"active_aircraft_count": 0,
"connection_uptime": 0,
"last_message_received": "2019-08-24T14:15:22Z"
}{
"error": "string",
"detail": "string",
"timestamp": "2019-08-24T14:15:22Z"
}{
"error": "string",
"detail": "string",
"timestamp": "2019-08-24T14:15:22Z"
}Implementation notes
Polling interval. Poll live aircraft every 5–15 seconds. Faster polling rarely improves freshness.
Bounding queries. Always pass a geo filter for map views — unfiltered queries return large payloads.
Error responses
404 — ICAO24 filter not found (live aircraft)
When filtering by icao24 and no aircraft matches:
{
"error": "Aircraft not found",
"detail": "No aircraft found with ICAO24 000000"
}Related: v3 ADS-B · Getting Started