Discover/dataonline.bmkg.go.id API
live

dataonline.bmkg.go.id APIdataonline.bmkg.go.id

Retrieve Indonesian meteorological station metadata and data availability for rainfall, temperature, sunshine, wind, and humidity from the BMKG Data Online portal.

Endpoints
5
Updated
3mo ago
Try it

No input parameters required.

api.parse.bot/scraper/a6470584-e907-40ae-a91f-59fe81046398/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/a6470584-e907-40ae-a91f-59fe81046398/get_station_types' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 5 totalclick to expand

Retrieve the list of station types (Jenis Stasiun) available for filtering.

Input

No input parameters required.

Response
{
  "type": "array",
  "fields": {
    "id": "integer",
    "name": "string",
    "type": "string"
  },
  "sample": {
    "data": {
      "mapStation": [
        {
          "soil": "52.00000",
          "type": "mkg",
          "region": "Region I",
          "wmo_id": 96013,
          "exposure": 21,
          "land_use": 28,
          "latitude": "5.49600",
          "timezone": "+07:00",
          "elevation": 32,
          "longitude": "95.29600",
          "created_at": null,
          "created_by": null,
          "deleted_at": null,
          "deleted_by": null,
          "station_id": 174,
          "updated_at": null,
          "updated_by": null,
          "idrefregency": 6,
          "station_name": "Stasiun Geofisika Aceh Besar",
          "station_number": "96013"
        },
        {
          "soil": "52.00000",
          "type": "mkg",
          "region": "Region II",
          "wmo_id": 96585,
          "exposure": 48,
          "land_use": 28,
          "latitude": "-0.03000",
          "timezone": "+07:00",
          "elevation": 4,
          "longitude": "109.34000",
          "created_at": null,
          "created_by": null,
          "deleted_at": null,
          "deleted_by": null,
          "station_id": 173,
          "updated_at": null,
          "updated_by": null,
          "idrefregency": 322,
          "station_name": "Stasiun Meteorologi Maritim Pontianak",
          "station_number": "96585"
        },
        {
          "soil": null,
          "type": "mkg",
          "region": "Region II",
          "wmo_id": 96807,
          "exposure": null,
          "land_use": null,
          "latitude": "-7.33300",
          "timezone": "+07:00",
          "elevation": 608,
          "longitude": "109.70690",
          "created_at": null,
          "created_by": null,
          "deleted_at": null,
          "deleted_by": null,
          "station_id": 179,
          "updated_at": null,
          "updated_by": null,
          "idrefregency": 187,
          "station_name": "Stasiun Geofisika Banjarnegara",
          "station_number": "96807"
        }
      ]
    },
    "status": "success"
  }
}

About the dataonline.bmkg.go.id API

The BMKG Data Online API exposes 5 endpoints covering Indonesian weather station metadata and historical data availability across all 34 provinces. Use get_stations to list stations by province with WMO numbers, coordinates, and names, then call get_data_availability to query per-station availability grids and monthly availability percentages for parameters including rainfall, temperature extremes, sunshine duration, wind direction, and humidity.

Station Discovery

Start with get_provinces to retrieve the full list of Indonesian provinces, each with an id and name. Pass a province_id to get_kabupaten_kota to drill down to regency and city level — each entry includes id, idrefprovince, and name. Use get_station_types at any point to get the classification labels (e.g. synoptic, climatological) available for filtering stations by their operational category.

Station Listings

get_stations accepts a province_id and returns an array of station objects. Each station carries a station_number (the WMO number used as the identifier in downstream queries), station_name, station_id, latitude, and longit (longitude). This station_number value is what you pass as station_id to the data availability endpoint.

Data Availability Queries

get_data_availability is the core query endpoint. It requires a station_id (WMO number), province_id, and parameter. Supported parameter values are rainfall, temp_avg, temp_max, temp_min, sunshine, and wind_d. The year input is optional — omitting it returns availability across all recorded years for that station and parameter. The response includes a data array of availability rows, a chart array with monthly ketersediaan_d (availability percentage) values per year and month, and station metadata fields alongside the status string.

