API Data Gempa Terkini Indonesia (BMKG) untuk Developer
Ambil data gempa bumi terkini, gempa dirasakan, dan riwayat gempa dari BMKG lewat satu REST API, cocok untuk aplikasi kebencanaan dan sistem peringatan dini.

Indonesia berada di Cincin Api Pasifik dengan aktivitas seismik yang tinggi, sehingga aplikasi kebencanaan, media informasi, dan sistem peringatan dini butuh akses cepat ke data gempa terbaru. BMKG merilis data gempa secara terbuka, namun dalam format XML/JSON yang tersebar di beberapa endpoint terpisah untuk gempa terkini, gempa dirasakan, dan riwayat.
API Gempa dari API Indonesia menggabungkan ketiganya dalam satu REST API yang konsisten, sehingga Anda tidak perlu mem-parsing beberapa sumber berbeda.
Daftar Endpoint
Base URL: https://use.apiindonesia.id/api/v1/gempa
| Method | Endpoint | Keterangan |
|---|---|---|
| GET | /terkini |
15 gempa magnitudo signifikan terbaru |
| GET | /dirasakan |
15 gempa yang dirasakan warga (guncangan terasa) |
| GET | /history?start=&end= |
Riwayat gempa dalam rentang tanggal (maks. 100 hasil) |
Contoh Request
curl "https://use.apiindonesia.id/api/v1/gempa/terkini" \
-H "x-api-key: aip_live_xxx"
curl "https://use.apiindonesia.id/api/v1/gempa/history?start=2026-07-01&end=2026-07-10" \
-H "x-api-key: aip_live_xxx"
const res = await fetch('https://use.apiindonesia.id/api/v1/gempa/terkini', {
headers: { 'x-api-key': process.env.API_INDONESIA_KEY },
});
const { data: gempaTerkini } = await res.json();
gempaTerkini.forEach((g) => console.log(`M${g.magnitude} - ${g.location}`));
import requests
from datetime import date, timedelta
end = date.today().isoformat()
start = (date.today() - timedelta(days=7)).isoformat()
res = requests.get(
"https://use.apiindonesia.id/api/v1/gempa/history",
params={"start": start, "end": end},
headers={"x-api-key": "aip_live_xxx"},
)
riwayat = res.json()["data"]
Contoh Response
{
"data": [
{
"id": 4821,
"datetime": "2026-07-10T06:12:00+07:00",
"magnitude": 5.2,
"depth_km": 10,
"location": "92 km BaratDaya Bengkulu",
"latitude": -4.31,
"longitude": 101.85,
"is_felt": 1,
"potential_tsunami": false
}
]
}
Contoh Kasus Pakai
- Sistem peringatan dini internal — poll
/terkinisecara berkala dan trigger notifikasi saat magnitudo di atas ambang batas tertentu. - Peta gempa interaktif — gunakan
latitude/longitudeuntuk memplot titik gempa di peta. - Laporan mingguan/bulanan — gunakan
/historyuntuk membangun dashboard tren aktivitas seismik per wilayah. - Media & konten — tampilkan widget "gempa dirasakan hari ini" di situs berita lokal memakai
/dirasakan.
FAQ
Seberapa cepat data gempa terbaru muncul di API ini? Data disinkronkan secara berkala dari sumber terbuka BMKG, sehingga gempa signifikan biasanya tersedia dalam hitungan menit.
Apakah ada data potensi tsunami? Ada, ditandai lewat status yang menyertai setiap kejadian gempa besar.
Berapa lama riwayat gempa yang bisa diakses? Endpoint /history mendukung query rentang tanggal bebas, dibatasi maksimal 100 hasil per request — gunakan rentang tanggal yang lebih kecil untuk data granular.
Mulai Sekarang
Daftar akun dan dapatkan API key gratis di dashboard.apiindonesia.id/register. Dokumentasi lengkap tersedia di docs.apiindonesia.id.
