Skip to main content

API Data Penduduk

Selamat datang di dokumentasi API Penduduk Pemerintah Kota Denpasar. API ini menyediakan akses ke data penduduk dilengkapi dengan Paginasi Otomatis dan Pencarian Fleksibel (Unified Search)


Informasi Umum

  • Base URL: https://dev.denpasarkota.go.id/api/v1
  • Format Request/Response: application/json
  • Otentikasi: Kredensial database dikelola secara terpusat oleh API Gateway. Client frontend melakukan pemanggilan ke endpoint publik menggunakan apikey.

1. Ambil Data Penduduk (List & Paging)

Endpoint ini digunakan untuk mengambil data seluruh penduduk secara bertahap (halaman per halaman). Data secara otomatis diurutkan berdasarkan data terbaru.

POST /api/v1/penduduk

Parameter Request (Body JSON)

Seluruh parameter bersifat opsional. Jika tidak dikirim, sistem akan menggunakan nilai default.

ParameterTipeDefaultDeskripsi
page_numberInteger1Halaman data yang ingin ditampilkan.
page_sizeInteger10Jumlah baris data per halaman.

Contoh Pemanggilan (cURL)

curl -X POST https://dev.denpasarkota.go.id/api/v1/penduduk \
-H "Content-Type: application/json" \
-d '{
"page_number": 1,
"page_size": 5
}'

Endpoint ini sangat fleksibel. Anda bisa mencari data secara spesifik menggunakan NIK, pencarian parsial menggunakan Nama, atau gabungan keduanya untuk filter yang ketat.

POST /api/v1/penduduk/search

Parameter Request (Body JSON)

Anda dapat mengirimkan salah satu atau kedua parameter pencarian.

ParameterTipeWajibDeskripsi
p_nikStringTidak*NIK asli warga (16 digit). Pencarian bersifat exact match.
p_namaStringTidak*Nama warga. Mendukung pencarian sebagian kata (partial match) & mengabaikan huruf besar/kecil.
page_numberIntegerTidakHalaman data (Default: 1).
page_sizeIntegerTidakJumlah data per halaman (Default: 10).

(Catatan: Minimal kirimkan salah satu dari p_nik atau p_nama untuk melakukan pencarian).

Contoh Pemanggilan: Cari berdasarkan NIK

curl -X POST https://dev.denpasarkota.go.id/api/v1/penduduk/search \
-H "Content-Type: application/json" \
-d '{
"p_nik": "351000000999111"
}'

Contoh Pemanggilan: Cari berdasarkan Nama (Parsial)

curl -X POST https://dev.denpasarkota.go.id/api/v1/penduduk/search \
-H "Content-Type: application/json" \
-d '{
"p_nama": "agung",
"page_number": 1,
"page_size": 10
}'

Struktur Response (Format JSON)

Kedua endpoint di atas akan selalu mengembalikan format JSON yang seragam. Kolom dengan akhiran _alt menandakan bahwa data tersebut telah disensor (Masking).

Contoh Response Sukses (200 OK)

{
"data": [
{
"nik_alt": "351013******0004",
"nama": "AGUNG SEMELEKETE",
"nama_ibu_alt": "SU***",
"no_kk_alt": "35101******0002",
"alamat_alt": "JL. MELA********",
"t_dusun_lingkungan": "DUSUN MAWAR",
"t_desakel": "DESA TULIP",
"t_kec": "DENPASAR SELATAN",
"t_kabkota": "KOTA DENPASAR",
"created_at": "2026-03-09T05:59:16.83381"
}
],
"total": 519619,
"page": 1
}

Penjelasan Atribut Response

  • data: Array berisi kumpulan objek data penduduk.
  • total: Angka total keseluruhan data yang ada (berguna untuk frontend membuat perhitungan total halaman pada tombol navigasi).
  • page: Nomor halaman yang sedang diakses saat ini.

Kode Status HTTP

KodeKeteranganSolusi / Arti
200 OKSuksesPermintaan berhasil diproses dan mengembalikan data.
400 Bad RequestInput Tidak ValidPastikan tipe data pada Body JSON sudah benar (misal: angka tidak memakai tanda kutip).
404 Not FoundRute Tidak DitemukanPastikan URL endpoint sudah benar dan menggunakan method POST.
500 Internal ErrorKesalahan ServerTerjadi kendala pada koneksi ke database utama.