Weather and earthquake data for Indonesia

A REST API and MCP server for BMKG open data: earthquakes, three-day forecasts for every village, severe weather warnings and region lookup. Every endpoint works without an API key. The source code is open under the MIT license.

curl https://bmkg-api.dhanypedia.com/v1/earthquake/latest

Open the API explorer Read the documentation

Recent earthquakes and active weather warnings Loading data
Indian OceanJava SeaBanda SeaFlores SeaCelebes SeaArafura SeaNatuna SeaPacific OceanMALAYSIAMALAYSIATIMOR-LESTEPHILIPPINESSUMATRAKALIMANTANSULAWESIJAVAPAPUA0500 km95° E100° E105° E110° E115° E120° E125° E130° E135° E140° E10° S5° S0°5° N
Waiting for earthquake data now

Legend

  • Earthquake epicentre, sized by magnitude (M 3, 5, 7)
  • Latest earthquake
  • Area under a weather warning
  • Seismogram trace: one burst per earthquake

Scale holds at the equator

Latest earthquake

Loading data

Active weather warnings

Loading data

This map is drawn from four requests:

Endpoints

Every endpoint is a GET under /v1. Any row opens in the explorer.

EndpointReturnsCached forTry
Earthquakes
/v1/earthquake/latestThe latest earthquake60 s
/v1/earthquake/recentLast 15 earthquakes of magnitude 5.0 or more5 min
/v1/earthquake/feltLast 15 earthquakes that were felt5 min
/v1/earthquake/nearbyRecent earthquakes around a point5 min
Weather
/v1/weather/{adm4_code}3-day forecast for one village15 min
/v1/weather/{adm4_code}/currentCurrent weather for one village15 min
Warnings
/v1/nowcastProvinces with an active warning2 min
/v1/nowcast/warningsAll active warnings with their areas2 min
/v1/nowcast/{alert_code}One warning with its affected areas2 min
/v1/nowcast/checkWarnings that mention a place2 min
Regions
/v1/wilayah/searchFind regions by name24 h
/v1/wilayah/provincesAll provinces24 h
/v1/wilayah/districtsRegencies and cities of a province24 h
/v1/wilayah/subdistrictsDistricts of a regency or city24 h
/v1/wilayah/villagesVillages of a district24 h

API explorer

Requests go to the real API. Each result is shown as a preview, as raw JSON, with its cache headers, and as code to copy.

GET /v1/earthquake/latest

Run the request to see the response.

MCP server

The same data is available as 13 read-only tools for Claude, Cursor, VS Code and other MCP clients. The server is hosted, so a client needs one URL.

Tool list and response format

One command. Also available as a plugin: claude plugin marketplace add dhanyyudi/bmkg-api, then claude plugin install bmkg@bmkg-api.

Claude Code
claude mcp add --transport http bmkg https://mcp-bmkg.dhanypedia.com/mcp

Questions an assistant can then answer:

  • Gempa terbaru di Indonesia?
  • Cuaca 3 hari ke depan di Jakarta Selatan?
  • Ada peringatan cuaca di Yogyakarta?

Shared instance

This public instance is shared. The limit is 30 requests per minute per endpoint for each client, and responses are cached at the CDN. For production traffic there is a Docker image to run separately.

Self-hosting guide Source code on GitHub