SHGM UAS Areas
Required roles:
AIS PIB API— Roles
Base endpoint:https://ais-pib-api.ibosoft.net.tr:2087/shgm-ihattys
Attribution: showibonav.aerowherever this data is displayed
Data sources: SHGM İHATTYS (Directorate General of Civil Aviation of Turkiye, UAS Tracking System).
Last updated: 03 NOV 2026About the reference documents: Related Documents and Resources
Depending on your use, the original data sources may also need to be credited.
The UAS (drone) areas published by SHGM in İHATTYS, as GeoJSON polygons: permitted, permission-required and prohibited UAS flight areas and corridors in Turkiye. These are SHGM's own areas, not the airspace structure (CTR, TMA, R/P/D areas, …).
The data is not authoritative. A good part of the areas in İHATTYS are test entries made by SHGM; always refer to İHATTYS for official information.
Endpoints
| Endpoint | Description |
|---|---|
GET /shgm-ihattys/geojson |
Areas of the latest snapshot (GeoJSON) |
GET /shgm-ihattys/geojson?snapshot={snapshot} |
Areas of one stored snapshot |
GET /shgm-ihattys/latest-snapshot |
Latest snapshot id and last fetch time |
GET /shgm-ihattys/available |
Stored snapshots, newest first |
GET /shgm-ihattys/status |
Fetch status (last success, last attempt, last error) |
The areas are fetched every 10 minutes, aligned to the hour (:00, :10, :20 …). Each successful fetch is stored as a snapshot named after its slot (YYYYMMDD_HHMM, UTC); the last 10 snapshots are kept. A failed fetch is retried up to 3 times, 30 seconds apart; until a fetch succeeds the previous snapshot stays current.
/geojson and /latest-snapshot answer 404 until the first fetch has succeeded.
Area shapes
İHATTYS stores an area as a list of points, a shape (POLYGON or CORRIDOR) and an optional width. Every area is returned as a GeoJSON Polygon; geom_source tells how it was built:
geom_source |
İHATTYS record | Polygon |
|---|---|---|
polygon |
POLYGON, 3 or more points |
The points |
corridor_area |
CORRIDOR, 3 or more points, no width |
The points (the record is an area, not a line) |
corridor |
CORRIDOR, 2 or more points, with width |
A strip extending width_m to each side of the line (total width 2 × width_m), flat ends — as drawn by the İHATTYS app |
circle |
CORRIDOR, 1 point, with width |
A circle around the point, radius width_m (64 sides) |
Records that cannot be drawn (e.g. a polygon with fewer than 3 points) are left out.
Response
/latest-snapshot
{"snapshot": "20261103_2000", "last_fetched": "2026-11-03T20:02:02Z", "stale": false}
| Field | Description |
|---|---|
snapshot |
Latest snapshot id |
last_fetched |
Time of the last successful fetch (UTC) |
stale |
true when no fetch has succeeded for two intervals (20 minutes) |
/available
{"count": 3, "snapshots": ["20261103_2020", "20261103_2010", "20261103_2000"]}
/status
{
"snapshot": "20261103_2000",
"last_fetched": "2026-11-03T20:02:02Z",
"last_attempt": "2026-11-03T20:01:25Z",
"last_error": null,
"stale": false,
"fetch_interval_minutes": 10
}
last_error is the reason of the last failed attempt; it is cleared by the next success.
/geojson
A GeoJSON FeatureCollection (application/geo+json). Besides features, it carries snapshot and fetched_at (time of the fetch, UTC).
{
"type": "FeatureCollection",
"snapshot": "20261103_2000",
"fetched_at": "2026-11-03T20:02:02Z",
"features": [
{
"type": "Feature",
"id": "9daeb236-4e58-4cbd-a6cd-49249d569e4b",
"geometry": {"type": "Polygon", "coordinates": [[[29.5014, 37.1468], "…"]]},
"properties": {
"id": "9daeb236-4e58-4cbd-a6cd-49249d569e4b",
"name": "koordinat_listesi_deneme",
"description": null,
"category": "YASAKLI HAVA SAHASI",
"category_description": "uçuşlar yasaklıdır",
"p1_permission": "CANNOT_FLY",
"p2_permission": "CANNOT_FLY",
"autonomous_permitted": false,
"manual_permitted": false,
"shape": "CORRIDOR",
"geom_source": "corridor",
"width_m": 3005.0,
"upper_limit_m": 5292.0,
"lower_limit_m": 0.0,
"height_m": null,
"ground_offset_m": null,
"city": "BURDUR",
"district": "GÖLHİSAR",
"street": "Gölhisar, Burdur, Akdeniz Bölgesi, 15400, Türkiye",
"created_at": "2026-10-13T13:57:43.188Z",
"updated_at": "2026-10-13T13:57:43.188Z"
}
}
]
}
| Property | Description |
|---|---|
id |
İHATTYS area id (also the feature id) |
name |
Area name; null when the area has none (many have none) |
description |
Free text; may be null |
category |
İHATTYS category, as written in İHATTYS (Turkish): SERBEST (free), İZNE TABİİ (permission required), Bölge 3, YASAKLI HAVA SAHASI (prohibited) |
category_description |
Category description (Turkish) |
p1_permission, p2_permission |
Flight permission of the category for P1 / P2 license holders: PERMISSION_REQUIRED, CANNOT_FLY, or null when İHATTYS gives no value |
autonomous_permitted, manual_permitted |
Whether autonomous / manual flights are permitted in the category (true / false) |
shape |
İHATTYS shape: POLYGON or CORRIDOR |
geom_source |
How the polygon was built — see Area shapes |
width_m |
Corridor half-width (extent to each side of the line) or circle radius (m); null for polygons |
upper_limit_m |
Upper limit (m, AMSL). The İHATTYS app draws the top of an area at an absolute height (amsl); the server field is taken to be the same value |
lower_limit_m |
Lower limit (m, AMSL); 0 = MSL. The app draws the bottom of an area at absolute height 0; the server's lower limit is taken to use the same reference |
height_m |
İHATTYS height (m); given only for some areas, otherwise null |
ground_offset_m |
İHATTYS groundOffset (m): offset above the ground. The app uses it only for floating corridors ("pipe"), whose bottom is drawn this far above the terrain. Given together with height_m, otherwise null. It is not the terrain elevation |
city, district |
Province and district (Turkish, upper case); may be null |
street |
Address text; may be null |
created_at, updated_at |
When the area was created / last changed in İHATTYS (UTC) |
The identity of whoever created an area is not stored or returned.