Dokumentasi API Terbuka

Panduan integrasi dataset publik ke dalam sistem atau aplikasi pihak ketiga Anda menggunakan API RESTful JSON.

A. Otentikasi & Otorisasi

Semua request API memerlukan autentikasi Bearer Token. Anda dapat membuat token pada dashboard akun Anda di menu Manajemen API Token. Jaga kerahasiaan token Anda dan jangan pernah menyimpannya di kode sumber (source code) publik seperti GitHub.

Header yang diwajibkan:
Authorization: Bearer <TOKEN_ANDA>
Accept: application/json

B. Endpoint: Daftar Dataset Publik

GET /api/v1/datasets

Mengembalikan daftar seluruh dataset yang diatur sebagai publik. Endpoint ini tidak memerlukan paginasi dan akan langsung mengembalikan semua metadata ringkas dari setiap dataset publik yang tersedia di platform.

Contoh Response (200 OK)

{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "nama": "Indeks Kemiskinan Provinsi 2026",
      "kategori": "Ekonomi",
      "sumber": "import",
      "dibuat_pada": "2026-06-28T10:00:00Z"
    }
  ]
}
                                

C. Endpoint: Detail & Baris Dataset

GET /api/v1/datasets/{id}

Mengembalikan metadata lengkap (termasuk skema kolom) dari dataset spesifik beserta baris data aktual yang termuat di dalamnya. Mendukung sistem paginasi (maksimum 100 baris per halaman) untuk mempercepat latensi request.

Parameter Paginasi (Query String)

  • page (integer): Nomor halaman untuk mengambil kelompok data berikutnya. Default: 1.

Contoh Response (200 OK)

{
  "data": {
    "metadata": {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "nama": "Indeks Kemiskinan Provinsi 2026",
      "kategori": "Ekonomi"
    },
    "columns": [
      {
        "nama_kolom": "provinsi",
        "tipe_data": "string"
      },
      {
        "nama_kolom": "indeks",
        "tipe_data": "decimal"
      }
    ],
    "rows": {
      "data": [
        {
          "provinsi": "DKI Jakarta",
          "indeks": 89.5
        }
      ],
      "current_page": 1,
      "last_page": 10,
      "per_page": 100,
      "total": 980
    }
  }
}
                                

D. Pembatasan Request (Rate Limiting) & Kode Error

Sistem kami membatasi jumlah request untuk menjaga ketersediaan layanan. Kuota standar (Gratis) adalah 60 request per menit per token. Pelanggar batas akan menerima kode HTTP 429.

Kode HTTP Makna Penyebab Umum
200 OK Sukses Request berhasil diproses dan data ditemukan.
401 Unauthorized Tidak Terautentikasi Token tidak disertakan, kedaluwarsa, atau tidak valid.
403 Forbidden Akses Ditolak Token Anda valid, tetapi paket langganan Anda tidak memiliki izin (misalnya akses dataset berbayar).
404 Not Found Tidak Ditemukan ID / UUID Dataset tidak ada di sistem kami.
429 Too Many Requests Batas Kuota Tercapai Anda telah melampaui limit 60 request/menit. Silakan jeda eksekusi script Anda selama 1 menit.