API KBLI
Akses data lengkap Klasifikasi Baku Lapangan Usaha Indonesia (KBLI) - kode klasifikasi kegiatan usaha yang wajib untuk pendaftaran perusahaan.
Ringkasan
/api/v1/kbliApa itu KBLI?
KBLI (Klasifikasi Baku Lapangan Usaha Indonesia) adalah sistem pengkodean kegiatan ekonomi yang digunakan untuk mengklasifikasikan jenis usaha. KBLI wajib digunakan saat:
- Mendaftarkan perusahaan baru di OSS (Online Single Submission)
- Mengajukan izin usaha
- Pelaporan statistik perusahaan
- Penentuan tingkat risiko usaha untuk perizinan
Struktur Hierarki KBLI
KBLI memiliki 5 tingkat hierarki, dari yang paling umum hingga paling spesifik:
| Level | Nama | Format Kode | Contoh |
|---|---|---|---|
section | Kategori | 1 huruf (A-U) | J - Informasi dan Komunikasi |
division | Golongan Pokok | 2 digit | 62 - Aktivitas Pemrograman |
group | Golongan | 3 digit | 620 - Aktivitas Pemrograman |
class | Subgolongan | 4 digit | 6201 - Aktivitas Pemrograman Komputer |
subclass | Kelompok | 5 digit | 62011 - Aktivitas Pemrograman Komputer |
Penting untuk OSS
Saat mendaftarkan perusahaan di OSS, Anda harus memilih kode KBLI 5 digit (subclass). Kode 4 digit ke atas tidak dapat digunakan untuk pendaftaran.
Tingkat Risiko OSS
Setiap kode KBLI memiliki tingkat risiko yang menentukan jenis perizinan yang diperlukan:
| Tingkat Risiko | Perizinan | Deskripsi |
|---|---|---|
| low | NIB saja | Cukup dengan Nomor Induk Berusaha, langsung operasional |
| medium | NIB + Sertifikat Standar | Perlu sertifikat standar dengan self-declare |
| high | NIB + Izin | Perlu izin dari kementerian/lembaga terkait |
Endpoints
/api/v1/kbliMendapatkan daftar kode KBLI dengan pagination
Query Parameters
| Parameter | Tipe | Default | Deskripsi |
|---|---|---|---|
page | integer | 1 | Nomor halaman untuk pagination |
limit | integer | 50 | Jumlah data per halaman (maks: 100) |
search | string | - | Cari berdasarkan kode atau deskripsi |
level | string | - | Filter level: section, division, group, class, subclass |
Contoh Request
curl -X GET "https://api.portaldata.id/api/v1/kbli?search=software&level=subclass" \
-H "X-API-Key: YOUR_API_KEY"Contoh Response
{
"data": [
{
"code": "62011",
"description": "Aktivitas pemrograman komputer",
"descriptionEn": "Computer programming activities",
"level": "subclass",
"parentCode": "6201",
"ossRiskLevel": "low"
},
{
"code": "62021",
"description": "Aktivitas konsultasi komputer dan manajemen fasilitas komputer",
"descriptionEn": "Computer consultancy and computer facilities management activities",
"level": "subclass",
"parentCode": "6202",
"ossRiskLevel": "low"
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 2,
"totalPages": 1
},
"meta": {
"source": "BPS",
"apiVersion": "1.0.0",
"regulationRef": "Perka BPS No. 2/2020",
"riskLevel": "medium"
},
"disclaimer": "Reference data only. Not legal or tax advice."
}/api/v1/kbli/:codeMendapatkan detail kode KBLI beserta hierarkinya
Path Parameters
| Parameter | Tipe | Deskripsi |
|---|---|---|
code | string | Kode KBLI (contoh: 62011, J) |
Query Parameters
| Parameter | Tipe | Deskripsi |
|---|---|---|
include | string | Data tambahan: parent, children |
Contoh Request
curl -X GET "https://api.portaldata.id/api/v1/kbli/62011?include=parent" \
-H "X-API-Key: YOUR_API_KEY"Contoh Response
{
"data": {
"code": "62011",
"description": "Aktivitas pemrograman komputer",
"descriptionEn": "Computer programming activities",
"level": "subclass",
"parentCode": "6201",
"ossRiskLevel": "low",
"isicMappings": ["6201"],
"parent": {
"code": "6201",
"description": "Aktivitas pemrograman komputer",
"level": "class"
}
},
"meta": {
"source": "BPS",
"apiVersion": "1.0.0",
"regulationRef": "Perka BPS No. 2/2020"
},
"disclaimer": "Reference data only. Not legal or tax advice."
}Penjelasan Field Response
| Field | Tipe | Deskripsi |
|---|---|---|
code | string | Kode KBLI (1-5 karakter) |
description | string | Deskripsi kegiatan usaha dalam Bahasa Indonesia |
descriptionEn | string | null | Deskripsi dalam Bahasa Inggris |
level | enum | Tingkat hierarki: section, division, group, class, subclass |
parentCode | string | null | Kode induk (null untuk section) |
ossRiskLevel | enum | null | Tingkat risiko OSS: low, medium, high |
isicMappings | array | Kode ISIC (International Standard Industrial Classification) terkait |
parent | object | undefined | Data kode induk (jika include=parent) |
children | array | undefined | Daftar kode anak (jika include=children) |
Contoh Penggunaan
1. Pencarian KBLI untuk Pendaftaran Usaha
Mencari kode KBLI yang sesuai dengan jenis usaha
GET /api/v1/kbli?search=restoran&level=subclass2. Melihat Semua Kategori KBLI
Menampilkan daftar kategori utama (section) KBLI
GET /api/v1/kbli?level=section3. Navigasi Hierarki KBLI
Mendapatkan sub-kategori dari kategori tertentu
GET /api/v1/kbli/J?include=children4. Cek Tingkat Risiko OSS
Melihat tingkat risiko perizinan untuk kode KBLI tertentu
GET /api/v1/kbli/56101Contoh Kode Lengkap
// Fungsi autocomplete untuk pencarian KBLI
async function searchKBLI(query) {
if (query.length < 2) return [];
const response = await fetch(
`https://api.portaldata.id/api/v1/kbli?search=${encodeURIComponent(query)}&level=subclass&limit=10`,
{ headers: { 'X-API-Key': 'YOUR_API_KEY' } }
);
const { data } = await response.json();
return data.map(item => ({
code: item.code,
description: item.description,
riskLevel: item.ossRiskLevel
}));
}
// Fungsi untuk mendapatkan hierarki lengkap
async function getKBLIHierarchy(code) {
const response = await fetch(
`https://api.portaldata.id/api/v1/kbli/${code}?include=parent`,
{ headers: { 'X-API-Key': 'YOUR_API_KEY' } }
);
const { data } = await response.json();
// Bangun path hierarki
const hierarchy = [data];
let current = data;
while (current.parent) {
hierarchy.unshift(current.parent);
// Fetch parent jika perlu data lebih lengkap
}
return hierarchy;
}
// Contoh penggunaan
const results = await searchKBLI('software');
console.log('Hasil pencarian:', results);
// Output:
// [
// { code: '62011', description: 'Aktivitas pemrograman komputer', riskLevel: 'low' },
// { code: '58201', description: 'Penerbitan piranti lunak', riskLevel: 'low' }
// ]import requests
API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://api.portaldata.id/api/v1'
def get_kbli_by_risk_level(risk_level, limit=100):
"""Mendapatkan daftar KBLI berdasarkan tingkat risiko"""
all_codes = []
page = 1
while True:
response = requests.get(
f'{BASE_URL}/kbli',
params={
'level': 'subclass',
'page': page,
'limit': limit
},
headers={'X-API-Key': API_KEY}
)
data = response.json()
# Filter berdasarkan risk level
filtered = [
code for code in data['data']
if code.get('ossRiskLevel') == risk_level
]
all_codes.extend(filtered)
if page >= data['pagination']['totalPages']:
break
page += 1
return all_codes
def validate_kbli_code(code):
"""Validasi apakah kode KBLI valid dan bisa digunakan di OSS"""
response = requests.get(
f'{BASE_URL}/kbli/{code}',
headers={'X-API-Key': API_KEY}
)
if response.status_code == 404:
return {'valid': False, 'error': 'Kode KBLI tidak ditemukan'}
data = response.json()['data']
if data['level'] != 'subclass':
return {
'valid': False,
'error': f'Kode KBLI harus 5 digit (subclass), kode ini adalah {data["level"]}'
}
return {
'valid': True,
'code': data['code'],
'description': data['description'],
'riskLevel': data['ossRiskLevel']
}
# Contoh penggunaan
print(validate_kbli_code('62011'))
# Output: {'valid': True, 'code': '62011', 'description': 'Aktivitas pemrograman komputer', 'riskLevel': 'low'}
print(validate_kbli_code('620'))
# Output: {'valid': False, 'error': 'Kode KBLI harus 5 digit (subclass), kode ini adalah group'}Kode KBLI Populer
Berikut adalah beberapa kode KBLI yang sering digunakan:
| Kode | Deskripsi | Risiko |
|---|---|---|
62011 | Aktivitas pemrograman komputer | low |
47111 | Perdagangan eceran berbagai macam barang yang utamanya makanan | low |
56101 | Restoran | medium |
73100 | Periklanan | low |
70201 | Aktivitas konsultasi manajemen | low |