Common use cases
  • Map all active BMKG synoptic stations per province using station_number, latitude, and longitude from get_stations.
  • Identify years with high rainfall data completeness at a given station using chart ketersediaan_d values from get_data_availability.
  • Build a province-to-regency navigation tree by chaining get_provinces and get_kabupaten_kota.
  • Assess historical temperature data gaps at a specific WMO station before committing to a climate analysis pipeline.
  • Enumerate available station types via get_station_types to filter for climatological versus synoptic observations.
  • Compare multi-year sunshine duration availability across stations in the same province for solar energy feasibility studies.
  • Detect periods of missing wind direction data at a coastal station by querying get_data_availability with parameter wind_d.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does BMKG provide an official developer API for this data?+
BMKG does not publish a documented public REST API for the Data Online portal at dataonline.bmkg.go.id. Official data downloads are available through the portal's web interface, but there is no formally versioned developer API with published authentication and endpoint documentation.
What does get_data_availability actually return, and how are availability figures expressed?+
It returns a data array of availability rows for the requested station and parameter, plus a chart array where each entry contains year, month, and ketersediaan_d — the monthly data availability as a percentage. Station metadata is also included in the response alongside the status field. Omitting the year parameter returns all available years for that station-parameter combination.
Does the API return the actual meteorological measurements, such as daily rainfall totals or temperature readings?+
Not currently. The API covers station metadata (names, WMO numbers, coordinates, province and regency associations) and data availability grids — it does not return the underlying measurement values themselves. You can fork this API on Parse and revise it to add an endpoint that retrieves the actual observation records.
Can I retrieve stations across all provinces in a single call?+
The get_stations endpoint requires a province_id and returns stations for one province at a time. It does not support a nationwide query in a single call. You can fork this API on Parse and revise it to add a batch or all-provinces endpoint that loops over the province list.
How current is the data availability information returned by the API?+
The availability data reflects what is recorded in the BMKG Data Online portal at the time of the request. BMKG updates its portal on its own schedule, and there is no real-time or sub-daily refresh guarantee. Treat the availability percentages as a reflection of the portal's current ingestion state rather than a live instrument feed.
Page content last updated . Spec covers 5 endpoints from dataonline.bmkg.go.id.
Related APIs in WeatherSee all →
sentinel-hub.com API
Access satellite imagery from around the world and retrieve spectral band data, timestamps, and geographic coverage information to analyze Earth observation data. Process and generate statistics from satellite images for your specific areas of interest using powerful image processing tools.
openweathermap.org API
Search for cities and retrieve live weather conditions and forecasts (current, minutely precipitation, hourly and daily) by coordinates or by city name.
api.nasa.gov API
Access NASA's suite of open data APIs — including the Astronomy Picture of the Day, Near Earth Object tracking, DONKI space weather events, EPIC Earth imagery, Mars weather, the NASA Image and Video Library, the Exoplanet Archive, and EONET natural events.
weatherspark.com API
Get historical weather data, current METAR reports, and monthly climate summaries for any location by searching WeatherSpark's comprehensive weather database. Access detailed weather insights including temperature trends, precipitation patterns, and atmospheric conditions to power weather-dependent applications and analysis.
breckenridge.com API
Check real-time snow conditions, weather forecasts, lift operations, and trail status at Breckenridge Ski Resort to plan your day on the mountain. View live mountain cameras and get up-to-the-minute updates on slopes, lifts, and weather before you head out.
surfline.com API
Check real-time surf conditions, forecasts for waves and wind, tide predictions, and live camera feeds from thousands of surf spots around the world. Browse spots by geographic region and access detailed weather data to plan your perfect surfing session.
ingres.iith.ac.in API
Access groundwater resource estimation data across India at multiple geographic levels—from national summaries down to block-level details—and search specific locations to track groundwater availability and assessment trends. View historical assessment years and generate reports to analyze groundwater resources by state, district, or region.
zoom.earth API
Search Zoom Earth for places and get live environmental data including weather forecasts by coordinates, satellite imagery timestamps, active tropical storm tracks, active fires, and current platform status.