Wilayah Indonesia API
Complete REST API for Indonesian administrative regions with 83,000+ villages, districts, regencies, and provinces using official government codes.
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.