{"city":"Bandar Putra Kulai","country":"Malaysia","lat":1.6495800018310547,"lon":103.6266098022461,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-28T11:00:00Z","aqi":42,"aqi_min":9,"aqi_max":62,"pm25":10.0,"pm10":17.76,"stations":9},{"datetime_utc":"2026-05-28T12:00:00Z","aqi":55,"aqi_min":42,"aqi_max":65,"pm25":13.9,"pm10":17.28,"stations":8},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":56,"aqi_min":38,"aqi_max":71,"pm25":14.73,"pm10":20.76,"stations":7},{"datetime_utc":"2026-05-28T14:00:00Z","aqi":58,"aqi_min":41,"aqi_max":67,"pm25":15.22,"pm10":20.71,"stations":6},{"datetime_utc":"2026-05-28T15:00:00Z","aqi":61,"aqi_min":40,"aqi_max":76,"pm25":16.78,"pm10":16.87,"stations":8},{"datetime_utc":"2026-05-28T16:00:00Z","aqi":53,"aqi_min":9,"aqi_max":93,"pm25":13.1,"pm10":24.76,"stations":7},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":47,"aqi_min":30,"aqi_max":52,"pm25":11.16,"pm10":13.58,"stations":4},{"datetime_utc":"2026-05-28T18:00:00Z","aqi":47,"aqi_min":26,"aqi_max":64,"pm25":11.29,"pm10":18.92,"stations":9},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":70,"aqi_min":13,"aqi_max":162,"pm25":21.31,"pm10":18.2,"stations":11},{"datetime_utc":"2026-05-28T20:00:00Z","aqi":56,"aqi_min":34,"aqi_max":74,"pm25":14.42,"pm10":17.48,"stations":11},{"datetime_utc":"2026-05-28T21:00:00Z","aqi":71,"aqi_min":46,"aqi_max":149,"pm25":21.57,"pm10":20.58,"stations":6},{"datetime_utc":"2026-05-28T22:00:00Z","aqi":52,"aqi_min":27,"aqi_max":58,"pm25":12.66,"pm10":13.1,"stations":7},{"datetime_utc":"2026-05-28T23:00:00Z","aqi":56,"aqi_min":36,"aqi_max":68,"pm25":14.48,"pm10":20.02,"stations":7},{"datetime_utc":"2026-05-29T00:00:00Z","aqi":44,"aqi_min":13,"aqi_max":69,"pm25":10.45,"pm10":21.0,"stations":4},{"datetime_utc":"2026-05-29T01:00:00Z","aqi":58,"aqi_min":10,"aqi_max":94,"pm25":15.25,"pm10":3.82,"stations":8},{"datetime_utc":"2026-05-29T02:00:00Z","aqi":46,"aqi_min":15,"aqi_max":64,"pm25":11.06,"pm10":3.66,"stations":4},{"datetime_utc":"2026-05-29T03:00:00Z","aqi":42,"aqi_min":10,"aqi_max":72,"pm25":10.08,"pm10":5.15,"stations":12},{"datetime_utc":"2026-05-29T04:00:00Z","aqi":55,"aqi_min":21,"aqi_max":91,"pm25":13.95,"pm10":5.12,"stations":7},{"datetime_utc":"2026-05-29T05:00:00Z","aqi":42,"aqi_min":21,"aqi_max":76,"pm25":10.16,"pm10":9.61,"stations":7},{"datetime_utc":"2026-05-29T06:00:00Z","aqi":46,"aqi_min":34,"aqi_max":55,"pm25":11.0,"pm10":14.51,"stations":6},{"datetime_utc":"2026-05-29T07:00:00Z","aqi":39,"aqi_min":25,"aqi_max":55,"pm25":9.43,"pm10":14.92,"stations":7},{"datetime_utc":"2026-05-29T08:00:00Z","aqi":58,"aqi_min":30,"aqi_max":77,"pm25":15.53,"pm10":7.89,"stations":6},{"datetime_utc":"2026-05-29T09:00:00Z","aqi":44,"aqi_min":29,"aqi_max":57,"pm25":10.57,"pm10":9.02,"stations":4},{"datetime_utc":"2026-05-29T10:00:00Z","aqi":52,"aqi_min":21,"aqi_max":82,"pm25":12.81,"pm10":21.43,"stations":13},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":54,"aqi_min":9,"aqi_max":98,"pm25":13.49,"pm10":12.71,"stations":8},{"datetime_utc":"2026-05-29T12:00:00Z","aqi":57,"aqi_min":25,"aqi_max":139,"pm25":14.88,"pm10":9.64,"stations":9},{"datetime_utc":"2026-05-29T13:00:00Z","aqi":57,"aqi_min":26,"aqi_max":108,"pm25":14.84,"pm10":6.17,"stations":9},{"datetime_utc":"2026-05-29T14:00:00Z","aqi":55,"aqi_min":16,"aqi_max":89,"pm25":14.24,"pm10":3.79,"stations":8},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":42,"aqi_min":15,"aqi_max":56,"pm25":10.22,"pm10":4.38,"stations":7},{"datetime_utc":"2026-05-29T16:00:00Z","aqi":46,"aqi_min":9,"aqi_max":64,"pm25":11.08,"pm10":2.12,"stations":6},{"datetime_utc":"2026-05-29T17:00:00Z","aqi":49,"aqi_min":13,"aqi_max":119,"pm25":11.71,"pm10":4.23,"stations":10},{"datetime_utc":"2026-05-29T18:00:00Z","aqi":37,"aqi_min":21,"aqi_max":55,"pm25":8.78,"pm10":5.53,"stations":4},{"datetime_utc":"2026-05-29T19:00:00Z","aqi":57,"aqi_min":32,"aqi_max":93,"pm25":14.85,"pm10":8.0,"stations":9},{"datetime_utc":"2026-05-29T20:00:00Z","aqi":59,"aqi_min":21,"aqi_max":76,"pm25":16.03,"pm10":null,"stations":7},{"datetime_utc":"2026-05-29T21:00:00Z","aqi":60,"aqi_min":30,"aqi_max":102,"pm25":16.48,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T22:00:00Z","aqi":45,"aqi_min":30,"aqi_max":63,"pm25":10.84,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T23:00:00Z","aqi":59,"aqi_min":30,"aqi_max":153,"pm25":15.67,"pm10":null,"stations":9},{"datetime_utc":"2026-05-30T00:00:00Z","aqi":32,"aqi_min":13,"aqi_max":42,"pm25":7.79,"pm10":null,"stations":5},{"datetime_utc":"2026-05-30T01:00:00Z","aqi":51,"aqi_min":9,"aqi_max":80,"pm25":12.19,"pm10":2.82,"stations":8},{"datetime_utc":"2026-05-30T02:00:00Z","aqi":52,"aqi_min":4,"aqi_max":109,"pm25":12.54,"pm10":5.23,"stations":10},{"datetime_utc":"2026-05-30T03:00:00Z","aqi":63,"aqi_min":22,"aqi_max":89,"pm25":17.9,"pm10":7.89,"stations":10},{"datetime_utc":"2026-05-30T04:00:00Z","aqi":57,"aqi_min":30,"aqi_max":88,"pm25":14.94,"pm10":10.17,"stations":10},{"datetime_utc":"2026-05-30T05:00:00Z","aqi":49,"aqi_min":2,"aqi_max":72,"pm25":11.75,"pm10":1.51,"stations":12},{"datetime_utc":"2026-05-30T06:00:00Z","aqi":50,"aqi_min":7,"aqi_max":72,"pm25":11.99,"pm10":2.1,"stations":6},{"datetime_utc":"2026-05-30T07:00:00Z","aqi":48,"aqi_min":2,"aqi_max":95,"pm25":11.6,"pm10":1.23,"stations":10},{"datetime_utc":"2026-05-30T08:00:00Z","aqi":38,"aqi_min":11,"aqi_max":54,"pm25":9.09,"pm10":2.74,"stations":6},{"datetime_utc":"2026-05-30T09:00:00Z","aqi":45,"aqi_min":24,"aqi_max":56,"pm25":10.66,"pm10":5.76,"stations":4}],"daily":[{"date":"2026-05-28","aqi_avg":56,"aqi_min":42,"aqi_max":71,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":14.7,"pm10_avg":18.5,"hours":13,"stations_avg":8},{"date":"2026-05-29","aqi_avg":50,"aqi_min":37,"aqi_max":60,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":12.6,"pm10_avg":8.6,"hours":24,"stations_avg":7},{"date":"2026-05-30","aqi_avg":48,"aqi_min":32,"aqi_max":63,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":12.0,"pm10_avg":4.4,"hours":10,"stations_avg":8}]}