REST API
REST API menyediakan akses ke data kode pos Indonesia melalui endpoint RESTful. Autentikasi menggunakan header Authorization: Bearer.
Base URL: https://api.kodepos.dev/kodepos/api
Data Model
Data kode pos Indonesia mengikuti hierarki wilayah: Provinsi → Kota/Kabupaten → Kecamatan → Kelurahan/Desa. Setiap kelurahan/desa memiliki kode pos.
| Entitas | Field | Tipe | Deskripsi |
|---|---|---|---|
| Province | code | string | Kode provinsi (2 digit) |
name | string | Nama provinsi | |
| City | code | string | Kode kota/kabupaten (5 digit) |
name | string | Nama kota/kabupaten | |
| District | code | string | Kode kecamatan (8 digit) |
name | string | Nama kecamatan | |
| Subdistrict | code | string | Kode kelurahan/desa (13 digit) |
name | string | Nama kelurahan/desa | |
postalCode | string | Kode pos (5 digit) |
Response Envelope
Semua response API menggunakan format envelope yang konsisten. Response yang berhasil memiliki field success: true dan data, sedangkan response error memiliki success: false dan error.
Response Berhasil
Response Error
Pagination
Semua endpoint list mendukung pagination berbasis kursor (cursor-based pagination). Gunakan parameter first dan after untuk menavigasi hasil.
| Parameter | Tipe | Default | Deskripsi |
|---|---|---|---|
first | integer | 20 | Jumlah item per halaman (maks 100) |
after | string | null | Kursor untuk halaman berikutnya |
Contoh Response dengan Pagination
Menggunakan Kursor
Gunakan nilai endCursor dari response sebelumnya sebagai parameter after untuk mendapatkan halaman berikutnya:
Provinces
/kodepos/api/provinces
Mendapatkan daftar provinsi di Indonesia.
Parameter
| Parameter | Tipe | Deskripsi |
|---|---|---|
q | string | Kata kunci pencarian (opsional) |
first | integer | Jumlah item per halaman (default 20) |
after | string | Kursor pagination |
Contoh Request
Contoh Response
/kodepos/api/provinces/:code
Mendapatkan detail provinsi berdasarkan kode.
Contoh Request
Contoh Response
Cities
/kodepos/api/cities
Mendapatkan daftar kota/kabupaten berdasarkan kode provinsi.
Parameter
| Parameter | Tipe | Deskripsi |
|---|---|---|
provinceCode wajib | string | Filter berdasarkan kode provinsi (wajib) |
q | string | Kata kunci pencarian (opsional) |
first | integer | Jumlah item per halaman (default 20) |
after | string | Kursor pagination |
Contoh Request
Contoh Response
/kodepos/api/cities/:code
Mendapatkan detail kota/kabupaten berdasarkan kode, termasuk data provinsi induk.
Contoh Response
Districts
/kodepos/api/districts
Mendapatkan daftar kecamatan berdasarkan kode kota/kabupaten.
Parameter
| Parameter | Tipe | Deskripsi |
|---|---|---|
cityCode wajib | string | Filter berdasarkan kode kota/kabupaten (wajib) |
q | string | Kata kunci pencarian (opsional) |
first | integer | Jumlah item per halaman (default 20) |
after | string | Kursor pagination |
Contoh Request
Contoh Response
/kodepos/api/districts/:code
Mendapatkan detail kecamatan berdasarkan kode, termasuk data kota dan provinsi induk.
Contoh Response
Subdistricts
/kodepos/api/subdistricts
Mendapatkan daftar kelurahan/desa beserta kode pos dan hierarki wilayah berdasarkan kode kecamatan.
Parameter
| Parameter | Tipe | Deskripsi |
|---|---|---|
districtCode wajib | string | Filter berdasarkan kode kecamatan (wajib) |
q | string | Kata kunci pencarian (opsional) |
first | integer | Jumlah item per halaman (default 20) |
after | string | Kursor pagination |
Contoh Request
Contoh Response
/kodepos/api/subdistricts/:code
Mendapatkan detail kelurahan/desa berdasarkan kode, termasuk kode pos dan hierarki wilayah lengkap.
Contoh Response
Pencarian
/kodepos/api/search
Pencarian lintas semua kelurahan/desa berdasarkan kata kunci. Pencarian dilakukan pada nama kelurahan, kode pos, nama kecamatan, nama kota/kabupaten, dan nama provinsi.
Parameter
| Parameter | Tipe | Deskripsi |
|---|---|---|
q wajib | string | Kata kunci pencarian (wajib, min. 2 karakter) |
first | integer | Jumlah item per halaman (default 20) |
after | string | Kursor pagination |