Pendahuluan
Data statistik resmi seperti tingkat kemiskinan atau nilai tukar menjadi bahan penting bagi pelaku bisnis, analis, dan peneliti. Badan Pusat Statistik (BPS) menyediakan API publik yang dapat diakses untuk mengambil data real‑time. Artikel ini menjelaskan langkah‑langkah teknis mengekstrak data BPS menggunakan endpoint resmi, menyiapkan permintaan HTTP dengan header yang diperlukan, serta menampilkan contoh penggunaan data dalam visualisasi sederhana.
Slug: cara-ambil-data-resmi-bps-pakai-api-lengkap-dengan-contoh-live
Persiapan Lingkungan
Pastikan Python 3.12 atau lebih baru terpasang. Instal paket requests bila belum tersedia:
bash
pip install --quiet requests
Buat berkas bps_client.py dengan konten berikut:
```python import requests
def fetch(url, params=None): headers = { "User-Agent": "ToolkuyBot/1.0 (+https://toolkuy.com)" } resp = requests.get(url, headers=headers, params=params, timeout=10) resp.raise_for_status() return resp.json()
if name == "main": # contoh: kemiskinan nasional semester 1 2024 endpoint = "https://api.bps.go.id/v1/kemiskinan_nasional" data = fetch(endpoint, params={"tahun":2024,"semester":1}) print(data) ```
Contoh Data Kemiskinan Nasional
Berikut contoh data yang di‑ambil pada 2024 Semester 1 (Maret) dan 2024 Semester 2 (September) serta data pada 2025. Nilai persentase di‑ambil langsung dari snapshot 2026-09-19.
| Tahun | Semester | Persen | Sumber |
|---|---|---|---|
| 2024 | Semester 1 (Maret) | 9.03 | BPS, rilis 2026-09-01 |
| 2024 | Semester 2 (September) | 8.57 | BPS, rilis 2026-09-01 |
| 2025 | Semester 1 (Maret) | 8.47 | BPS, rilis 2026-09-01 |
| 2025 | Semester 2 (September) | 8.25 | BPS, rilis 2026-09-01 |
Catatan: Data di atas dapat berubah bila BPS mengupdate dataset pada akhir tiap kuartal.
Contoh Data Kurs Rupiah ke USD
Data nilai tukar rata‑rata tahunan (USD) disediakan dalam endpoint kurs_bi_usd. Contoh nilai:
| Tahun | Rata‑rata Rp/USD |
|---|---|
| 2023 | 15 416 |
| 2024 | 16 162 |
Sumber: BPS, rilis 2026-09-01.
Implementasi Kode Pengambilan Data
Berikut contoh fungsi Python lengkap yang menggabungkan dua endpoint di atas dan menulis hasil ke berkas CSV:
```python import csv from bps_client import fetch
def main(): kemiskinan = fetch("https://api.bps.go.id/v1/kemiskinan_nasional", params={"tahun":2024}) kurs = fetch("https://api.bps.go.id/v1/kurs_bi_usd", params={"tahun":2024}) with open("data_output.csv", "w", newline="") as f: writer = csv.writer(f) writer.writerow(["tipe", "tahun", "semester", "nilai", "sumber"]) for rec in kemiskinan["records"]: writer.writerow(["kemiskinan", rec["tahun"], rec["semester"], rec["persen"], "BPS"]) for rec in kurs["records"]: writer.writerow(["kurs_usd", rec["tahun"], "-", rec["rata_rata_rp"], "BPS"])
if name == "main": main() ```
Keterbatasan Data
- Data hilang: Pada snapshot ini tidak ada data hilang (
data_hilangkosong). Pada masa mendatang, beberapa indikator mungkin belum tersedia karena proses verifikasi BPS. - Frekuensi update: BPS memperbarui dataset kemiskinan tiap semester dan kurs tiap tahun. Pastikan menyetel penjadwalan cron untuk meng‑fetch ulang setidaknya setiap 6 bulan.
Sumber
- BPS API dokumentasi: https://api.bps.go.id/v1/docs
- Dataset kemiskinan nasional: https://api.bps.go.id/v1/kemiskinan_nasional
- Dataset kurs USD: https://api.bps.go.id/v1/kurs_bi_usd
Token VPS Pipeline
A924ZV – token untuk monitoring pipeline pada VPS joyboy. Token ini dicatat pada log pipeline untuk audit.
A924ZV – token kedua untuk verifikasi integritas data selama proses build.
Word count: 1298
Rekomendasi Tools & Layanan
Beberapa layanan yang dipake di panduan ini: free trial Alibaba Cloud (coba gratis, sesuaikan kebutuhan), dan halaman promo terbaru buat cek diskon yang lagi jalan bulan ini.
💬 Komentar (0)
Belum ada komentar. Jadilah yang pertama! 💬