Skip to content

suryast/indonesia-gov-apis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

58 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesia Government APIs & Data Sources

Indonesia Government APIs Status

A comprehensive reference for 57 Indonesian government data portals, APIs, and data sources โ€” with practical Python examples, scraping patterns, and gotchas learned from production use.

๐Ÿ“Š status.datarakyat.id โ€” Live daily status page tracking uptime of all portals from US + Jakarta.

Last checked: 2026-03-29 โ€” 22 up ยท 6 geo-blocked (ID only) ยท 5 CF challenge ยท 16 DNS dead ยท 3 down ยท Full update โ†’

Why this exists: Indonesian government APIs are poorly documented, frequently change without notice, and have quirks not covered in official docs. This repo captures real-world knowledge from building production applications against these data sources.

๐Ÿค– Use as an AI Agent Skill

This repo includes a SKILL.md that makes it usable as a Claude/OpenClaw agent skill:

# Clone and use as a local skill reference
git clone https://github.com/suryast/indonesia-gov-apis.git

๐Ÿ”Œ MCP Servers

Connect Indonesian data sources to AI assistants via Model Context Protocol:

# Connect pasal.id (third-party Indonesian law index) to Claude
claude mcp add --transport http pasal-id https://pasal-mcp-server-production.up.railway.app/mcp

See mcp-servers/ for full setup instructions and a list of data sources ready for MCP wrapping.


Data Sources by Tier

Tier 1: Open APIs โ€” Ready to Consume (12 sources)

# Source Agency Docs API?
1 Portal Satu Data (SDI) Bappenas CKAN portal, 10K+ datasets โœ… CKAN API
2 BPS Statistics Badan Pusat Statistik GDP, CPI, population, trade โœ… REST API (was CF-blocked, now working)
3 BMKG Weather BMKG Weather, earthquakes, tsunami โœ… JSON feeds
4 IDX / BEI Bursa Efek Indonesia Stock prices, corporate data โš ๏ธ Unofficial
5 DJPB Treasury Kemenkeu Treasury, disbursement data โœ… CKAN API
6 JDIH BPK BPK / Perpusnas Legal documentation network โœ… Partial API
7 Putusan MA Mahkamah Agung Court decisions (millions) โœ… Public search
8 LPSE / INAPROC LKPP Government procurement tenders โš ๏ธ Geo-blocked (ID only)
9 Portal APBN Kemenkeu State budget data โœ… CSV/XLSX
10 Bank Indonesia Bank Indonesia Exchange rates, BI Rate โœ… REST API
11 BIG Geospatial BIG Admin boundaries, zoning โœ… WMS/WFS
12 BNPB Disaster BNPB Disaster events, risk data โœ… REST + GeoJSON

Tier 2: Scrapeable Web โ€” Structured Data, No Formal API (10 sources)

# Source Agency Docs Format
13 BPJPH Halal BPJPH Kemenag 1.98M halal businesses JSON POST
14 BPOM Products BPOM 242K food/drug registrations DataTables+CSRF
15 AHU Company Registry Kemenkumham All registered PT, CV, Firma HTML+CAPTCHA
16 OSS / NIB BKPM Business ID (NIB) lookup HTML forms
17 OJK Registry OJK Licensed financial entities HTML+XLS
18 KPK e-LHKPN KPK Officials' wealth declarations HTML+PDF
19 Putusan MK Mahkamah Konstitusi Constitutional court decisions HTML+PDF
20 KSEI Statistics KSEI Securities investor stats PDF/XLSX
21 e-PPID All Ministries Public information requests Per ministry
22 Pajak / DJP DJP NPWP verification Login required

Tier 3: Regional Open Data Portals (6 sources)

# Source Region Docs Quality
23 Satu Data Jakarta DKI Jakarta Best-in-class regional โญ CKAN API
24 Open Data Jabar Jawa Barat Good API quality โญ CKAN API
25 Open Data Jatim Jawa Timur 38 kabupaten/kota โœ… CKAN API
26 Satu Data Surabaya Surabaya Complete city-level โœ… CKAN API
27 Open Data Bandung Bandung Smart city data โœ… CKAN API
28 Open Data Bali Bali Tourism, agriculture โš ๏ธ CSV/XLSX

Tier 4: Ministry-Specific Data (8 sources)

