Indonesia Airport API: 440 Airports with Coordinates, ICAO/IATA Codes and Runways
440 airports in 38 provinces with lat/lng, ICAO/IATA codes, elevation, runways and international status. Every airport is checked against the official list, with a 230 m median gap.

Indonesia's official airport list lives on the Directorate General of Civil Aviation (DJPU) website, but its terms do not allow paid commercial reuse without written permission. Open sources such as OurAirports, OpenStreetMap and Wikidata can be reused freely, but they are messy: closed airstrips, ICAO codes that moved to a new airport, and coordinates that are tens of kilometres off.
So I took the middle road. The published data comes only from open sources, and every airport is checked against the official list before it goes into the Airport API on API Indonesia (/api/v1/bandara).
What is in it
- 440 airports across 38 provinces, each with latitude and longitude plus the regency/city and province it sits in (Kemendagri codes).
- ICAO codes for 388 airports and IATA codes for 226.
- Elevation, size class (large, medium, small) and whether there is scheduled service.
- Runway data for 302 airports: direction, length, width and surface.
- International status for 36 airports, following ministerial decree KM 37 Tahun 2025.
How it was checked
Each airport from the open sources was matched to the DJPU list (597 airports) by ICAO code, IATA code or name. An airport is only published when it:
- is on the official list, so closed airports drop out,
- has a coordinate within 3 km of the official position,
- falls inside an Indonesian regency or city boundary.
The median distance to the official position is 230 metres. The validasi field tells you how strong each row is:
terverifikasi(322 airports): at least two open sources agree within 2 km.sebagian(118 airports): one open source so far, still checked against the official list.
Nothing from the official list is copied into the dataset. It is only used to confirm that an airport exists and where it is.
Using it
Nearest airports to a point:
curl "https://use.apiindonesia.id/api/v1/bandara/nearby?lat=-0.03&lng=109.33&limit=3" \
-H "x-api-key: YOUR_API_KEY"
Look one up by ICAO or IATA code:
curl "https://use.apiindonesia.id/api/v1/bandara/PNK" \
-H "x-api-key: YOUR_API_KEY"
The list can be filtered by province, regency, international status, size class or validation status.
Limits
157 airports on the official list are not in the dataset yet. 120 of them are not in any open source, mostly small pioneer airstrips in Papua and West Kalimantan. The other 37 have an open-source coordinate more than 3 km from the official position, so I held them back.
A few more things to know:
- Names follow the open sources, so some are still in English (for example "... Airstrip").
- The operator field is left empty on purpose: many OpenStreetMap operator tags were never updated after Angkasa Pura merged into InJourney.
- The data includes OpenStreetMap data (ODbL 1.0). Every response carries
meta.attribution; pass it along when you show the data.
Pricing is the same as every other endpoint: 2 credits (Rp2) per successful request, and failed requests are free.
Product page: https://apiindonesia.id/produk/bandara/ Docs: https://docs.apiindonesia.id/#bandara
