{"city":"Kampung Ayer Keroh","country":"Malaysia","lat":2.265399932861328,"lon":102.28009796142578,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-27T16:00:00Z","aqi":84,"aqi_min":30,"aqi_max":162,"pm25":27.88,"pm10":null,"stations":4},{"datetime_utc":"2026-05-27T17:00:00Z","aqi":25,"aqi_min":9,"aqi_max":36,"pm25":5.94,"pm10":null,"stations":4},{"datetime_utc":"2026-05-27T18:00:00Z","aqi":33,"aqi_min":22,"aqi_max":50,"pm25":7.98,"pm10":null,"stations":4},{"datetime_utc":"2026-05-27T19:00:00Z","aqi":17,"aqi_min":6,"aqi_max":25,"pm25":4.14,"pm10":null,"stations":4},{"datetime_utc":"2026-05-27T20:00:00Z","aqi":65,"aqi_min":24,"aqi_max":115,"pm25":18.69,"pm10":null,"stations":3},{"datetime_utc":"2026-05-27T21:00:00Z","aqi":39,"aqi_min":39,"aqi_max":39,"pm25":9.36,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T22:00:00Z","aqi":21,"aqi_min":21,"aqi_max":21,"pm25":5.04,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T23:00:00Z","aqi":10,"aqi_min":8,"aqi_max":13,"pm25":2.34,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T00:00:00Z","aqi":60,"aqi_min":13,"aqi_max":101,"pm25":16.55,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T01:00:00Z","aqi":30,"aqi_min":13,"aqi_max":50,"pm25":7.32,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T02:00:00Z","aqi":30,"aqi_min":9,"aqi_max":51,"pm25":7.13,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T03:00:00Z","aqi":38,"aqi_min":13,"aqi_max":56,"pm25":9.23,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T04:00:00Z","aqi":45,"aqi_min":25,"aqi_max":64,"pm25":10.78,"pm10":null,"stations":7},{"datetime_utc":"2026-05-28T05:00:00Z","aqi":59,"aqi_min":20,"aqi_max":91,"pm25":15.9,"pm10":null,"stations":6},{"datetime_utc":"2026-05-28T06:00:00Z","aqi":42,"aqi_min":21,"aqi_max":60,"pm25":10.16,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T08:00:00Z","aqi":54,"aqi_min":15,"aqi_max":72,"pm25":13.71,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T09:00:00Z","aqi":74,"aqi_min":74,"aqi_max":74,"pm25":23.04,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T10:00:00Z","aqi":62,"aqi_min":62,"aqi_max":62,"pm25":17.33,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T11:00:00Z","aqi":48,"aqi_min":38,"aqi_max":55,"pm25":11.39,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T12:00:00Z","aqi":47,"aqi_min":34,"aqi_max":56,"pm25":11.23,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":63,"aqi_min":57,"aqi_max":69,"pm25":17.81,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T14:00:00Z","aqi":46,"aqi_min":46,"aqi_max":46,"pm25":11.04,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T15:00:00Z","aqi":80,"aqi_min":56,"aqi_max":105,"pm25":25.8,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T16:00:00Z","aqi":56,"aqi_min":27,"aqi_max":65,"pm25":14.35,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":53,"aqi_min":1,"aqi_max":80,"pm25":13.06,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T18:00:00Z","aqi":36,"aqi_min":25,"aqi_max":57,"pm25":8.72,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":45,"aqi_min":23,"aqi_max":63,"pm25":10.82,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T20:00:00Z","aqi":52,"aqi_min":17,"aqi_max":63,"pm25":12.38,"pm10":null,"stations":5},{"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":59,"aqi_min":30,"aqi_max":69,"pm25":16.01,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T00:00:00Z","aqi":31,"aqi_min":24,"aqi_max":40,"pm25":7.36,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T01:00:00Z","aqi":75,"aqi_min":24,"aqi_max":122,"pm25":23.64,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T02:00:00Z","aqi":74,"aqi_min":62,"aqi_max":102,"pm25":23.04,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T03:00:00Z","aqi":44,"aqi_min":25,"aqi_max":58,"pm25":10.6,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T04:00:00Z","aqi":39,"aqi_min":33,"aqi_max":45,"pm25":9.36,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T05:00:00Z","aqi":51,"aqi_min":5,"aqi_max":74,"pm25":12.25,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T06:00:00Z","aqi":41,"aqi_min":30,"aqi_max":50,"pm25":9.79,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T07:00:00Z","aqi":67,"aqi_min":59,"aqi_max":82,"pm25":19.71,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T08:00:00Z","aqi":96,"aqi_min":61,"aqi_max":138,"pm25":33.69,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T09:00:00Z","aqi":61,"aqi_min":61,"aqi_max":61,"pm25":16.86,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T10:00:00Z","aqi":55,"aqi_min":46,"aqi_max":61,"pm25":13.81,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":52,"aqi_min":21,"aqi_max":66,"pm25":12.83,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T12:00:00Z","aqi":47,"aqi_min":36,"aqi_max":58,"pm25":11.18,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T13:00:00Z","aqi":47,"aqi_min":47,"aqi_max":47,"pm25":11.28,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T14:00:00Z","aqi":55,"aqi_min":48,"aqi_max":61,"pm25":14.19,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":58,"aqi_min":50,"aqi_max":62,"pm25":15.4,"pm10":null,"stations":3}],"daily":[{"date":"2026-05-27","aqi_avg":37,"aqi_min":10,"aqi_max":84,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":10.2,"pm10_avg":null,"hours":8,"stations_avg":3},{"date":"2026-05-28","aqi_avg":52,"aqi_min":30,"aqi_max":80,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":13.8,"pm10_avg":null,"hours":22,"stations_avg":3},{"date":"2026-05-29","aqi_avg":56,"aqi_min":31,"aqi_max":96,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":15.3,"pm10_avg":null,"hours":16,"stations_avg":3}]}