{"city":"Durian Tunggal","country":"Malaysia","lat":2.3125,"lon":102.28050231933594,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-28T09:00:00Z","aqi":59,"aqi_min":59,"aqi_max":59,"pm25":15.9,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T10:00:00Z","aqi":48,"aqi_min":26,"aqi_max":61,"pm25":11.55,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T11:00:00Z","aqi":47,"aqi_min":28,"aqi_max":68,"pm25":11.2,"pm10":null,"stations":6},{"datetime_utc":"2026-05-28T12:00:00Z","aqi":40,"aqi_min":34,"aqi_max":47,"pm25":9.72,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":34,"aqi_min":34,"aqi_max":34,"pm25":8.16,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T14:00:00Z","aqi":55,"aqi_min":34,"aqi_max":61,"pm25":13.97,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T15:00:00Z","aqi":12,"aqi_min":9,"aqi_max":14,"pm25":2.76,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":47,"aqi_min":21,"aqi_max":61,"pm25":11.3,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T18:00:00Z","aqi":42,"aqi_min":21,"aqi_max":53,"pm25":10.22,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":42,"aqi_min":41,"aqi_max":44,"pm25":10.2,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T20:00:00Z","aqi":53,"aqi_min":38,"aqi_max":60,"pm25":12.93,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T21:00:00Z","aqi":65,"aqi_min":65,"aqi_max":65,"pm25":18.76,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T22:00:00Z","aqi":55,"aqi_min":33,"aqi_max":74,"pm25":13.92,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T23:00:00Z","aqi":66,"aqi_min":42,"aqi_max":85,"pm25":19.17,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T00:00:00Z","aqi":93,"aqi_min":93,"aqi_max":93,"pm25":32.07,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T01:00:00Z","aqi":92,"aqi_min":82,"aqi_max":104,"pm25":31.78,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T02:00:00Z","aqi":36,"aqi_min":36,"aqi_max":36,"pm25":8.64,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T04:00:00Z","aqi":60,"aqi_min":44,"aqi_max":76,"pm25":16.21,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T05:00:00Z","aqi":57,"aqi_min":42,"aqi_max":70,"pm25":14.76,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T06:00:00Z","aqi":62,"aqi_min":34,"aqi_max":99,"pm25":17.33,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T07:00:00Z","aqi":57,"aqi_min":30,"aqi_max":80,"pm25":14.87,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T08:00:00Z","aqi":25,"aqi_min":4,"aqi_max":45,"pm25":5.88,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T09:00:00Z","aqi":57,"aqi_min":4,"aqi_max":72,"pm25":14.84,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T10:00:00Z","aqi":54,"aqi_min":6,"aqi_max":76,"pm25":13.74,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":52,"aqi_min":22,"aqi_max":77,"pm25":12.74,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T12:00:00Z","aqi":56,"aqi_min":37,"aqi_max":68,"pm25":14.74,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T13:00:00Z","aqi":39,"aqi_min":34,"aqi_max":48,"pm25":9.36,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T14:00:00Z","aqi":69,"aqi_min":19,"aqi_max":104,"pm25":20.49,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":117,"aqi_min":110,"aqi_max":124,"pm25":42.0,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T16:00:00Z","aqi":89,"aqi_min":52,"aqi_max":145,"pm25":30.14,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T17:00:00Z","aqi":39,"aqi_min":22,"aqi_max":53,"pm25":9.31,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T18:00:00Z","aqi":24,"aqi_min":13,"aqi_max":34,"pm25":5.84,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T19:00:00Z","aqi":42,"aqi_min":10,"aqi_max":77,"pm25":10.22,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T20:00:00Z","aqi":40,"aqi_min":15,"aqi_max":63,"pm25":9.54,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T21:00:00Z","aqi":71,"aqi_min":34,"aqi_max":102,"pm25":21.49,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T22:00:00Z","aqi":56,"aqi_min":30,"aqi_max":85,"pm25":14.33,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T23:00:00Z","aqi":24,"aqi_min":10,"aqi_max":38,"pm25":5.76,"pm10":null,"stations":2},{"datetime_utc":"2026-05-30T00:00:00Z","aqi":80,"aqi_min":45,"aqi_max":114,"pm25":25.79,"pm10":null,"stations":2},{"datetime_utc":"2026-05-30T01:00:00Z","aqi":46,"aqi_min":38,"aqi_max":53,"pm25":11.09,"pm10":null,"stations":2},{"datetime_utc":"2026-05-30T02:00:00Z","aqi":76,"aqi_min":76,"aqi_max":76,"pm25":23.99,"pm10":null,"stations":1},{"datetime_utc":"2026-05-30T03:00:00Z","aqi":65,"aqi_min":30,"aqi_max":154,"pm25":18.85,"pm10":null,"stations":6},{"datetime_utc":"2026-05-30T04:00:00Z","aqi":59,"aqi_min":55,"aqi_max":68,"pm25":15.67,"pm10":null,"stations":4},{"datetime_utc":"2026-05-30T05:00:00Z","aqi":57,"aqi_min":57,"aqi_max":57,"pm25":14.95,"pm10":null,"stations":1},{"datetime_utc":"2026-05-30T06:00:00Z","aqi":46,"aqi_min":30,"aqi_max":55,"pm25":10.99,"pm10":null,"stations":3},{"datetime_utc":"2026-05-30T07:00:00Z","aqi":47,"aqi_min":29,"aqi_max":55,"pm25":11.18,"pm10":null,"stations":3},{"datetime_utc":"2026-05-30T08:00:00Z","aqi":30,"aqi_min":30,"aqi_max":30,"pm25":7.2,"pm10":null,"stations":1}],"daily":[{"date":"2026-05-28","aqi_avg":48,"aqi_min":12,"aqi_max":66,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":12.1,"pm10_avg":null,"hours":14,"stations_avg":3},{"date":"2026-05-29","aqi_avg":57,"aqi_min":24,"aqi_max":117,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":16.4,"pm10_avg":null,"hours":23,"stations_avg":3},{"date":"2026-05-30","aqi_avg":56,"aqi_min":30,"aqi_max":80,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":15.5,"pm10_avg":null,"hours":9,"stations_avg":3}]}