Wilayah Indonesia API
A free JSON API for Indonesian administrative codes: 38 provinces, 514 regencies and cities, 7,277 districts and 83,731 villages.
- Status
- Status: Deployment ReleasedNewly shipped and live, still settling in before it counts as finished.
- Kind
- Web Development
- Started
- Mar 2026

About it
The problem
Almost every Indonesian form asks for a province, regency, district and village, yet developers keep copying region lists from spreadsheets that are out of date or missing the official codes.
The approach
Wilayah Indonesia API serves the full hierarchy from JSON data files through FastAPI, with every record carrying its parent chain, and no key needed. The landing page is a working client rather than a brochure, server-rendered with Jinja2, with one hand-written stylesheet, two small scripts and no build step.
- Four cascading pickers with type-to-filter, full keyboard support and shareable ?code= links.
- A jump-to-code box that accepts full codes or shorthand like 33/01/01/2001.
- A request log that lists every call the page makes, with status and timing.
- Analytics from GET /api/stats/{code}, and a reference generated from the registered routes so it cannot drift.
The result
Live at wilayah.rone.dev with Swagger UI, documented error codes and hosted-API terms. It is open source under the MIT licence and covered by tests for the API, the data loader and the schema contracts.
What it does4
Full Hierarchy
Working Demo Client
Documented Errors
Contract Tests
More work

ridwaanhall.com
This site: a portfolio and blog on Next.js 16 with an admin, Markdown versions of every page and a CV generated from the About page.

Rone Arena API
A public FastAPI for Mobile Legends hero data, analytics and player tools, with a web playground and SDKs.

BeliMadu.com
An online honey shop on Next.js 16 and Cloudflare Workers, with a WhatsApp-checkout cart and a Vitest suite.
Comments0
Signed-in readers can comment.