{"city":"Villiers","country":"South Africa","lat":-27.03026008605957,"lon":28.600610733032227,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-06-11T12:00:00Z","aqi":23,"aqi_min":14,"aqi_max":31,"pm25":5.4,"pm10":null,"stations":2},{"datetime_utc":"2026-06-11T13:00:00Z","aqi":29,"aqi_min":29,"aqi_max":29,"pm25":6.96,"pm10":null,"stations":1},{"datetime_utc":"2026-06-11T15:00:00Z","aqi":9,"aqi_min":9,"aqi_max":9,"pm25":2.16,"pm10":null,"stations":1},{"datetime_utc":"2026-06-11T17:00:00Z","aqi":22,"aqi_min":12,"aqi_max":31,"pm25":5.16,"pm10":null,"stations":2},{"datetime_utc":"2026-06-11T18:00:00Z","aqi":28,"aqi_min":25,"aqi_max":32,"pm25":6.84,"pm10":null,"stations":2},{"datetime_utc":"2026-06-11T19:00:00Z","aqi":35,"aqi_min":35,"aqi_max":35,"pm25":8.4,"pm10":null,"stations":1},{"datetime_utc":"2026-06-11T20:00:00Z","aqi":51,"aqi_min":13,"aqi_max":72,"pm25":12.24,"pm10":null,"stations":2},{"datetime_utc":"2026-06-11T21:00:00Z","aqi":43,"aqi_min":43,"aqi_max":43,"pm25":10.32,"pm10":null,"stations":1},{"datetime_utc":"2026-06-11T22:00:00Z","aqi":72,"aqi_min":33,"aqi_max":104,"pm25":22.32,"pm10":null,"stations":2},{"datetime_utc":"2026-06-11T23:00:00Z","aqi":28,"aqi_min":26,"aqi_max":31,"pm25":6.84,"pm10":null,"stations":2},{"datetime_utc":"2026-06-12T01:00:00Z","aqi":5,"aqi_min":5,"aqi_max":5,"pm25":1.2,"pm10":null,"stations":1},{"datetime_utc":"2026-06-12T02:00:00Z","aqi":1,"aqi_min":1,"aqi_max":1,"pm25":0.24,"pm10":null,"stations":1},{"datetime_utc":"2026-06-12T03:00:00Z","aqi":30,"aqi_min":30,"aqi_max":30,"pm25":7.2,"pm10":null,"stations":1},{"datetime_utc":"2026-06-12T04:00:00Z","aqi":43,"aqi_min":43,"aqi_max":43,"pm25":10.32,"pm10":null,"stations":1},{"datetime_utc":"2026-06-12T05:00:00Z","aqi":10,"aqi_min":4,"aqi_max":15,"pm25":2.28,"pm10":null,"stations":2},{"datetime_utc":"2026-06-12T06:00:00Z","aqi":30,"aqi_min":29,"aqi_max":31,"pm25":7.2,"pm10":null,"stations":2},{"datetime_utc":"2026-06-12T07:00:00Z","aqi":89,"aqi_min":40,"aqi_max":139,"pm25":30.27,"pm10":null,"stations":2},{"datetime_utc":"2026-06-12T09:00:00Z","aqi":62,"aqi_min":19,"aqi_max":88,"pm25":17.13,"pm10":null,"stations":2},{"datetime_utc":"2026-06-12T10:00:00Z","aqi":63,"aqi_min":30,"aqi_max":86,"pm25":17.97,"pm10":null,"stations":2},{"datetime_utc":"2026-06-12T11:00:00Z","aqi":347,"aqi_min":20,"aqi_max":500,"pm25":308.12,"pm10":null,"stations":3},{"datetime_utc":"2026-06-12T12:00:00Z","aqi":62,"aqi_min":24,"aqi_max":86,"pm25":17.25,"pm10":null,"stations":2},{"datetime_utc":"2026-06-12T14:00:00Z","aqi":56,"aqi_min":56,"aqi_max":56,"pm25":14.48,"pm10":null,"stations":1},{"datetime_utc":"2026-06-12T15:00:00Z","aqi":67,"aqi_min":67,"aqi_max":67,"pm25":19.71,"pm10":null,"stations":1},{"datetime_utc":"2026-06-12T16:00:00Z","aqi":40,"aqi_min":11,"aqi_max":60,"pm25":9.51,"pm10":null,"stations":2},{"datetime_utc":"2026-06-12T17:00:00Z","aqi":13,"aqi_min":13,"aqi_max":13,"pm25":3.12,"pm10":null,"stations":1},{"datetime_utc":"2026-06-12T18:00:00Z","aqi":13,"aqi_min":13,"aqi_max":13,"pm25":3.12,"pm10":null,"stations":1},{"datetime_utc":"2026-06-12T20:00:00Z","aqi":19,"aqi_min":8,"aqi_max":34,"pm25":4.56,"pm10":null,"stations":2},{"datetime_utc":"2026-06-12T21:00:00Z","aqi":26,"aqi_min":26,"aqi_max":26,"pm25":6.24,"pm10":null,"stations":1},{"datetime_utc":"2026-06-12T22:00:00Z","aqi":22,"aqi_min":22,"aqi_max":22,"pm25":5.28,"pm10":null,"stations":1},{"datetime_utc":"2026-06-12T23:00:00Z","aqi":17,"aqi_min":17,"aqi_max":17,"pm25":4.08,"pm10":null,"stations":1},{"datetime_utc":"2026-06-13T00:00:00Z","aqi":30,"aqi_min":10,"aqi_max":51,"pm25":7.25,"pm10":null,"stations":2},{"datetime_utc":"2026-06-13T01:00:00Z","aqi":8,"aqi_min":1,"aqi_max":15,"pm25":1.92,"pm10":null,"stations":2},{"datetime_utc":"2026-06-13T02:00:00Z","aqi":23,"aqi_min":2,"aqi_max":44,"pm25":5.52,"pm10":null,"stations":2},{"datetime_utc":"2026-06-13T05:00:00Z","aqi":61,"aqi_min":40,"aqi_max":76,"pm25":16.79,"pm10":null,"stations":2},{"datetime_utc":"2026-06-13T06:00:00Z","aqi":33,"aqi_min":33,"aqi_max":33,"pm25":7.92,"pm10":null,"stations":1},{"datetime_utc":"2026-06-13T07:00:00Z","aqi":11,"aqi_min":11,"aqi_max":11,"pm25":2.64,"pm10":null,"stations":1},{"datetime_utc":"2026-06-13T08:00:00Z","aqi":55,"aqi_min":18,"aqi_max":76,"pm25":14.15,"pm10":null,"stations":2},{"datetime_utc":"2026-06-13T10:00:00Z","aqi":30,"aqi_min":30,"aqi_max":30,"pm25":7.2,"pm10":null,"stations":1}],"daily":[{"date":"2026-06-11","aqi_avg":34,"aqi_min":9,"aqi_max":72,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":8.7,"pm10_avg":null,"hours":10,"stations_avg":2},{"date":"2026-06-12","aqi_avg":51,"aqi_min":1,"aqi_max":347,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":24.5,"pm10_avg":null,"hours":20,"stations_avg":2},{"date":"2026-06-13","aqi_avg":31,"aqi_min":8,"aqi_max":61,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":7.9,"pm10_avg":null,"hours":8,"stations_avg":2}]}