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
4mo 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 →
forecast.weather.gov API
Get National Weather Service station metadata plus the latest and recent weather observations (temperature, wind, pressure, humidity, and METAR text) for a specified station ID.
wunderground.com API
Access real-time weather conditions, multi-day forecasts, and detailed historical weather data from thousands of personal and airport weather stations worldwide. Search and retrieve current observations, hourly history, and monthly records to power your weather applications and analysis.
hydro.chmi.cz API
Monitor real-time water conditions across 562+ Czech river stations by accessing live water levels, flow rates, temperatures, and flood alerts. Search and track specific stations to get detailed hydrological data and historical time series information from the Czech Hydrometeorological Institute.
meteo.pl API
Get detailed weather forecasts with temperature, pressure, wind, precipitation, and cloud data for any location using multiple weather models (UM, GFS) from Poland's Institute of Meteorology and Water Management. Search locations and access available forecasts to plan ahead with comprehensive meteorological information.
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.
global-warming.org API
Access real-time climate and environmental data including temperature, CO2, methane, nitrous oxide levels, arctic sea ice coverage, and ocean warming metrics. Browse climate news updates and explore detailed information on deforestation trends through an integrated environmental monitoring platform.
bom.gov.au API
Get accurate weather forecasts for Australian cities with temperature, precipitation, UV index, and conditions from the Bureau of Meteorology. Search for any location and retrieve multi-day forecasts to plan your activities with confidence.
metoffice.gov.uk API
Access detailed UK weather forecasts, real-time lightning tracking, and weather warnings from the Met Office. Search locations to retrieve hourly, daily, regional, and long-range predictions, and monitor storm activity with spot forecasts across any geographic area.