# Source Ministry Docs Key Data
29 Kemnaker Ketenagakerjaan UMR/UMP wages, employment stats โš ๏ธ Partial API
30 Komdigi Komunikasi Digital Internet penetration, digital literacy โš ๏ธ XLSX
31 ESDM Energy ESDM Energy production, mining permits โš ๏ธ PDF/XLSX
32 KKP Fisheries Kelautan & Perikanan Fish catch, aquaculture, vessels โš ๏ธ XLSX
33 ATR/BPN Land ATR / BPN Land certificates, PTSL โŒ Login
34 Kemendikdasmen Pendidikan School registry (NPSN), teachers โš ๏ธ Partial API
35 Kemenkes Health Kesehatan Hospital/clinic registry, SATUSEHAT โš ๏ธ Partial API
36 Kemenag Agama 300K+ mosques, pesantren registry โš ๏ธ Scrape

Tier 5: Anti-Corruption & Transparency (5 sources)

# Source Organization Docs Key Data
37 OCCRP Aleph OCCRP Beneficial ownership, leaks data โœ… REST API
38 OpenCorporates OpenCorporates Global company registry (ID subset) โœ… REST API
39 EITI Indonesia EITI / ESDM Mining & oil/gas revenue transparency โš ๏ธ Reports
40 AHU-BO Kemenkumham Beneficial ownership registry โš ๏ธ Web search
41 ICW Corruption Watch ICW (NGO) Corruption case tracker โš ๏ธ Web database

Tier 6: Financial Sector (4 sources)

# Source Agency Docs Key Data
42 OJK SIKEPO OJK Fintech/crypto licensed platforms โš ๏ธ PDF+HTML
43 Satgas Waspada Investasi OJK Task Force Illegal investment alerts โœ… Public list
44 KSEI Investor Stats KSEI Monthly investor statistics โš ๏ธ XLSX/PDF
45 DJPB Budget DJPB Kemenkeu APBN spending execution โš ๏ธ XLS/CSV

Tier 7: Civil Society & Geospatial (5 sources)

# Source Organization Docs Key Data
46 LAPOR! KemenPANRB Public complaint system โš ๏ธ Web portal
47 IndoLII USAID Bilingual legal information โš ๏ธ Web search
48 OGP Indonesia OGP Ministry transparency scores โš ๏ธ Reports
49 Geoportal One Map BIG / KLHK 85 thematic maps, One Map Policy โœ… WMS/WFS
50 SIGAP / InaRisk BNPB Disaster risk scores by location โœ… REST API
51 pasal.id Community (third-party) 40K regulations, 937K articles via MCP ๐Ÿ”ต MCP Ready

Tier 8: New Additions (2026-03-29) โ€” 5 sources

# Source Agency Docs Key Data
52 KPU Elections KPU Election results, candidate data โœ… Web portal + JSON during elections
53 SIMBG Building Permits Kemen PUPR Building permit (PBG) registry โœ… Public search
54 CoreTax DJP DJP New core tax system (replaced e-Filing) โŒ Login-gated
55 SATUSEHAT Kemenkes National health platform (FHIR API) โœ… API (registration required)
56 BPJPH Halal API BPJPH 1.98M+ halal business records โœ… JSON POST (no auth)

Quick Start

# Search BPJPH halal database
import requests

resp = requests.post(
    "https://cmsbl.halal.go.id/api/search/data_penyelia",
    json={"length": 20, "start": 0, "nama_penyelia": "A"},
    headers={"Content-Type": "application/json"}
)
businesses = resp.json()["data"]
print(f"Found {len(businesses)} businesses")
# Get BMKG earthquake data (no auth needed)
resp = requests.get("https://data.bmkg.go.id/DataMKG/TEWS/autogempa.json")
quake = resp.json()["Infogempa"]["gempa"]
print(f"Latest: M{quake['Magnitude']} at {quake['Wilayah']}")

Common Gotchas

๐Ÿšซ IP Blocking

Most Indonesian gov sites block datacenter IPs (AWS, GCP, DO). Use Cloudflare Workers proxy or residential proxy.

๐Ÿ“„ Data Formats

Government sites love Excel and PDF. Use openpyxl for Excel, pdfplumber for PDF.

๐Ÿ” CSRF Tokens

BPOM and some OJK pages require session cookies + CSRF tokens. Always use requests.Session().

๐Ÿ”„ CKAN API

