creasi/laravel-nusa

A Laravel package that aim to provide Indonesia' Administrative Data
9,352 100
Install
composer require creasi/laravel-nusa
Latest Version:v0.1.19
PHP:^8.2
License:MIT
Last Updated:Sep 17, 2026
Links: GitHub  ·  Packagist
Maintainer: feryardiant

Laravel Nusa

Version License Actions Status Total Downloads

Laravel Nusa provides complete, ready-to-use Indonesian administrative region data for Laravel applications. This package includes all 38 provinces, 514 regencies, 7,285 districts, and 83,762 villages with their hierarchical relationships, postal codes, and geographic coordinates based on Kepmendagri No 300.2.2-2138 Tahun 2025.

Laravel Nusa solves the common challenge of integrating Indonesian administrative data into Laravel applications. Unlike other packages, it requires no data migration or seeding—the data is ready immediately after installation.

What's Included

Instead of manually importing and maintaining large datasets, you get:

  • Instant Setup: Pre-packaged SQLite database with all data ready to use
  • Official Data: Sourced from authoritative Indonesian government databases
  • Complete Models: Province, Regency, District, Village with relationships
  • RESTful API: Ready-to-use endpoints for all administrative levels
  • Address Management: Built-in address system with validation
  • Geographic Data: Coordinates and postal codes
  • Customizable: Extend models and customize to fit your needs

Roadmap v0.2

  • First-party UI Implementations
  • Provide downloadable sqlite database and static files on each release #220

Featured Packages

  • nusa-filament - Filament 4 components for Indonesian administrative region selects powered by laravel-nusa. by @VernSG

Documentation

For complete usage instructions, API reference, examples, and guides, visit our comprehensive documentation:

📚 Laravel Nusa Documentation

Quick Start

Install the package via Composer:

composer require creasi/laravel-nusa

Start using it immediately:

use Creasi\Nusa\Models\Province;

// Get all provinces
$provinces = Province::all();

// Search by name or code
$jateng = Province::search('Jawa Tengah')->first();
$jateng = Province::search('33')->first();

// Get related data
$regencies = $jateng->regencies;
$districts = $jateng->districts;
$villages = $jateng->villages;

That's all! The package is ready to use immediately after installation.

Contributing

For development setup, contribution guidelines, and detailed information about the project structure, see the full documentation.

Credits

License

The MIT License (MIT). Please see License File for more information.

Related Packages

laravolt/indonesia

Package Laravel yang berisi data Provinsi, Kabupaten/Kota, Kecamatan, dan Keluar...

235,523 676
aliziodev/laravel-indonesia-regions

Laravel package for Indonesia regions selection with postal codes | Package Lara...

1,529 25
lab404/laravel-impersonate

Laravel Impersonate is a plugin that allows to you to authenticate as your users...

20,619,309 2,340
igaster/laravel-theme

Laravel Themes: Asset & Views folder per theme. Theme inheritance. Blade integra...

1,279,271 515
jrenton/laravel-5-scaffold

Fastest way to rapidly scaffold a laravel application

268 4