{"city":"Kwaggafontein","country":"South Africa","lat":-25.327289581298828,"lon":28.94223976135254,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-07-19T23:00:00Z","aqi":12,"aqi_min":1,"aqi_max":29,"pm25":3.0,"pm10":null,"stations":4},{"datetime_utc":"2026-07-20T01:00:00Z","aqi":55,"aqi_min":55,"aqi_max":55,"pm25":14.0,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T02:00:00Z","aqi":39,"aqi_min":25,"aqi_max":52,"pm25":9.29,"pm10":null,"stations":2},{"datetime_utc":"2026-07-20T03:00:00Z","aqi":34,"aqi_min":34,"aqi_max":34,"pm25":8.16,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T04:00:00Z","aqi":32,"aqi_min":19,"aqi_max":45,"pm25":7.68,"pm10":null,"stations":2},{"datetime_utc":"2026-07-20T05:00:00Z","aqi":21,"aqi_min":21,"aqi_max":21,"pm25":5.04,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T06:00:00Z","aqi":50,"aqi_min":50,"aqi_max":50,"pm25":12.0,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T07:00:00Z","aqi":30,"aqi_min":24,"aqi_max":37,"pm25":7.32,"pm10":null,"stations":2},{"datetime_utc":"2026-07-20T08:00:00Z","aqi":61,"aqi_min":2,"aqi_max":114,"pm25":16.87,"pm10":null,"stations":4},{"datetime_utc":"2026-07-20T09:00:00Z","aqi":30,"aqi_min":30,"aqi_max":30,"pm25":7.2,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T10:00:00Z","aqi":34,"aqi_min":34,"aqi_max":34,"pm25":8.16,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T11:00:00Z","aqi":20,"aqi_min":20,"aqi_max":20,"pm25":4.8,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T12:00:00Z","aqi":57,"aqi_min":30,"aqi_max":82,"pm25":14.79,"pm10":null,"stations":2},{"datetime_utc":"2026-07-20T13:00:00Z","aqi":35,"aqi_min":7,"aqi_max":57,"pm25":8.32,"pm10":null,"stations":2},{"datetime_utc":"2026-07-20T14:00:00Z","aqi":60,"aqi_min":53,"aqi_max":67,"pm25":16.38,"pm10":null,"stations":2},{"datetime_utc":"2026-07-20T15:00:00Z","aqi":28,"aqi_min":21,"aqi_max":38,"pm25":6.72,"pm10":null,"stations":3},{"datetime_utc":"2026-07-20T17:00:00Z","aqi":39,"aqi_min":26,"aqi_max":52,"pm25":9.41,"pm10":null,"stations":2},{"datetime_utc":"2026-07-20T19:00:00Z","aqi":32,"aqi_min":19,"aqi_max":45,"pm25":7.68,"pm10":null,"stations":2},{"datetime_utc":"2026-07-20T20:00:00Z","aqi":6,"aqi_min":6,"aqi_max":6,"pm25":1.44,"pm10":null,"stations":2},{"datetime_utc":"2026-07-20T21:00:00Z","aqi":23,"aqi_min":21,"aqi_max":25,"pm25":5.52,"pm10":null,"stations":2},{"datetime_utc":"2026-07-20T22:00:00Z","aqi":38,"aqi_min":26,"aqi_max":50,"pm25":9.12,"pm10":null,"stations":2},{"datetime_utc":"2026-07-21T00:00:00Z","aqi":93,"aqi_min":93,"aqi_max":93,"pm25":32.07,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T01:00:00Z","aqi":16,"aqi_min":16,"aqi_max":16,"pm25":3.84,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T02:00:00Z","aqi":23,"aqi_min":22,"aqi_max":25,"pm25":5.64,"pm10":null,"stations":2},{"datetime_utc":"2026-07-21T04:00:00Z","aqi":93,"aqi_min":3,"aqi_max":159,"pm25":31.86,"pm10":null,"stations":4},{"datetime_utc":"2026-07-21T05:00:00Z","aqi":19,"aqi_min":19,"aqi_max":19,"pm25":4.56,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T06:00:00Z","aqi":52,"aqi_min":52,"aqi_max":52,"pm25":12.58,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T07:00:00Z","aqi":82,"aqi_min":31,"aqi_max":109,"pm25":27.04,"pm10":null,"stations":3},{"datetime_utc":"2026-07-21T08:00:00Z","aqi":64,"aqi_min":64,"aqi_max":64,"pm25":18.28,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T09:00:00Z","aqi":42,"aqi_min":42,"aqi_max":42,"pm25":10.08,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T10:00:00Z","aqi":64,"aqi_min":30,"aqi_max":114,"pm25":18.49,"pm10":null,"stations":4},{"datetime_utc":"2026-07-21T11:00:00Z","aqi":68,"aqi_min":63,"aqi_max":74,"pm25":20.42,"pm10":null,"stations":2},{"datetime_utc":"2026-07-21T12:00:00Z","aqi":58,"aqi_min":35,"aqi_max":85,"pm25":15.26,"pm10":null,"stations":3},{"datetime_utc":"2026-07-21T13:00:00Z","aqi":30,"aqi_min":30,"aqi_max":30,"pm25":7.2,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T14:00:00Z","aqi":57,"aqi_min":57,"aqi_max":57,"pm25":14.95,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T15:00:00Z","aqi":42,"aqi_min":42,"aqi_max":42,"pm25":10.08,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T16:00:00Z","aqi":75,"aqi_min":60,"aqi_max":91,"pm25":23.75,"pm10":null,"stations":2},{"datetime_utc":"2026-07-21T17:00:00Z","aqi":31,"aqi_min":31,"aqi_max":31,"pm25":7.44,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T20:00:00Z","aqi":66,"aqi_min":66,"aqi_max":66,"pm25":19.23,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T21:00:00Z","aqi":124,"aqi_min":60,"aqi_max":160,"pm25":44.66,"pm10":null,"stations":2}],"daily":[{"date":"2026-07-19","aqi_avg":12,"aqi_min":12,"aqi_max":12,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":3.0,"pm10_avg":null,"hours":1,"stations_avg":4},{"date":"2026-07-20","aqi_avg":36,"aqi_min":6,"aqi_max":61,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":9.0,"pm10_avg":null,"hours":20,"stations_avg":2},{"date":"2026-07-21","aqi_avg":58,"aqi_min":16,"aqi_max":124,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":17.2,"pm10_avg":null,"hours":19,"stations_avg":2}]}