Pengantar
KBLI API adalah layanan REST yang memberikan akses terprogram ke database Klasifikasi Baku Lapangan Usaha Indonesia (KBLI) 2025 dan 2020. Cocok untuk sistem pendirian PT/CV, notaris digital, konsultan perizinan, hingga aplikasi akuntansi yang membutuhkan validasi kode usaha.
⚡ Cepat
Respons di bawah 100 ms dari database terindeks, bukan scraping real-time.
🔄 Selalu Update
Data tersinkron dengan sumber resmi OSS, mencakup KBLI 2025 terbaru.
🔐 Aman
Autentikasi API key per-klien, rate limit transparan, dan logging penuh.
Autentikasi
Setiap permintaan wajib menyertakan API key Anda pada header X-API-Key. Tanpa key yang valid, API mengembalikan 401 atau 403.
X-API-Key: naraya_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Base URL
Seluruh endpoint di bawah relatif terhadap base URL ini. Semua respons berformat application/json.
Daftar Endpoint
| Method | Endpoint | Fungsi |
|---|---|---|
| GET | /health | Cek status API (tanpa auth) |
| GET | /kbli/search | Cari KBLI berdasarkan kata kunci |
| GET | /kbli/suggest | Saran autocomplete cepat |
| GET | /kbli/{kode} | Detail satu kode KBLI |
| GET | /kbli/deprecated/{kode} | Cek apakah kode sudah nonaktif |
Pencarian KBLI
Mencari kode KBLI berdasarkan kata kunci (nama, deskripsi, kategori, atau kode). Mendukung pencarian fuzzy.
Parameter Query
| Parameter | Tipe | Default | Keterangan |
|---|---|---|---|
| q | string | — | Wajib. Kata kunci, min 2 karakter. |
| tahun | integer | 2025 | Versi KBLI: 2025 atau 2020. |
| page | integer | 1 | Halaman hasil. |
| limit | integer | 20 | Jumlah per halaman (maks 100). |
Contoh Permintaan
# cURL curl -H "X-API-Key: naraya_xxx" \ "https://kbli.narayadigital.co.id/api/v1/kbli/search?q=pertanian&tahun=2025"
Contoh Respons 200 OK
{
"success": true,
"query": "pertanian",
"source": "local_db",
"tahun_kbli": 2025,
"time": "0.04",
"pagination": { "page": 1, "limit": 20, "total": 9, "total_pages": 1 },
"data": [
{
"kode_kbli": "01283",
"nama_kbli": "Pertanian Pala",
"deskripsi": "Kelompok ini mencakup kegiatan pertanian pala...",
"kategori": null,
"tahun_kbli": 2025,
"status_aktif": true
}
]
}
source bernilai local_db bila data berasal dari database internal, atau oss_fallback bila diambil langsung dari OSS saat kata kunci belum ada di database.Autocomplete / Suggest
Versi ringan untuk fitur autocomplete pada kolom input. Mengembalikan daftar singkat tanpa deskripsi panjang.
| Parameter | Tipe | Default | Keterangan |
|---|---|---|---|
| q | string | — | Wajib. Min 2 karakter. |
| limit | integer | 10 | Maks 20. |
| tahun | integer | 2025 | Versi KBLI. |
{
"success": true,
"query": "perta",
"data": [
{ "kode_kbli": "01283", "nama_kbli": "Pertanian Pala", "kategori": null }
]
}
Detail per Kode
Mengambil detail lengkap satu kode KBLI. Tambahkan ?tahun=2020 untuk versi lama.
# Contoh curl -H "X-API-Key: naraya_xxx" \ "https://kbli.narayadigital.co.id/api/v1/kbli/01283"
Jika kode tidak ditemukan, API mengembalikan 404 dengan found: false. Bila kode ternyata sudah nonaktif, respons menyarankan endpoint /kbli/deprecated/{kode}.
Cek Kode Nonaktif (Deprecated)
Memeriksa apakah sebuah kode KBLI lama sudah tidak berlaku dan menemukan kode penggantinya — penting saat migrasi dari KBLI 2020 ke 2025.
{
"success": true,
"found": true,
"deprecated": true,
"mapping_type": "replacement",
"replacement": { "kode_kbli": "01XXX", "nama_kbli": "...", "tahun_kbli": 2025 },
"explanation": "..."
}
Rate Limit
Setiap API key memiliki batas per menit dan per hari sesuai paket Anda. Sisa kuota selalu disertakan di header respons:
| Header | Keterangan |
|---|---|
| X-RateLimit-Limit | Batas permintaan per menit |
| X-RateLimit-Remaining | Sisa kuota menit ini |
| X-RateLimit-Limit-Day | Batas permintaan per hari |
| X-RateLimit-Remaining-Day | Sisa kuota hari ini |
| Retry-After | Detik hingga boleh mencoba lagi (saat 429) |
Saat kuota habis, API mengembalikan 429 dengan field scope ("minute" atau "day").
Kode Error
| HTTP | error_code | Arti |
|---|---|---|
| 400 | VALIDATION_ERROR | Parameter tidak valid (mis. q < 2 karakter) |
| 401 | AUTH_REQUIRED | Header X-API-Key tidak ada |
| 403 | INVALID_API_KEY | API key salah |
| 403 | API_KEY_INACTIVE | API key dinonaktifkan/dicabut |
| 429 | RATE_LIMIT_EXCEEDED | Kuota habis (lihat scope) |
| 404 | — | Kode KBLI tidak ditemukan |
Contoh Kode
Integrasi pencarian KBLI dalam berbagai bahasa pemrograman:
const res = await fetch( "https://kbli.narayadigital.co.id/api/v1/kbli/search?q=teknologi", { headers: { "X-API-Key": process.env.KBLI_API_KEY } } ); const data = await res.json(); console.log(data.data);
import requests r = requests.get( "https://kbli.narayadigital.co.id/api/v1/kbli/search", params={"q": "teknologi", "tahun": 2025}, headers={"X-API-Key": "naraya_xxx"}, ) print(r.json()["data"])
$ch = curl_init("https://kbli.narayadigital.co.id/api/v1/kbli/search?q=teknologi"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-API-Key: naraya_xxx"]); $data = json_decode(curl_exec($ch), true); print_r($data["data"]);
curl -H "X-API-Key: naraya_xxx" \ "https://kbli.narayadigital.co.id/api/v1/kbli/search?q=teknologi&tahun=2025"
Pertanyaan Umum (FAQ)
Apa itu API KBLI?
Layanan REST API untuk mengakses database kode Klasifikasi Baku Lapangan Usaha Indonesia (KBLI) 2025 secara terprogram — cari kode, ambil detail, dan cek status kode nonaktif, semua dalam JSON.
Bagaimana cara mendapatkan API key?
Hubungi tim NarayaDigital untuk mendaftar. API key dikirim lewat header X-API-Key dan hanya ditampilkan sekali saat pembuatan.
Berapa rate limit-nya?
Setiap key punya batas per menit dan per hari sesuai paket. Sisa kuota ada di header X-RateLimit-Remaining dan X-RateLimit-Remaining-Day.
Apakah mendukung KBLI 2020 dan 2025?
Ya. Gunakan parameter tahun=2025 (default) atau tahun=2020.
Apakah data resmi dan terbaru?
Data bersumber dari OSS.go.id (Online Single Submission) pemerintah Indonesia dan diperbarui berkala, termasuk KBLI 2025 terbaru.
Siap mengintegrasikan KBLI?
Dapatkan API key dan mulai bangun fitur pencarian kode usaha dalam hitungan menit. Free trial tersedia — tanpa kartu kredit.
Daftar & Dapatkan API Key →Lihat paket & harga terlebih dahulu