{"city":"Shakaskraal","country":"South Africa","lat":-29.449310302734375,"lon":31.215320587158203,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-07-19T23:00:00Z","aqi":20,"aqi_min":13,"aqi_max":28,"pm25":4.92,"pm10":null,"stations":2},{"datetime_utc":"2026-07-20T00:00:00Z","aqi":28,"aqi_min":10,"aqi_max":56,"pm25":6.67,"pm10":null,"stations":3},{"datetime_utc":"2026-07-20T02:00:00Z","aqi":39,"aqi_min":39,"aqi_max":39,"pm25":9.36,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T03:00:00Z","aqi":28,"aqi_min":28,"aqi_max":28,"pm25":6.72,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T04:00:00Z","aqi":32,"aqi_min":32,"aqi_max":32,"pm25":7.68,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T05:00:00Z","aqi":22,"aqi_min":19,"aqi_max":24,"pm25":5.16,"pm10":null,"stations":2},{"datetime_utc":"2026-07-20T06:00:00Z","aqi":21,"aqi_min":21,"aqi_max":21,"pm25":5.04,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T07:00:00Z","aqi":35,"aqi_min":35,"aqi_max":35,"pm25":8.4,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T08:00:00Z","aqi":32,"aqi_min":32,"aqi_max":32,"pm25":7.68,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T10:00:00Z","aqi":30,"aqi_min":25,"aqi_max":33,"pm25":7.12,"pm10":null,"stations":3},{"datetime_utc":"2026-07-20T11:00:00Z","aqi":29,"aqi_min":29,"aqi_max":29,"pm25":6.96,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T12:00:00Z","aqi":64,"aqi_min":25,"aqi_max":90,"pm25":18.32,"pm10":null,"stations":2},{"datetime_utc":"2026-07-20T13:00:00Z","aqi":39,"aqi_min":39,"aqi_max":39,"pm25":9.36,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T14:00:00Z","aqi":42,"aqi_min":34,"aqi_max":50,"pm25":10.08,"pm10":null,"stations":2},{"datetime_utc":"2026-07-20T15:00:00Z","aqi":42,"aqi_min":31,"aqi_max":52,"pm25":10.01,"pm10":null,"stations":2},{"datetime_utc":"2026-07-20T16:00:00Z","aqi":22,"aqi_min":22,"aqi_max":22,"pm25":5.28,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T17:00:00Z","aqi":22,"aqi_min":22,"aqi_max":22,"pm25":5.28,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T18:00:00Z","aqi":4,"aqi_min":4,"aqi_max":4,"pm25":0.96,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T19:00:00Z","aqi":30,"aqi_min":22,"aqi_max":38,"pm25":7.2,"pm10":null,"stations":2},{"datetime_utc":"2026-07-20T20:00:00Z","aqi":9,"aqi_min":9,"aqi_max":9,"pm25":2.16,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T21:00:00Z","aqi":13,"aqi_min":13,"aqi_max":13,"pm25":3.12,"pm10":null,"stations":1},{"datetime_utc":"2026-07-20T23:00:00Z","aqi":109,"aqi_min":36,"aqi_max":158,"pm25":38.85,"pm10":null,"stations":2},{"datetime_utc":"2026-07-21T00:00:00Z","aqi":87,"aqi_min":87,"aqi_max":87,"pm25":29.22,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T01:00:00Z","aqi":8,"aqi_min":8,"aqi_max":8,"pm25":1.92,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T03:00:00Z","aqi":30,"aqi_min":30,"aqi_max":31,"pm25":7.32,"pm10":null,"stations":2},{"datetime_utc":"2026-07-21T04:00:00Z","aqi":10,"aqi_min":2,"aqi_max":18,"pm25":2.4,"pm10":null,"stations":2},{"datetime_utc":"2026-07-21T06:00:00Z","aqi":24,"aqi_min":24,"aqi_max":24,"pm25":5.76,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T07:00:00Z","aqi":67,"aqi_min":65,"aqi_max":68,"pm25":19.47,"pm10":null,"stations":2},{"datetime_utc":"2026-07-21T08:00:00Z","aqi":55,"aqi_min":20,"aqi_max":74,"pm25":13.92,"pm10":null,"stations":2},{"datetime_utc":"2026-07-21T09:00:00Z","aqi":12,"aqi_min":12,"aqi_max":12,"pm25":2.88,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T10:00:00Z","aqi":50,"aqi_min":21,"aqi_max":70,"pm25":12.0,"pm10":null,"stations":3},{"datetime_utc":"2026-07-21T11:00:00Z","aqi":8,"aqi_min":8,"aqi_max":8,"pm25":1.92,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T12:00:00Z","aqi":138,"aqi_min":46,"aqi_max":169,"pm25":50.7,"pm10":null,"stations":2},{"datetime_utc":"2026-07-21T13:00:00Z","aqi":29,"aqi_min":25,"aqi_max":31,"pm25":6.88,"pm10":null,"stations":3},{"datetime_utc":"2026-07-21T14:00:00Z","aqi":53,"aqi_min":53,"aqi_max":53,"pm25":13.05,"pm10":null,"stations":1},{"datetime_utc":"2026-07-21T15:00:00Z","aqi":124,"aqi_min":61,"aqi_max":160,"pm25":44.89,"pm10":null,"stations":2},{"datetime_utc":"2026-07-21T16:00:00Z","aqi":67,"aqi_min":64,"aqi_max":72,"pm25":19.55,"pm10":null,"stations":3},{"datetime_utc":"2026-07-21T19:00:00Z","aqi":47,"aqi_min":40,"aqi_max":53,"pm25":11.33,"pm10":null,"stations":2},{"datetime_utc":"2026-07-21T21:00:00Z","aqi":88,"aqi_min":60,"aqi_max":119,"pm25":29.59,"pm10":null,"stations":2}],"daily":[{"date":"2026-07-19","aqi_avg":20,"aqi_min":20,"aqi_max":20,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":4.9,"pm10_avg":null,"hours":1,"stations_avg":2},{"date":"2026-07-20","aqi_avg":33,"aqi_min":4,"aqi_max":109,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":8.6,"pm10_avg":null,"hours":21,"stations_avg":1},{"date":"2026-07-21","aqi_avg":53,"aqi_min":8,"aqi_max":138,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":16.0,"pm10_avg":null,"hours":17,"stations_avg":2}]}