API Usage
Required roles:
AIS Charts API,AIS Charts Data via Cloud— Roles
Base endpoint:https://ais-charts-api.ibosoft.net.tr:2087
Reference documents: none
Attribution: showibonav.aerowherever this data is displayed
Data sources: see the ibonav.aero User Guide; the source of each coverage is given in Coverage Match List
Last updated: 18 OCT 2026Depending on your use, the original data sources may also need to be credited.
The AIS Charts API serves the ibonav.aero chart library as a file tree: AIP documents and charts, other chart sources (FAA, military FLIP, VFR manuals …) and the files used for chart geolocation. You browse the tree folder by folder, list the files of a folder and download a file.
- Raw data: to download the files directly, without the API, or to download many files or whole folders at once more easily, see AIP Files and Other Charts Files in Files / Raw Data via Cloud.
Root directories
The tree has six root directories. The first path segment of every request is one of them.
Chart files
| Root directory | Content |
|---|---|
aip-charts |
AIP documents and charts |
other-charts |
Charts and documents of other sources |
Chart geolocation
These root directories serve the geolocation of the charts on a map; how they are used is described in Geo Server › Chart Geolocation. This section covers the chart files.
| Root directory | Content |
|---|---|
aip-geolocated-charts-project-files |
Project files of the AIP charts |
aip-obstacle-data-sets-project-files |
Project files of the AIP obstacle data sets |
other-geolocated-charts-project-files |
Project files of the other charts |
other-view-only-geolocated-charts-project-files |
Charts available only as geolocated map layers, without a source file in other-charts |
Below a root directory come the coverage folders (e.g. IBOSOFT-LT, PAMS-LT, US-TPP-…), then the folders described in Directory Hierarchy. Which coverage folder is which coverage: Coverage Match List.
Endpoints
| Endpoint | Returns |
|---|---|
GET /get-directory-index/{root}/{path} |
Subfolders one level below path |
GET /get-file-index/{root}/{path} |
All files below path, at any depth |
GET /get-file/{root}/{file path} |
The file itself |
GET /get-shared-config |
Coverage names, groups and chart type labels |
GET /get-all-directory-index/{root} |
Every file of a root directory (large, see below) |
path is relative to the root directory, /-separated. Folder and file names contain spaces, brackets and non-ASCII letters: URL-encode each segment (encodeURIComponent), keep the / between them.
/get-directory-index/{root}/{path}
Lists the subfolders directly below path (one level, sorted by name). Files are not listed. For the top level of a root directory, end the address with / and leave path empty.
GET https://ais-charts-api.ibosoft.net.tr:2087/get-directory-index/aip-charts/
GET https://ais-charts-api.ibosoft.net.tr:2087/get-directory-index/aip-charts/IBOSOFT-LT/airac
{
"directory": "aip-charts",
"path": "IBOSOFT-LT/airac",
"subdirectories": [
"0000 - Older Archives",
"1703 - Eff 30-MAR-17",
"…",
"2610 - Eff 01-OCT-2026"
]
}
A path that does not exist returns an empty subdirectories list (not 404).
/get-file-index/{root}/{path}
Returns every file below path, including those in deeper subfolders. Folders are not listed separately; each file carries its full path.
GET https://ais-charts-api.ibosoft.net.tr:2087/get-file-index/aip-charts/IBOSOFT-LT/airac/2610%20-%20Eff%2001-OCT-2026/Charts%20-%20AD2%20Aerodromes/LTAC%20-%20ESB%20-%20ANKARA%20-%20Esenbo%C4%9Fa
{
"directory": "aip-charts",
"subdir": "IBOSOFT-LT/airac/2610 - Eff 01-OCT-2026/Charts - AD2 Aerodromes/LTAC - ESB - ANKARA - Esenboğa",
"file_count": 80,
"last_indexed": "2026-10-17T22:15:12.817396+00:00",
"files": [
{
"path": "IBOSOFT-LT/airac/2610 - Eff 01-OCT-2026/Charts - AD2 Aerodromes/LTAC - ESB - ANKARA - Esenboğa/LTAC - ADC - Aerodrome Chart.pdf",
"name": "LTAC - ADC - Aerodrome Chart.pdf",
"size": 512205
}
]
}
| Field | Description |
|---|---|
files[].path |
Path from the root directory; use it as is with /get-file |
files[].name |
File name |
files[].size |
Size in bytes |
last_indexed |
Time of the index the answer is built from (UTC) |
Ask for a folder at the level you need: a request at coverage level returns every file of every AIRAC cycle of that coverage.
/get-file/{root}/{file path}
Returns the file. PDF and images (.pdf, .png, .jpg, .jpeg, .gif, .svg, .webp) are sent for display in the browser (Content-Disposition: inline), other files as a download (attachment).
GET https://ais-charts-api.ibosoft.net.tr:2087/get-file/aip-charts/IBOSOFT-LT/airac/2610%20-%20Eff%2001-OCT-2026/Charts%20-%20AD2%20Aerodromes/LTAC%20-%20ESB%20-%20ANKARA%20-%20Esenbo%C4%9Fa/LTAC%20-%20ADC%20-%20Aerodrome%20Chart.pdf
/get-shared-config
The configuration shared by the ibonav.aero chart viewers and map:
| Field | Content |
|---|---|
chartLabels |
Chart types (ADC, SID, STAR, IAC …): label, title, the name parts that identify them in file names, colour |
aip.coverages |
AIP coverage names by coverage key (see Coverage Match List) |
aip.coverageGroups |
AIP coverage groups (Ibosoft, PAMS, ICAO) |
aip.sectionPatterns, aip.nonAiracPatterns |
Patterns that recognise the section folders (Part 1–3, AD 2/AD 3 charts, ENR 6, obstacles, AIC, AMDT, SUP) |
aip.defaultCoverage |
Coverage opened by default |
otherCharts.coverageLabels |
Other Charts coverage names by coverage key; enr: true = en-route/area charts |
otherCharts.coverageGroups |
Other Charts coverage groups |
Fetch it once and cache it; it changes rarely.
/get-all-directory-index/{root}
Returns every file of a root directory in one answer (name, file_count, last_indexed, files[] as above). For aip-charts this is more than 100 000 files and about 25 MB. Use it only for a full synchronisation, not for browsing; prefer get-directory-index and get-file-index.
Browsing the tree
The folder and file lists come from an index that is rebuilt every 3 minutes, so a file added on the server appears within a few minutes. Browse top-down:
- Coverage:
get-directory-index/aip-charts/→ coverage folders. Show their names withget-shared-config(how a folder name is read). - AIRAC / non-AIRAC:
get-directory-index/aip-charts/{coverage}→airac,non-airac. - AIRAC cycle:
get-directory-index/aip-charts/{coverage}/airac→ effective date folders. The folder names differ per source (2610 - Eff 01-OCT-2026,WEF 01-OCT-26);0000 - Older Archivesholds older material. - Section:
get-directory-index/…/airac/{cycle}→Part 1 - General (GEN),Part 2 - En-route (ENR),Part 3 - Aerodromes (AD0-AD1),Charts - AD2 Aerodromes,Charts - AD3 Heliports,Obstacle Data Sets. - Aerodrome:
get-directory-index/…/Charts - AD2 Aerodromes→ one folder per aerodrome, named after its ICAO location indicator (LTAC - ESB - ANKARA - Esenboğa,LTAC). - Files:
get-file-index/…/{aerodrome}→ the AD 2 text and the charts of the aerodrome. - Download:
get-file/aip-charts/{files[].path}.
Sections that hold files directly (Part 1–3, non-AIRAC folders) are read with get-file-index at step 4. The full layout, including Other Charts: Directory Hierarchy.
Finding a chart for an aerodrome: take the coverages whose identifier values match the start of the aerodrome's identifier (its ICAO location indicator, or an AIXM identifier of up to 6 characters when it has none; see Coverage Match List), take the latest AIRAC folder, and look for the aerodrome folder whose name starts with that identifier in Charts - AD2 Aerodromes / Charts - AD3 Heliports.
Geolocation files
The geolocation root directories mirror the chart folders. How to find the geolocation file of a chart and display it: Geo Server › Chart Geolocation.
Errors
| Code | Meaning |
|---|---|
400 |
Invalid path (path leaving the root directory), or the path is a folder (/get-file) |
403 |
File type not served (/get-file) |
404 |
Unknown root directory, or file not found (/get-file) |
503 |
Index not ready yet (shortly after a server restart): retry after a few seconds |