Indonesia Port API Adds Verified Coordinates
ملخص
In Pixel, this announcement introduces an API built from Indonesia’s official port list, covering 1,082 sea and ferry ports. It includes port hierarchies, regional codes, and validated coordinates for 468 ports, with no guessed locations—useful for reliable mapping and nearby-port searches.
DEV Community
Indonesia's Official Port List Has No Coordinates, So I Added Them Without Guessing
Indonesia's official port list is the National Port Master Plan (Rencana Induk Pelabuhan Nasional, RIPN): ministerial decree KP 432 Tahun 2017 and its amendments. It comes as a scanned PDF annex, and it has no coordinates at all. I turned that annex into data and matched every port against open coordinate sources. The result is the Port API on API Indonesia, under /api/v1/pelabuhan. What is in it 1,082 ports: 637 sea ports and 445 ferry ports. The official hierarchy of every sea port for the 2022–2027 period: 28 main ports (utama), 164 collector ports (pengumpul), 165 regional feeder ports and 279 local feeder ports. The planned 2027 and 2037 hierarchy is kept too. The class of every ferry port (I, II, III). Province and regency/city with Kemendagri codes. UN/LOCODE for 133 ports and World Port Index attributes (harbour size, channel depth) for 84. Latitude and longitude for the 468 ports that pass validation. How the coordinates were checked Coordinates come from OpenStreetMap, the NGA World Port Index and UN/LOCODE. A coordinate is only filled when it passes one of two levels: terverifikasi (178 ports): at least two independent sources agree within 5 km, and the point is in the same province as the RIPN entry. sebagian (290 ports): one source so far, an exact name match, and the point falls in the same province and regency as the RIPN entry. Anything else keeps lat and lng empty with validasi = tanpa_koordinat. There are no estimated positions and no regency centroids. 18 points landed in a different regency from the one the RIPN lists, and those coordinates were dropped. Using it Nearest ferry ports to a point: curl "https://use.apiindonesia.id/api/v1/pelabuhan/nearby?lat=-5.93&lng=106&jenis=penyeberangan" \
- H "x-api-key: YOUR_API_KEY"
All main ports: curl "https://use.apiindonesia.id/api/v1/pelabuhan?hierarki=utama&per_page=30" \
- H "x-api-key: YOUR_API_KEY"
You can also look a port up by UN/LOCODE, for example /api/v1/pelabuhan/IDJKT for Tanjung Priok. Limits More than half of the ports have no coordinate yet, mostly local feeder ports and small ferry ports. They are still in the dataset because their name, administrative location and hierarchy are official, but the point is only added once a source can be checked. A few more things to know: The amendments in KM 172 Tahun 2021 and most of KM 217 Tahun 2022 are not applied yet, because the decree files could not be retrieved. The RIPN annex is a scan, so some names were cleaned of OCR errors. A sea port and a ferry port with the same name often share one point. Most coordinates come from OpenStreetMap (ODbL 1.0). Every response carries meta.attribution. Pricing: 2 credits (Rp2) per successful request, and failed requests are free. Product page: https://apiindonesia.id/produk/pelabuhan/ Docs: https://docs.apiindonesia.id/#pelabuhan

Powered by Readybot.io