data.go.id, Jakarta, Jabar, Jatim, Surabaya, Bandung all use CKAN. Same API pattern works everywhere:

requests.get("https://{portal}/api/3/action/package_search", params={"q": "keyword", "rows": 10})

Project Structure

โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ SKILL.md                      # AI agent skill file
โ”œโ”€โ”€ mcp-servers/                  # MCP server setup guides
โ”œโ”€โ”€ apis/
โ”‚   โ”œโ”€โ”€ tier1-open-apis/          # 12 sources with REST/JSON APIs
โ”‚   โ”œโ”€โ”€ tier2-scrapeable/         # 10 sources requiring scraping
โ”‚   โ”œโ”€โ”€ tier3-regional/           # 6 regional open data portals
โ”‚   โ”œโ”€โ”€ tier4-ministry/           # 8 ministry-specific sources
โ”‚   โ”œโ”€โ”€ tier5-transparency/       # 5 anti-corruption sources
โ”‚   โ”œโ”€โ”€ tier6-financial/          # 4 financial sector sources
โ”‚   โ”œโ”€โ”€ tier7-civil-society/      # 5 civil society & geospatial
โ”‚   โ””โ”€โ”€ tier8-new/                # 5 newly discovered sources
โ”œโ”€โ”€ status/                       # Daily status checks + update logs
โ””โ”€โ”€ examples/                     # Working Python examples

๐Ÿ“… Portal Status Timeline

Daily log of which Indonesian government portals are accessible, blocked, or down. Monitored from Sydney (AU), Singapore, and Jakarta (ID) via indonesia-civic-signal-monitor.

Why this matters: Indonesian government websites frequently go down, change URLs, add geo-blocks, or break without notice. There's no public status page. This is the closest thing to one.

2026-03-29 (Sunday) โ€” Full update

22 up ยท 6 geo-blocked ยท 5 CF-blocked ยท 16 DNS dead ยท 3 down. +5 new sources added (KPU, SIMBG, CoreTax, SATUSEHAT, BPJPH Halal API). Changes since Mar 16: LAPOR! now accessible worldwide, BPS unblocked, DJPB Budget now geo-blocked.

2026-03-16 (Monday)

Checked from Sydney, Australia (AU) and Jakarta, Indonesia (ID). Status: โœ… Working, โš ๏ธ Degraded/Blocked, โŒ Down.

Tier 1: Open APIs

# Portal AU ID Status Notes
1 Satu Data (data.go.id) โœ… 200 โœ… โœ… Working CKAN API stable
2 BPS (webapi.bps.go.id) โŒ 403 โŒ 403 โš ๏ธ CF Challenge Cloudflare bot protection on both AU and ID. API works with key via requests but not curl
3 BMKG (data.bmkg.go.id) โœ… 200 โœ… โœ… Working Earthquake + weather JSON feeds stable
4 IDX (idx.co.id) โŒ 403 โŒ 403 โš ๏ธ CF Challenge Cloudflare bot protection. Web works in browser
5 DJPB Treasury (data.treasury.kemenkeu.go.id) โŒ DNS โŒ DNS โŒ DNS Dead NXDOMAIN from everywhere
6 JDIH BPK (jdih.bpk.go.id) โŒ 403 โœ… 200 โš ๏ธ Geo-blocked Blocked from AU datacenter IPs
7 Putusan MA (putusan3.mahkamahagung.go.id) โŒ Timeout โŒ Timeout โŒ Down DNS resolves (103.16.79.91) but connection times out from both AU and ID
8 LPSE (spse.inaproc.id) โŒ 403 โœ… 200 โš ๏ธ Geo-blocked CF Turnstile challenge. Individual lpse.*.go.id portals all broken โ€” LKPP CNAME migration to ars.inaproc.id caused "CNAME Cross-User Banned" on CF. 589 portals affected
9 Portal APBN (data.anggaran.kemenkeu.go.id) โŒ DNS โŒ DNS โŒ DNS Dead NXDOMAIN from everywhere
10 Bank Indonesia (www.bi.go.id) โš ๏ธ 302 โœ… โœ… Working Redirects to /id/ โ€” normal behavior
11 BIG Geospatial (tanahair.indonesia.go.id) โŒ Timeout โŒ Timeout โŒ Down DNS resolves (202.4.179.23) but server unresponsive
12 BNPB Disaster (dibi.bnpb.go.id) โœ… 200 โœ… โœ… Working REST + GeoJSON API stable

