{"id":47193097,"url":"https://github.com/suryast/indonesia-gov-apis","last_synced_at":"2026-03-14T12:01:16.451Z","repository":{"id":342965058,"uuid":"1175534542","full_name":"suryast/indonesia-gov-apis","owner":"suryast","description":"🇮🇩 50+ Indonesian Government APIs \u0026 Data Sources — BPS, OJK, BPJPH, BPOM, Bank Indonesia, IDX, BMKG + MCP servers. Python examples, scraping patterns, and practical gotchas.","archived":false,"fork":false,"pushed_at":"2026-03-08T07:12:56.000Z","size":93,"stargazers_count":128,"open_issues_count":1,"forks_count":9,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-13T20:59:41.326Z","etag":null,"topics":["api-reference","bpjph","bps","data-indonesia","government-api","indonesia","indonesia-data","ojk","open-data"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/suryast.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-07T20:57:55.000Z","updated_at":"2026-03-13T16:54:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/suryast/indonesia-gov-apis","commit_stats":null,"previous_names":["suryast/indonesia-gov-apis"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/suryast/indonesia-gov-apis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suryast%2Findonesia-gov-apis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suryast%2Findonesia-gov-apis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suryast%2Findonesia-gov-apis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suryast%2Findonesia-gov-apis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/suryast","download_url":"https://codeload.github.com/suryast/indonesia-gov-apis/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suryast%2Findonesia-gov-apis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30503086,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-14T10:22:08.196Z","status":"ssl_error","status_checked_at":"2026-03-14T10:21:46.902Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-reference","bpjph","bps","data-indonesia","government-api","indonesia","indonesia-data","ojk","open-data"],"created_at":"2026-03-13T11:16:07.666Z","updated_at":"2026-03-14T12:01:16.402Z","avatar_url":"https://github.com/suryast.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🇮🇩 Indonesia Government APIs \u0026 Data Sources\n\nA comprehensive reference for **50 Indonesian government data portals, APIs, and data sources** — with practical Python examples, scraping patterns, and gotchas learned from production use.\n\n\u003e **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.\n\n## 🤖 Use as an AI Agent Skill\n\nThis repo includes a [`SKILL.md`](SKILL.md) that makes it usable as a Claude/OpenClaw agent skill:\n\n```bash\n# Clone and use as a local skill reference\ngit clone https://github.com/suryast/indonesia-gov-apis.git\n```\n\n## 🔌 MCP Servers\n\nConnect Indonesian data sources to AI assistants via [Model Context Protocol](https://modelcontextprotocol.io):\n\n```bash\n# Connect pasal.id (third-party Indonesian law index) to Claude\nclaude mcp add --transport http pasal-id https://pasal-mcp-server-production.up.railway.app/mcp\n```\n\nSee [`mcp-servers/`](mcp-servers/) for full setup instructions and a list of data sources ready for MCP wrapping.\n\n---\n\n## Data Sources by Tier\n\n### Tier 1: Open APIs — Ready to Consume (12 sources)\n\n| # | Source | Agency | Docs | API? |\n|---|--------|--------|------|------|\n| 1 | [Portal Satu Data (SDI)](apis/tier1-open-apis/data-go-id/) | Bappenas | CKAN portal, 10K+ datasets | ✅ CKAN API |\n| 2 | [BPS Statistics](apis/tier1-open-apis/bps/) | Badan Pusat Statistik | GDP, CPI, population, trade | ✅ REST API |\n| 3 | [BMKG Weather](apis/tier1-open-apis/bmkg/) | BMKG | Weather, earthquakes, tsunami | ✅ JSON feeds |\n| 4 | [IDX / BEI](apis/tier1-open-apis/idx/) | Bursa Efek Indonesia | Stock prices, corporate data | ⚠️ Unofficial |\n| 5 | [DJPB Treasury](apis/tier1-open-apis/djpb-treasury/) | Kemenkeu | Treasury, disbursement data | ✅ CKAN API |\n| 6 | [JDIH BPK](apis/tier1-open-apis/jdih-bpk/) | BPK / Perpusnas | Legal documentation network | ✅ Partial API |\n| 7 | [Putusan MA](apis/tier1-open-apis/putusan-ma/) | Mahkamah Agung | Court decisions (millions) | ✅ Public search |\n| 8 | [LPSE / INAPROC](apis/tier1-open-apis/lpse-inaproc/) | LKPP | Government procurement tenders | ⚠️ Scrape (689 hosts) |\n| 9 | [Portal APBN](apis/tier1-open-apis/apbn-kemenkeu/) | Kemenkeu | State budget data | ✅ CSV/XLSX |\n| 10 | [Bank Indonesia](apis/tier1-open-apis/bank-indonesia/) | Bank Indonesia | Exchange rates, BI Rate | ✅ REST API |\n| 11 | [BIG Geospatial](apis/tier1-open-apis/big-geospatial/) | BIG | Admin boundaries, zoning | ✅ WMS/WFS |\n| 12 | [BNPB Disaster](apis/tier1-open-apis/bnpb-disaster/) | BNPB | Disaster events, risk data | ✅ REST + GeoJSON |\n\n### Tier 2: Scrapeable Web — Structured Data, No Formal API (10 sources)\n\n| # | Source | Agency | Docs | Format |\n|---|--------|--------|------|--------|\n| 13 | [BPJPH Halal](apis/tier2-scrapeable/bpjph/) | BPJPH Kemenag | 1.98M halal businesses | JSON POST |\n| 14 | [BPOM Products](apis/tier2-scrapeable/bpom/) | BPOM | 242K food/drug registrations | DataTables+CSRF |\n| 15 | [AHU Company Registry](apis/tier2-scrapeable/ahu-company/) | Kemenkumham | All registered PT, CV, Firma | HTML+CAPTCHA |\n| 16 | [OSS / NIB](apis/tier2-scrapeable/oss-nib/) | BKPM | Business ID (NIB) lookup | HTML forms |\n| 17 | [OJK Registry](apis/tier2-scrapeable/ojk/) | OJK | Licensed financial entities | HTML+XLS |\n| 18 | [KPK e-LHKPN](apis/tier2-scrapeable/kpk-lhkpn/) | KPK | Officials' wealth declarations | HTML+PDF |\n| 19 | [Putusan MK](apis/tier2-scrapeable/putusan-mk/) | Mahkamah Konstitusi | Constitutional court decisions | HTML+PDF |\n| 20 | [KSEI Statistics](apis/tier2-scrapeable/ksei/) | KSEI | Securities investor stats | PDF/XLSX |\n| 21 | [e-PPID](apis/tier2-scrapeable/ppid/) | All Ministries | Public information requests | Per ministry |\n| 22 | [Pajak / DJP](apis/tier2-scrapeable/pajak-djp/) | DJP | NPWP verification | Login required |\n\n### Tier 3: Regional Open Data Portals (6 sources)\n\n| # | Source | Region | Docs | Quality |\n|---|--------|--------|------|---------|\n| 23 | [Satu Data Jakarta](apis/tier3-regional/satu-data-jakarta/) | DKI Jakarta | Best-in-class regional | ⭐ CKAN API |\n| 24 | [Open Data Jabar](apis/tier3-regional/opendata-jabar/) | Jawa Barat | Good API quality | ⭐ CKAN API |\n| 25 | [Open Data Jatim](apis/tier3-regional/opendata-jatim/) | Jawa Timur | 38 kabupaten/kota | ✅ CKAN API |\n| 26 | [Satu Data Surabaya](apis/tier3-regional/satu-data-surabaya/) | Surabaya | Complete city-level | ✅ CKAN API |\n| 27 | [Open Data Bandung](apis/tier3-regional/opendata-bandung/) | Bandung | Smart city data | ✅ CKAN API |\n| 28 | [Open Data Bali](apis/tier3-regional/opendata-bali/) | Bali | Tourism, agriculture | ⚠️ CSV/XLSX |\n\n### Tier 4: Ministry-Specific Data (8 sources)\n\n| # | Source | Ministry | Docs | Key Data |\n|---|--------|----------|------|----------|\n| 29 | [Kemnaker](apis/tier4-ministry/kemnaker/) | Ketenagakerjaan | UMR/UMP wages, employment stats | ⚠️ Partial API |\n| 30 | [Komdigi](apis/tier4-ministry/komdigi/) | Komunikasi Digital | Internet penetration, digital literacy | ⚠️ XLSX |\n| 31 | [ESDM Energy](apis/tier4-ministry/esdm-energy/) | ESDM | Energy production, mining permits | ⚠️ PDF/XLSX |\n| 32 | [KKP Fisheries](apis/tier4-ministry/kkp-fisheries/) | Kelautan \u0026 Perikanan | Fish catch, aquaculture, vessels | ⚠️ XLSX |\n| 33 | [ATR/BPN Land](apis/tier4-ministry/atr-bpn/) | ATR / BPN | Land certificates, PTSL | ❌ Login |\n| 34 | [Kemendikdasmen](apis/tier4-ministry/kemendikdasmen/) | Pendidikan | School registry (NPSN), teachers | ⚠️ Partial API |\n| 35 | [Kemenkes Health](apis/tier4-ministry/kemenkes/) | Kesehatan | Hospital/clinic registry, SATUSEHAT | ⚠️ Partial API |\n| 36 | [Kemenag](apis/tier4-ministry/kemenag/) | Agama | 300K+ mosques, pesantren registry | ⚠️ Scrape |\n\n### Tier 5: Anti-Corruption \u0026 Transparency (5 sources)\n\n| # | Source | Organization | Docs | Key Data |\n|---|--------|-------------|------|----------|\n| 37 | [OCCRP Aleph](apis/tier5-transparency/occrp-aleph/) | OCCRP | Beneficial ownership, leaks data | ✅ REST API |\n| 38 | [OpenCorporates](apis/tier5-transparency/opencorporates/) | OpenCorporates | Global company registry (ID subset) | ✅ REST API |\n| 39 | [EITI Indonesia](apis/tier5-transparency/eiti-indonesia/) | EITI / ESDM | Mining \u0026 oil/gas revenue transparency | ⚠️ Reports |\n| 40 | [AHU-BO](apis/tier5-transparency/ahu-bo/) | Kemenkumham | Beneficial ownership registry | ⚠️ Web search |\n| 41 | [ICW Corruption Watch](apis/tier5-transparency/icw-corruption/) | ICW (NGO) | Corruption case tracker | ⚠️ Web database |\n\n### Tier 6: Financial Sector (4 sources)\n\n| # | Source | Agency | Docs | Key Data |\n|---|--------|--------|------|----------|\n| 42 | [OJK SIKEPO](apis/tier6-financial/ojk-sikepo/) | OJK | Fintech/crypto licensed platforms | ⚠️ PDF+HTML |\n| 43 | [Satgas Waspada Investasi](apis/tier6-financial/satgas-waspada/) | OJK Task Force | Illegal investment alerts | ✅ Public list |\n| 44 | [KSEI Investor Stats](apis/tier6-financial/ksei-stats/) | KSEI | Monthly investor statistics | ⚠️ XLSX/PDF |\n| 45 | [DJPB Budget](apis/tier6-financial/djpb-budget/) | DJPB Kemenkeu | APBN spending execution | ⚠️ XLS/CSV |\n\n### Tier 7: Civil Society \u0026 Geospatial (5 sources)\n\n| # | Source | Organization | Docs | Key Data |\n|---|--------|-------------|------|----------|\n| 46 | [LAPOR!](apis/tier7-civil-society/lapor/) | KemenPANRB | Public complaint system | ⚠️ Web portal |\n| 47 | [IndoLII](apis/tier7-civil-society/indolii/) | USAID | Bilingual legal information | ⚠️ Web search |\n| 48 | [OGP Indonesia](apis/tier7-civil-society/ogp-indonesia/) | OGP | Ministry transparency scores | ⚠️ Reports |\n| 49 | [Geoportal One Map](apis/tier7-civil-society/geoportal-onemap/) | BIG / KLHK | 85 thematic maps, One Map Policy | ✅ WMS/WFS |\n| 50 | [SIGAP / InaRisk](apis/tier7-civil-society/sigap-inarisk/) | BNPB | Disaster risk scores by location | ✅ REST API |\n| 51 | [pasal.id](apis/tier7-civil-society/pasal-id/) | Community (third-party) | 40K regulations, 937K articles via MCP | 🔵 MCP Ready |\n\n---\n\n## Quick Start\n\n```python\n# Search BPJPH halal database\nimport requests\n\nresp = requests.post(\n    \"https://cmsbl.halal.go.id/api/search/data_penyelia\",\n    json={\"length\": 20, \"start\": 0, \"nama_penyelia\": \"A\"},\n    headers={\"Content-Type\": \"application/json\"}\n)\nbusinesses = resp.json()[\"data\"]\nprint(f\"Found {len(businesses)} businesses\")\n```\n\n```python\n# Get BMKG earthquake data (no auth needed)\nresp = requests.get(\"https://data.bmkg.go.id/DataMKG/TEWS/autogempa.json\")\nquake = resp.json()[\"Infogempa\"][\"gempa\"]\nprint(f\"Latest: M{quake['Magnitude']} at {quake['Wilayah']}\")\n```\n\n## Common Gotchas\n\n### 🚫 IP Blocking\nMost Indonesian gov sites block datacenter IPs (AWS, GCP, DO). Use Cloudflare Workers proxy or residential proxy.\n\n### 📄 Data Formats\nGovernment sites love Excel and PDF. Use `openpyxl` for Excel, `pdfplumber` for PDF.\n\n### 🔐 CSRF Tokens\nBPOM and some OJK pages require session cookies + CSRF tokens. Always use `requests.Session()`.\n\n### 🔄 CKAN API\ndata.go.id, Jakarta, Jabar, Jatim, Surabaya, Bandung all use CKAN. Same API pattern works everywhere:\n```python\nrequests.get(\"https://{portal}/api/3/action/package_search\", params={\"q\": \"keyword\", \"rows\": 10})\n```\n\n## Project Structure\n\n```\n├── README.md\n├── SKILL.md                      # AI agent skill file\n├── mcp-servers/                  # MCP server setup guides\n├── apis/\n│   ├── tier1-open-apis/          # 12 sources with REST/JSON APIs\n│   ├── tier2-scrapeable/         # 10 sources requiring scraping\n│   ├── tier3-regional/           # 6 regional open data portals\n│   ├── tier4-ministry/           # 8 ministry-specific sources\n│   ├── tier5-transparency/       # 5 anti-corruption sources\n│   ├── tier6-financial/          # 4 financial sector sources\n│   └── tier7-civil-society/      # 5 civil society \u0026 geospatial\n└── examples/                     # Working Python examples\n```\n\n## Contributing\n\nKnow an Indonesian government API not listed here? Found a gotcha? PRs welcome!\n\n## Disclaimer\n\nThis 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.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuryast%2Findonesia-gov-apis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuryast%2Findonesia-gov-apis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuryast%2Findonesia-gov-apis/lists"}