Chart Documents
Download a single terminal chart as PDF, in day or night colours. The document ID comes from the Chart List. Georeferenced charts carry WGS84 coordinates inside the PDF, so a geospatial PDF reader can show your position on the chart.
Required roles:
AIS Jeppesen Charts API,AIS Charts Data via Cloud— Roles
Base endpoint:https://jepp-api.ibosoft.net.tr:2087/pdf
Attribution: showibonav.aerowherever this data is displayed
Last updated: 17 OCT 2026
Endpoints
| Endpoint | Description |
|---|---|
GET /pdf/{doc_binary_id} |
The chart as a one-page PDF |
Parameters
| Name | In | Type | Default | Description |
|---|---|---|---|---|
doc_binary_id |
path | int | — | docBinaryId from GET /charts/{icao} |
mode |
query | string | Day |
Night or night (case-insensitive) returns the night image; any other value returns the day image |
Response
200 application/pdf, sent chunked.
| Header | Value |
|---|---|
Content-Type |
application/pdf |
Content-Disposition |
inline; filename=chart_<doc_binary_id>.pdf |
X-Chart-Mode |
The mode actually served (see below) |
Access-Control-Expose-Headers |
X-Chart-Mode — so browser JavaScript can read it |
Day / night and X-Chart-Mode
Not every chart has a night image. When night is requested and no night image exists, the day image is served and the header says so. The header otherwise echoes the requested value exactly.
| Request | Situation | X-Chart-Mode |
|---|---|---|
no mode |
Day |
|
mode=Night |
night image exists | Night |
mode=night |
night image exists | night (the spelling you sent) |
mode=Night |
no night image → day served | Day |
mode=xyz |
day served | xyz (the value you sent) |
So: to know what you actually got, read X-Chart-Mode — if you asked for night and it comes back Day, the chart has no night variant.
Document
| Property | Value |
|---|---|
| Pages | 1 |
| Page width | 5.5 in (396 pt) — the physical width of a terminal chart; height follows the image aspect ratio |
| Image | Embedded losslessly at full resolution (~1800 × 3000 px), so zooming does not degrade quality |
| Size | Typically 0.3–1.1 MB |
| Coordinates | Present on georeferenced charts (see below) |
Georeferencing
Georeferenced charts carry an ISO 32000-2 geographic measurement dictionary — the same structure as an Adobe Geospatial PDF.
| Topic | Detail |
|---|---|
| Coverage | The plan view only. Profile, minimums, header and inset boxes carry no coordinates |
| Which charts | Charts published as georeferenced — typically all APP, SID and STAR charts (LTAC: 76 of 90 charts) |
| Coordinate system | WGS84 (EPSG:4326) |
| Mapping | Linear inside the plan view box |
| Accuracy | Within ~1.5 pt (≈ 200 m) against the chart's own grid lines at LTAC 11-1; areas drawn NOT TO SCALE can deviate more |
| Day / night | Identical coordinates |
Readers that use this data include Avenza Maps, Adobe Acrobat's measuring tool, QGIS/GDAL builds with PDF support, and EFBs with geospatial PDF support. Browser PDF viewers ignore it and show the chart as a plain image.
Errors
Errors are returned as {"detail": "<message>"}.
| Code | Meaning |
|---|---|
404 |
PDF not found — neither the day nor the night image could be retrieved |
422 |
doc_binary_id is not an integer |
500 |
Failed to fetch PDF URL: 404 — the ID is unknown; request the airport's chart list and use a current docBinaryId |
500 |
Upstream or network failure |
Notes
- A chart is only downloadable after its airport's chart list has been requested at least once.
- Generated documents are cached for one hour: the first request for a chart takes about 1–2 s, repeats about 5 ms. Day and night are cached separately.
- Displaying the PDF directly with
<iframe src="https://jepp-api.ibosoft.net.tr:2087/pdf/…">works, but your site's Content-Security-Policy must then allow this host inframe-src(and inconnect-srcwhen fetching it with JavaScript).
Examples
# Day chart
curl -o 11-1.pdf 'https://jepp-api.ibosoft.net.tr:2087/pdf/900000062'
# Night chart, showing which mode was served
curl -D - -o 11-1_night.pdf 'https://jepp-api.ibosoft.net.tr:2087/pdf/900000062?mode=Night'
HTTP/1.1 200 OK
content-type: application/pdf
content-disposition: inline; filename=chart_900000062.pdf
access-control-expose-headers: X-Chart-Mode
x-chart-mode: Night
transfer-encoding: chunked
// List the approach charts of an airport, then show the first one in night colours
const base = 'https://jepp-api.ibosoft.net.tr:2087';
const { charts } = await (await fetch(`${base}/charts/LTAC`)).json();
const app = charts.filter(c => c.chartType === 'APP');
const res = await fetch(`${base}/pdf/${app[0].docBinaryId}?mode=Night`);
if (!res.ok) throw new Error((await res.json()).detail);
console.log('served mode:', res.headers.get('X-Chart-Mode'));
document.querySelector('iframe').src = URL.createObjectURL(await res.blob());
import requests
BASE = "https://jepp-api.ibosoft.net.tr:2087"
charts = requests.get(f"{BASE}/charts/LTAC", timeout=60).json()["charts"]
ils = next(c for c in charts if c["indexNum"] == "11-1")
r = requests.get(f"{BASE}/pdf/{ils['docBinaryId']}", params={"mode": "Night"}, timeout=120)
r.raise_for_status()
print("served mode:", r.headers["X-Chart-Mode"])
open(f"LTAC_{ils['indexNum']}.pdf", "wb").write(r.content)