Should you be worried today?

Water, heat, rain and typhoon risks for your barangay, in plain words.

Open tubig.rjhon.net

Dam readings

Every reading kept for one dam.

GET /v1/history/dams/{dam}/readings
curl "https://tubig-api.rjhon.net/v1/history/dams/angat/readings?limit=2"

5 calls a minute per visitor. Follow next for more. The example uses the first dam on record; list them with the endpoint above it.

Parameters

NameInTypeDefaultWhat it does
damrequiredpathstringA dam's id from /v1/history/dams, e.g. angat
limitqueryinteger, 1 to 500100Items per call, at most 500
cursorquerystring or nullThe cursor from a previous response's next link
fromquerydate (YYYY-MM-DD) or nullManila date, YYYY-MM-DD
toquerydate (YYYY-MM-DD) or nullManila date, YYYY-MM-DD

Response

An object with items (the fields below), next (the next page, or null) and sources (whom to credit).

FieldTypeWhat it is
observed_atdatetime (UTC, ISO 8601)When the level was read (UTC)
level_mnumberWater level, metres above sea level
rule_curve_mnumber or nullThe rule curve level for the day, when PAGASA gives it
normal_high_mnumber or nullThe normal high water level, when given
change_24h_mnumber or nullChange over 24 hours, as PAGASA gives it
sourcestringWhere the reading came from (pagasa_dams, seed, manual)

The first 2 items of what Tubig holds now.

{
  "items": [
    {
      "observed_at": "2026-10-02T00:00:00Z",
      "level_m": 208.53,
      "rule_curve_m": 186.54,
      "normal_high_m": 210.0,
      "change_24h_m": -0.11,
      "source": "pagasa_dams"
    },
    {
      "observed_at": "2026-10-01T00:00:00Z",
      "level_m": 208.64,
      "rule_curve_m": 186.17,
      "normal_high_m": 210.0,
      "change_24h_m": null,
      "source": "pagasa_dams"
    }
  ],
  "next": "/v1/history/dams/angat/readings?limit=2&cursor=WyJkYXRldGltZSIsICIyMDI2LTEwLTAxVDAwOjAwOjAwKzAwOjAwIiwgNDRd",
  "sources": [
    {
      "name": "PAGASA, dam information",
      "url": "https://pagasa.dost.gov.ph/flood",
      "licence": null
    }
  ]
}