CLAUDE CODE MARKETPLACES
Skillssuryast/indonesia-gov-apisquerying-indonesian-gov-data

querying-indonesian-gov-data

>

npx skills add https://github.com/suryast/indonesia-gov-apis --skill querying-indonesian-gov-data
SKILL.md

Querying Indonesian Government Data

šŸ‡®šŸ‡© STARTER_CHARACTER = šŸ‡®šŸ‡©

Route the user's intent to the right child reference, then follow its patterns.

Router

User intentLoad referenceQuick pattern
Halal certification, halal product checkreferences/bpjph-halal.mdPOST cmsbl.halal.go.id/api/search/data_penyelia JSON, no auth
Food/drug/cosmetic registration, BPOMreferences/bpom-products.mdSession + CSRF → POST cekbpom.pom.go.id/produk-dt
Is this fintech/investment legal, OJKreferences/ojk-legality.mdGET sikapiuangmu.ojk.go.id/FrontEnd/AlertPortal/Search
Weather in Indonesia, earthquake, tsunamireferences/bmkg-weather.mdGET data.bmkg.go.id/DataMKG/TEWS/autogempa.json
GDP, inflation, population, trade statsreferences/bps-statistics.mdGET webapi.bps.go.id/v1/api/... (free API key)
USD/IDR exchange rate, BI Ratereferences/bank-indonesia.mdScrape bi.go.id/id/statistik/informasi-kurs/
Indonesian law, regulation, specific pasalreferences/pasal-id-law.mdMCP (third-party): claude mcp add --transport http pasal-id ...
Government datasets on any topicreferences/ckan-portals.mdGET {portal}/api/3/action/package_search
Disaster risk for a locationreferences/inarisk-disaster.mdGET inarisk.bnpb.go.id/api/risk/score?lat=&lon=
Verify company is registeredreferences/company-verification.mdOpenCorporates → OCCRP → AHU cross-ref
Indonesian stock prices, IHSGreferences/idx-stocks.mdyfinance with .JK suffix

Workflow

  1. Match user intent to a row in the Router table above
  2. Read the linked reference file for full endpoint docs and code
  3. Adapt the pattern with user's specific query/parameters
  4. Execute and handle failures per the section below

Failure Modes

IP Blocked (403 / Timeout): Most .go.id sites block datacenter IPs. Add 2-5s delays or route through Cloudflare Workers proxy.

CSRF Expired: Re-fetch the HTML page, extract fresh csrf-token from <meta> tag. Applies to BPOM.

Rate Limits: BPS ~100/day, OpenCorporates 500/day, OCCRP 60/min, BPOM 2s gap minimum.

Required Headers:

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
    "Accept-Language": "id-ID,id;q=0.9,en;q=0.8",
}

Data Formats: Indonesian gov sites use Excel (.xlsx) and PDF heavily. Parse with openpyxl and pdfplumber. JSON APIs are the exception.

Extended Docs

For sources not in the Router (procurement, courts, wealth declarations, geospatial, regional portals, ministry-specific data), see the full docs:

  • apis/tier1-open-apis/ — 12 sources with REST/JSON APIs
  • apis/tier2-scrapeable/ — 10 sources requiring scraping
  • apis/tier3-regional/ — 6 regional CKAN portals
  • apis/tier4-ministry/ through apis/tier7-civil-society/ — 22 more sources
  • mcp-servers/ — MCP server setup and opportunities