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: show ibonav.aero wherever 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 in frame-src (and in connect-src when 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)