Tier 2: Scrapeable Web

# Portal AU ID Status Notes
13 BPJPH (sertifikasi.halal.go.id) โŒ DNS โŒ DNS โŒ DNS Dead Old cert search portal gone. bpjph.halal.go.id is alive but it's a Gatsby news site โ€” no public cert search API
14 BPOM (cekbpom.pom.go.id) โœ… 200 โœ… โœ… Working Redesigned โ€” old /produk/0/{id} URLs all 404. New endpoint: POST /produk-dt/all (DataTables + CSRF). 639K+ products
15 AHU (ahu.go.id) โŒ Timeout โœ… 200 โš ๏ธ Geo-blocked Company registry in extended maintenance. Accessible from ID but returns 0 records
16 OSS (oss.go.id) โœ… 200 โœ… 200 โš ๏ธ Changed Site loads but /informasi/pencarian-nib returns 404 from everywhere โ€” public NIB search page removed
17 OJK Registry (sikapiuangmu.ojk.go.id) โŒ 403 โœ… 200 โš ๏ธ Geo-blocked Blacklist data accessible only via Indonesian IP
18 OJK API (api.ojk.go.id) โŒ DNS โŒ DNS โŒ DNS Dead NXDOMAIN from everywhere since at least Mar 10
19 LHKPN (elhkpn.kpk.go.id) โœ… 200 โœ… 200 โš ๏ธ Auth Wall Page loads but redirects to reCAPTCHA + login. Wealth declaration search was previously public
20 Putusan MK (putusan.mahkamahkonstitusi.go.id) โŒ DNS โŒ DNS โŒ DNS Dead NXDOMAIN from everywhere
21 KSEI (www.ksei.co.id) โŒ Timeout โœ… 200 โš ๏ธ Geo-blocked Blocks datacenter IPs
22 e-PPID (ppid.kemenkeu.go.id) โŒ DNS โŒ DNS โŒ DNS Dead NXDOMAIN from everywhere
23 Pajak / DJP (ereg.pajak.go.id) โŒ Timeout โŒ Timeout โŒ Down DNS resolves (103.28.106.134) but connection times out from both

Tier 3: Regional Open Data

# Portal AU ID Status Notes
24 Satu Data Jakarta (data.jakarta.go.id) โœ… 200 โœ… โœ… Working Best regional portal, CKAN API
25 Open Data Jabar (opendata.jabarprov.go.id) โŒ 403 โŒ 403 โŒ CF Challenge Cloudflare blocking from both AU and ID
26 Open Data Jatim (data.jatimprov.go.id) โŒ DNS โŒ DNS โŒ DNS Dead NXDOMAIN
27 Satu Data Surabaya (data.surabaya.go.id) โŒ DNS โŒ DNS โŒ DNS Dead NXDOMAIN
28 Open Data Bandung (data.bandung.go.id) โŒ Timeout โŒ Timeout โŒ Down DNS resolves (202.58.242.113) but unresponsive
29 Open Data Bali (data.baliprov.go.id) โŒ DNS โŒ DNS โŒ DNS Dead NXDOMAIN

Tier 4: Ministry-Specific

# Portal AU ID Status Notes
30 Kemnaker (kemnaker.go.id) โœ… 200 โœ… โœ… Working
31 Komdigi (komdigi.go.id) โŒ 403 โŒ 403 โŒ CF Challenge Cloudflare blocking from both
32 ESDM (www.esdm.go.id) โœ… 200 โœ… โœ… Working
33 KKP (kkp.go.id) โœ… 200 โœ… โœ… Working
34 ATR/BPN (www.atrbpn.go.id) โœ… 200 โœ… โœ… Working
35 Kemendikdasmen (dapo.kemdikbud.go.id) โŒ DNS โŒ DNS โŒ DNS Dead NXDOMAIN โ€” ministry restructured from Kemdikbud
36 Kemenkes (sirs.kemkes.go.id) โœ… 200 โœ… โœ… Working Hospital/clinic registry
37 Kemenag (simas.kemenag.go.id) โœ… 200 โœ… โœ… Working Mosque registry

Tier 5: Transparency

