ridwaanhall Profile Photo
Ridwan Halim

Wilayah Indonesia API

Complete REST API for Indonesian administrative regions with 83,000+ villages, districts, regencies, and provinces using official government codes.

Completed
Back Back
Python Python
Django Django
Django REST Framework Django REST Framework
Vercel Vercel
Wilayah Indonesia API - wilayah_indonesia_api_dashboard.webp
Wilayah Indonesia API - wilayah_indonesia_api_endpoints.webp
Wilayah Indonesia API - wilayah_indonesia_api_response.webp

3 images • Use arrows or dots to navigate

·

Description

Built with Django 6.0 and Python 3.14, providing a scalable and maintainable architecture for hierarchical geographical data modeling.

Comprehensive REST API covering all 38 provinces, 514 regencies/cities, 7,277 districts, and 83,731 villages in Indonesia with official administrative codes.

Implements efficient relational database design using PostgreSQL in production and SQLite for development, optimized for complex hierarchical queries.

RESTful endpoints with DRF (Django REST Framework) supporting JSON responses and browsable HTML interface for developer-friendly integration.

Advanced filtering capabilities with relational validation ensuring data consistency across administrative hierarchy levels.

Zero-downtime deployment on Vercel with serverless architecture, automatic scaling, and environment-based configuration.

Modular Django app structure enabling easy extension for electoral districts (dapil), postal codes, or statistical data integration.

Production-ready with WhiteNoise for static file serving, CORS configuration, and comprehensive error handling.

Open-source under MIT license, actively maintained with regular data updates from official Indonesian government sources.

Features

Complete Administrative Hierarchy

Access all 4 levels of Indonesian administrative divisions: 38 provinces, 514 regencies, 7,277 districts, and 83,731 villages with official BPS codes.

Efficient Relational Database Design

Optimized PostgreSQL schema with foreign key relationships ensuring data integrity and fast queries across hierarchical levels.

RESTful API with DRF

Clean REST endpoints built with Django REST Framework, supporting JSON format, pagination, and browsable API interface.

Advanced Filtering & Validation

Query by region codes, filter by parent regions, with automatic validation to prevent invalid administrative relationships.

Serverless Deployment

Production deployment on Vercel with automatic scaling, CDN caching, and sub-100ms response times globally.

Management Commands

Built-in Django commands for data import/export from official sources, with validation and error handling.

Modular & Extensible

Clean app structure allowing integration of additional datasets like postal codes, coordinates, or population statistics.

Production Ready

Includes security best practices, WhiteNoise static serving, CORS support, and comprehensive error handling.

Tech Stack

Python
Python Versatile programming language for web development, data science, and automation
Django
Django High-level Python web framework for rapid development
Django REST Framework
Django REST Framework Powerful toolkit for building Web APIs in Django
Vercel
Vercel Platform for frontend frameworks and static sites