IVAO Traffics
Required roles:
AIS PIB API— Roles
Base endpoint:https://ais-pib-api.ibosoft.net.tr:2087/ivao-traffics
Reference documents: none
Attribution: showibonav.aerowherever this data is displayed
Data sources: IVAO.
Last updated: 17 OCT 2026Depending on your use, the original data sources may also need to be credited.
Live traffic of the IVAO virtual network: aircraft and their trails, ATC stations with their sector polygons, observers, aerodromes with inbound/outbound flights, and IVAO special areas and NOTAM areas — all filterable by bounding box.
This is virtual-network data for flight simulation only; it is not real-world traffic. The traffic is refreshed every 15 seconds (only when IVAO has published new data); special areas and NOTAM areas every 5 minutes; the aerodrome list at 00:02 and 12:02 UTC.
Endpoints
| Endpoint | Description |
|---|---|
GET /ivao-traffics/update-time |
Time of the current traffic data (light; poll this) |
GET /ivao-traffics/aircraft |
Pilots and Follow Me vehicles |
GET /ivao-traffics/trails |
Trail of one aircraft |
GET /ivao-traffics/atc |
ATC stations (with sector polygon) and observers |
GET /ivao-traffics/airports |
Aerodromes with flights (inbound/outbound) |
GET /ivao-traffics/areas/update-time |
Time of the current special area / NOTAM area data |
GET /ivao-traffics/areas |
Special areas and NOTAM areas (polygons) |
Poll /update-time (and /areas/update-time), and reload the lists only when the time changes.
Parameters
bbox (all list endpoints)
bbox=minLat,minLon,maxLat,maxLon (optional). minLon > maxLon means a box crossing the antimeridian. An invalid value gives 400; it never falls back to "everything".
Points (aircraft, Follow Me, observers, ATC without a polygon, aerodromes) are filtered by their position; polygons (ATC with a sector, areas) by the intersection of their bounding envelope with the box.
/trails
| Parameter | Description |
|---|---|
userId |
IVAO user ID |
callsign |
Callsign |
Both are needed; otherwise the list is empty.
Response
/update-time, /areas/update-time
{"updatedAt": "2026-03-28T06:17:23.479399270Z"}
null until the first data has arrived. The area time changes only when the area content changes.
/aircraft
{
"updatedAt": "2026-03-28T06:17:23.479Z",
"connections": {"total": 267, "pilot": 255, "atc": 11, "observer": 0, "worldTour": 63, "followMe": 1, "uniqueUsers24h": 3826},
"count": 42,
"aircraft": ["…"],
"followMeCount": 0,
"followMe": ["…"]
}
Example: GET /ivao-traffics/aircraft?bbox=35,25,45,45
/trails
{
"updatedAt": "2026-03-28T06:17:23.479Z",
"count": 1,
"trails": [{"userId": 612345, "callsign": "THY123", "points": [[37.123, 28.456, 35000, 270, 450, 1743180000.0]]}]
}
Each point is [lat, lon, altitude_ft, heading_deg, speed_kt, unix_timestamp]. A trail is kept for up to 24 hours; one with fewer than 2 points is not returned. A trail survives 2 missed updates (30 seconds); a new callsign of the same user starts a new trail.
/atc
{
"updatedAt": "2026-03-28T06:17:23.479Z",
"connections": {"…": "…"},
"atcCount": 3,
"observerCount": 0,
"atcs": [{"id": 63588906, "callsign": "EHAM_A_TWR", "…": "…", "sector": [[4.5, 52.1], [4.9, 52.1], [4.9, 52.4], [4.5, 52.1]]}],
"observers": ["…"]
}
sector is a closed [lon, lat] ring — the area IVAO assigns to the position (e.g. the control zone for a tower, the TMA for an approach, the FIR or sub-centre for a centre) — or null when there is none. Rings are closed, rings with invalid coordinates or fewer than 3 distinct points are dropped, and rings crossing the antimeridian use longitudes above 180°. An ATC that connected after the last sector update has no polygon until the next one.
/airports
{
"updatedAt": "2026-03-28T06:17:23.479Z",
"count": 1,
"airports": [{
"icao": "LTFJ", "name": "Sabiha Gokcen", "divisionId": "TR", "latitude": 40.898, "longitude": 29.309,
"inbound": [{"callsign": "PGT334", "departureId": "LHBP", "aircraftId": "A320", "state": "Departing"}],
"outbound": [{"callsign": "FDX4774", "arrivalId": "LFPG", "aircraftId": "B738", "departureTime": 65700}]
}]
}
Only aerodromes with at least one flight (from the flight plans' departure and arrival) and known to IVAO. departureTime is the flight plan departure time in seconds of the day (UTC).
/areas
{
"updatedAt": "2026-10-05T00:39:12.345678+00:00",
"specialAreaCount": 1,
"notamCount": 1,
"specialAreas": [{"id": 8721, "name": "CANAKKALE P-2", "type": "P", "description": "\"Restricted to all aircraft.\"",
"activationDetails": "\"Permanently Active.\"", "minimumAlt": 0, "maximumAlt": 20000, "polygon": [["…"]]}],
"notams": [{"id": 4852, "name": "TR1411/25", "description": "VFR flights are prohobited …", "polygon": [["…"]]}]
}
Only special areas of type R, P, D, TRA and TSA, and NOTAM areas that have a polygon. Texts and minimumAlt / maximumAlt are as given by IVAO (some texts include quotation marks).
IVAO objects (reference)
Pilot
{
"id": 61980642,
"callsign": "AAR203",
"lastTrack": {"latitude": 37.46397, "longitude": 126.43173, "altitude": 38, "heading": 70, "groundSpeed": 0, "onGround": true, "state": "On Blocks"},
"flightPlan": {"aircraftId": "A333", "departureId": "KLAX", "arrivalId": "RKSI", "flightRules": "I", "level": "F360",
"aircraft": {"wakeTurbulence": "H", "description": "LandPlane"}}
}
ATC
{
"id": 61984113,
"callsign": "HEBR_GND",
"atcSession": {"frequency": 121.925, "position": "GND"},
"lastTrack": {"latitude": 23.98889, "longitude": 35.4575},
"atis": {"lines": ["…"], "revision": "Z"}
}
| Field | Values |
|---|---|
| ATC position | DEL (delivery), GND (ground), TWR (tower), APP (approach), DEP (departure), CTR (centre), FSS (flight service) |
| Wake turbulence | L (light), M (medium), H (heavy), J (super) |
| Flight state | On Blocks, Boarding, Departing, Initial Climb, En Route, Approach, Landed |
Errors
| Code | Meaning |
|---|---|
400 |
Invalid bbox |