Skip to content
Peta Satu Ruang

Data

Indonesian environmental data, ready to use

How to read, download and fetch Peta Satu Ruang data through the map, area pages, files and the API. All data is a stored copy of official and open sources, with its source and time.

Quick start

Data catalogue

All our data in one list. Each source has its own row and is never added to another. Downloads cover all of Indonesia; for one area, open its area page.

11 of 11 datasets

  • Air quality (ISPU)

    ISPU from 24-hour, 7-day and 30-day PM2.5 means.

    Source: CAMS ENSEMBLE · Open-MeteoCoverage: 514 cities/regenciesUpdated: Hourly

  • Weather and rain

    Daily forecast: weather, rain, temperature and wind.

    Source: Open-MeteoCoverage: 514 cities/regenciesUpdated: Daily

  • Temperature

    Today's mean, lowest and highest temperature.

    Source: Open-MeteoCoverage: 514 cities/regenciesUpdated: Daily

  • Hotspots, 24 hours

    Every satellite detection with its time, confidence and fire power. A hotspot is not always a fire.

    Source: NASA FIRMS · VIIRS NOAA-20, NOAA-21Coverage: Per pointUpdated: Several times a day

  • Hotspots per year

    Vegetation fire hotspots per year, from one satellite.

    Source: NASA FIRMS · VIIRS S-NPPCoverage: 514 cities/regencies, since 2015Updated: Yearly

  • Burned area

    Forest and land burned per year from three sources, each kept apart: SiPongi's official figure, NASA MODIS imagery, and Sentinel-2 maps from a research team.

    Source: SiPongi · NASA MODIS · Sentinel-2Coverage: Cities/regencies, since 2015Updated: Monthly

  • Earthquakes

    Location, magnitude, depth and where it was felt.

    Source: BMKGCoverage: Per eventUpdated: Every 5 minutes

  • Volcanoes

    Volcano status and activity reports.

    Source: PVMBG (MAGMA) · GDACSCoverage: Per volcanoUpdated: Daily

    Not downloadable yet: waiting for PVMBG's permission.View data
  • Administrative boundaries

    Provinces down to villages, with Kemendagri codes. Outlines are downloaded per area on the data page.

    Source: BIGCoverage: Provinces to villagesUpdated: Per BIG edition

  • Roads

    Road length mapped in OpenStreetMap per city and regency, since 2015. The lines (GeoJSON and Shapefile) are downloaded on the data page, for one year and one area.

    Source: OpenStreetMap · GeofabrikCoverage: 514 cities/regencies, since 2015Updated: Yearly

  • Buildings

    Building count and footprint mapped in OpenStreetMap per city and regency, since 2015. The figures are in the table. Not buildings constructed that year.

    Source: OpenStreetMap · GeofabrikCoverage: 514 cities/regencies, since 2015Updated: Yearly

Need just one area? Open the area pages

File formats and download addresses

Every download is built from the stored data when asked for. Nothing is requested from the original sources.

Excel (.xlsx)
A table with a Sources and licence sheet.
CSV
Comma-separated text, UTF-8.
GeoJSON
Points or outlines for web maps and QGIS.
SHP (.zip)
A shapefile with .prj (WGS 84) and SUMBER.txt.
  • /api/export/{topic}?format=xlsxOne topic for all of Indonesia: udara, titik-panas, gempa, cuaca, suhu, wilayah.
  • /api/export/kebakaran?format=csv&sumber=sipongi&area=62Fire history, one file per source: sipongi, nasa, sentinel (national only), titik-panas-tahunan. area: a province or city/regency code.
  • /api/export/lokasi?format=csv&jenis=titik-panas&area=32.76One category for one area, clipped by its outline and buffer.
  • /api/export/lokasi?format=geojson&jenis=gempa&lat=-6.4&lon=106.8One category around a point: 25 km for hotspots, 100 km for earthquakes.
  • /api/export/wilayah?format=shp&area=32.76BIG's official outline of one area, with every boundary point.
  • /api/export/jalan?format=shp&kelompok=utama&area=32.73&tahun=2026OpenStreetMap road lines (LineString) for one year and one area. area is required. format: geojson or shp. kelompok: semua, utama, lokal, tanah, setapak.

API

The API reads the same stored data as the site's pages. From outside the site, send an API key in a header.

Key
Header X-API-Key: psr_… . Ask for a key on the Contact page and say what it is for.
Limits
10 requests per 10 seconds per IP address. Crossing the limit repeatedly blocks the address for 7 days.
Format
JSON { data, meta }. Times are ISO 8601 UTC unless they say WIB; a missing figure is null, never 0.

Main endpoints

  • GET /api/conditions?lat=-6.4&lon=106.8&area=32.76One area's or point's conditions: air, weather, hotspots, earthquakes, volcanoes.
  • GET /api/air-quality/rankingISPU for 514 cities/regencies: today, 7 and 30 days, with ranks.
  • GET /api/fires/latestEvery hotspot detection of the last 24 hours (NOAA-20).
  • GET /api/fire-activityHotspots in the last 24 hours per city/regency.
  • GET /api/fire-activity/recentHotspots over 30 days per WIB hour and satellite; daily model rain in the fire zone.
  • GET /api/earthquakes?days=7BMKG earthquakes over a range of days.
  • GET /api/weather?date=2026-10-22Daily forecast per city/regency.
  • GET /api/roads?kelompok=utama&area=32&tahun=2026Road length per city/regency and year, from OpenStreetMap on 1 January. kelompok, area and tahun are optional.
  • GET /api/buildings?kelompok=rumah&area=32&tahun=2026Building count and footprint per city/regency and year, from OpenStreetMap on 1 January. kelompok, area and tahun are optional.
  • GET /api/roads/lines?tahun=2026&bbox=107.5,-7,107.7,-6.8&zoom=12OpenStreetMap road lines for the live map, one year and one viewport. From far away only main roads.
  • GET /api/admin-boundaries/search?q=depokSearch areas down to villages, with their official codes.
  • GET /api/admin-boundaries/{kode}/geometryOne area's outline as GeoJSON.

Example

curl -H "X-API-Key: psr_..." \
  "https://www.petasaturuang.com/api/conditions?lat=-6.4&lon=106.8&area=32.76"

{
  "data": {
    "date": "2026-10-22",
    "area": { "pcode": "32.76", "name": "Kota Depok", "source": "BIG" },
    "air": { "status": "available", "data": { "ispu": 156, "pm25": 61.2, "dataKind": "model-estimate", ... } },
    "fires": { "status": "available", "data": { "total": 0, "inArea": 0, "inBuffer": 0, ... } },
    "earthquakes": { "status": "available", "data": { "total": 0, "items": [] } },
    ...
  }
}

PVMBG volcano data is not served to API keys until PVMBG gives permission.

Notifications

Free push notifications for up to five areas per device. We store only area codes, never the device's position.

  • Earthquakes of M 4.0 or more inside the area or within 100 km, sent at once.
  • Hotspots inside the area or within 25 km, at most once a day, 06:00–21:00 WIB.
  • Unhealthy air (ISPU above 100) from an estimate under 6 hours old, at most once a day.
  • Volcanoes follow once PVMBG gives permission.
Turn on notifications

Sources & licences

Each topic has its own source, update schedule, method and terms of use. Read them before reusing the data.