# Portal AU ID Status Notes
38 OCCRP Aleph (aleph.occrp.org) โœ… 200 โœ… โœ… Working International โ€” no geo-blocking
39 OpenCorporates (opencorporates.com) โŒ 403 โŒ 403 โš ๏ธ Bot Protection Rate-limited, needs API key
40 EITI Indonesia (eiti.esdm.go.id) โŒ DNS โŒ DNS โŒ DNS Dead NXDOMAIN
41 AHU-BO (ahu.go.id) โŒ Timeout โœ… 200 โš ๏ธ Geo-blocked Same as AHU (#15) โ€” accessible from ID only
42 ICW (antikorupsi.org) โœ… 200 โœ… โœ… Working

Tier 6: Financial

# Portal AU ID Status Notes
43 OJK SIKEPO (ojk.go.id) โŒ Timeout โœ… 200 โš ๏ธ Geo-blocked Main OJK site blocked from AU
44 Satgas Waspada (sikapiuangmu.ojk.go.id) โŒ 403 โœ… 200 โš ๏ธ Geo-blocked Same as OJK Registry (#17)
45 KSEI Stats (www.ksei.co.id) โŒ Timeout โœ… 200 โš ๏ธ Geo-blocked Same as KSEI (#21)
46 DJPB Budget (djpb.kemenkeu.go.id) โœ… 200 โœ… โœ… Working

Tier 7: Civil Society & Geospatial

# Portal AU ID Status Notes
47 LAPOR! (www.lapor.go.id) โœ… 200 โœ… โœ… Working
48 IndoLII (www.indolii.org) โŒ DNS โŒ DNS โŒ DNS Dead NXDOMAIN โ€” project may have shut down
49 Geoportal (tanahair.indonesia.go.id) โŒ Timeout โŒ Timeout โŒ Down Same as BIG (#11)
50 InaRisk (inarisk.bnpb.go.id) โœ… 200 โœ… โœ… Working
51 pasal.id (pasal.id) โœ… 200 โœ… โœ… Working Community-run, MCP-ready

Summary

Category Count Portals
โœ… Working (from everywhere) 22 Satu Data, BPS, BMKG, BI, BNPB, BPJPH (new), BPOM, AHU, OSS, LHKPN, Jakarta, Kemnaker, ESDM, KKP, ATR/BPN, Kemenkes, Kemenag, OCCRP, ICW, LAPOR!, InaRisk, pasal.id
โš ๏ธ Geo-blocked (ID only) 6 JDIH BPK, LPSE, OJK Registry, KSEI, Satgas Waspada, DJPB Budget
โš ๏ธ CF/Bot blocked 5 IDX, Jabar, Komdigi, OpenCorporates, (BPS now working โœ…)
โŒ Down (DNS ok, server dead) 3 Bandung (400/500), AHU-BO (404), KSEI Stats (404)
โŒ DNS Dead 16 DJPB Treasury, APBN, BPJPH (old), OJK API, Putusan MA, Putusan MK, e-PPID, Pajak/DJP, Jatim, Surabaya, Bali, Kemendikdasmen, EITI, IndoLII, BIG/Geoportal, CoreTax

16 out of 57 portals have dead DNS. That's 28% of Indonesian government data infrastructure with completely broken domain records.

Last updated: 2026-03-29 โ€” Full status update โ†’


Related Projects

Project Description
indonesia-civic-stack Production-ready Python SDK + MCP server wrapping 11 government portals
indonesia-civic-signal-monitor Anomaly detection engine โ€” monitors civic data for newsworthy changes
cek-investasi / legalkah.id Investment legality checker using OJK + BPJPH data
cerita.datarakyat.id Civic correlation engine โ€” cross-references government datasets for stories

This repo is the reference documentation layer. The civic-stack SDK is the code layer. The signal monitor is the intelligence layer.

Contributing

Know an Indonesian government API not listed here? Found a gotcha? PRs welcome!

Disclaimer

This project documents publicly available government data sources for educational and research purposes. It is not affiliated with any Indonesian government agency. Always respect rate limits and terms of service.

License

MIT

About

๐Ÿ‡ฎ๐Ÿ‡ฉ 50+ Indonesian Government APIs & Data Sources โ€” BPS, OJK, BPJPH, BPOM, Bank Indonesia, IDX, BMKG + MCP servers. Python examples, scraping patterns, and practical gotchas. It's very challenging to keep up with all the breaking and blocking changes of Indonesian government APIs and digital resources. Always verify and test rigorously.

Topics

Resources

License

Stars

Watchers

Forks

Contributors