Complete Administrative Data
All 38 provinces, 514 regencies, 7,285 districts, and 83,762 villages with official codes and names
Ready-to-use Indonesian provinces, regencies, districts, and villages data for Laravel applications
Laravel Nusa solves the common challenge of integrating Indonesian administrative data into Laravel applications. Instead of manually importing and maintaining large datasets, you get:
Install the package via Composer:
composer require creasi/laravel-nusa
Start using 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;
Access data through clean RESTful endpoints:
# Get all provinces
GET /nusa/provinces
# Get specific province
GET /nusa/provinces/33
# Get regencies in a province
GET /nusa/provinces/33/regencies
# Search with query parameters
GET /nusa/villages?search=jakarta&codes[]=31.71
Easily integrate address functionality into your models:
use Creasi\Nusa\Contracts\HasAddresses;
use Creasi\Nusa\Models\Concerns\WithAddresses;
class User extends Model implements HasAddresses
{
use WithAddresses;
}
// Now your users can have addresses
$user->addresses()->create([
'province_code' => '33',
'regency_code' => '33.75',
'district_code' => '33.75.01',
'village_code' => '33.75.01.1002',
'address_line' => 'Jl. Merdeka No. 123'
]);