Fetch real-time Indonesian weather forecasts and earthquake data from BMKG's open API. No API key needed. Rate limit: 60 requests/minute per IP.
Attribution required: Always mention "Sumber: BMKG" in responses.
text
GET https://api.bmkg.go.id/publik/prakiraan-cuaca?adm4={kode_wilayah}
text
GET https://data.bmkg.go.id/peringatan-dini-cuaca/
text
GET https://data.bmkg.go.id/DataMKG/TEWS/autogempa.json
GET https://data.bmkg.go.id/DataMKG/TEWS/gempaterkini.json
Format kode: PP.KK.CC.DDDD
Cara lookup kode wilayah (gunakan script):
bash
python scripts/cari_wilayah.py "Padang"
python scripts/cari_wilayah.py "Bogor"
Script otomatis cari kode dan test validitasnya ke API BMKG.
Jika tidak ditemukan, cari manual di https://cuaca.bmkg.go.id
Atau lihat: references/kode-wilayah.md
bash
# Contoh: Jakarta Pusat - Kemayoran
curl "https://api.bmkg.go.id/publik/prakiraan-cuaca?adm4=31.71.03.1001"
# Contoh: Surabaya - Wonokromo
curl "https://api.bmkg.go.id/publik/prakiraan-cuaca?adm4=35.78.31.1007"
Response structure:
json
{
"lokasi": {
"provinsi": "DKI Jakarta",
"kotkab": "Kota Adm. Jakarta Pusat",
"kecamatan": "Kemayoran",
"desa": "Kemayoran",
"lon": 106.845,
"lat": -6.164,
"timezone": "Asia/Jakarta"
},
"data": [{
"cuaca": [
[ /* hari 1, array per 3 jam */ ],
[ /* hari 2 */ ],
[ /* hari 3 */ ]
]
}]
}
Untuk setiap entry cuaca, field yang tersedia:
FieldDeskripsiSatuanlocal_datetimeWaktu lokalYYYY-MM-DD HH:mm:sstSuhu udara°ChuKelembapan%weather_descKondisi cuaca (ID)-weather_desc_enKondisi cuaca (EN)-wsKecepatan anginkm/jamwdArah angin dari-tccTutupan awan%vs_textJarak pandangkmtpCurah hujanmmimageURL ikon cuacaSVG
bash
# Gempa terbaru (1 gempa)
curl "https://data.bmkg.go.id/DataMKG/TEWS/autogempa.json"
# 15 gempa terkini
curl "https://data.bmkg.go.id/DataMKG/TEWS/gempaterkini.json"
# 15 gempa dirasakan
curl "https://data.bmkg.go.id/DataMKG/TEWS/gempadirasakan.json"
Response fields gempa:
Tanggal, Jam — waktu kejadianMagnitude — kekuatan gempaKedalaman — kedalaman dalam kmWilayah — lokasi episenterPotensi — potensi tsunami atau tidakKoordinat — lat,lontext
🌤️ Prakiraan Cuaca Jakarta Pusat - Kemayoran
📅 Senin, 26 April 2026 | 14:00 WIB
🌡️ Suhu: 31°C
💧 Kelembapan: 69%
🌬️ Angin: 9.6 km/jam dari Timur
☁️ Tutupan awan: 7%
👁️ Jarak pandang: >10 km
🌦️ Kondisi: Cerah
---
Sumber: BMKG (data.bmkg.go.id)
KotaKode adm4 ContohJakarta Pusat (Kemayoran)31.71.03.1001Jakarta Selatan (Kebayoran)31.74.08.1001Surabaya35.78.01.1001Bandung32.73.01.1001Medan12.71.01.1001Makassar73.71.01.1001Semarang33.74.01.1001Yogyakarta34.71.01.1001Denpasar51.71.01.1001Palembang16.71.01.1001Pekanbaru14.71.01.1001Balikpapan64.72.01.1001Manado71.71.01.1001Jayapura91.71.01.1001
Untuk kode wilayah lengkap, lihat: references/kode-wilayah.md