{"city":"Qingpu","country":"China","lat":31.153940200805664,"lon":121.11408233642578,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-28T06:00:00Z","aqi":69,"aqi_min":30,"aqi_max":102,"pm25":20.57,"pm10":null,"stations":27},{"datetime_utc":"2026-05-28T07:00:00Z","aqi":62,"aqi_min":41,"aqi_max":84,"pm25":17.45,"pm10":null,"stations":22},{"datetime_utc":"2026-05-28T08:00:00Z","aqi":66,"aqi_min":39,"aqi_max":93,"pm25":19.36,"pm10":null,"stations":23},{"datetime_utc":"2026-05-28T09:00:00Z","aqi":59,"aqi_min":38,"aqi_max":93,"pm25":15.93,"pm10":null,"stations":29},{"datetime_utc":"2026-05-28T10:00:00Z","aqi":61,"aqi_min":44,"aqi_max":82,"pm25":16.87,"pm10":null,"stations":21},{"datetime_utc":"2026-05-28T11:00:00Z","aqi":60,"aqi_min":10,"aqi_max":85,"pm25":16.42,"pm10":null,"stations":16},{"datetime_utc":"2026-05-28T12:00:00Z","aqi":56,"aqi_min":40,"aqi_max":85,"pm25":14.57,"pm10":null,"stations":11},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":62,"aqi_min":15,"aqi_max":93,"pm25":17.15,"pm10":null,"stations":18},{"datetime_utc":"2026-05-28T14:00:00Z","aqi":67,"aqi_min":20,"aqi_max":95,"pm25":19.65,"pm10":null,"stations":26},{"datetime_utc":"2026-05-28T15:00:00Z","aqi":60,"aqi_min":30,"aqi_max":104,"pm25":16.54,"pm10":null,"stations":35},{"datetime_utc":"2026-05-28T16:00:00Z","aqi":58,"aqi_min":21,"aqi_max":87,"pm25":15.29,"pm10":null,"stations":26},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":68,"aqi_min":27,"aqi_max":97,"pm25":20.23,"pm10":null,"stations":13},{"datetime_utc":"2026-05-28T18:00:00Z","aqi":54,"aqi_min":14,"aqi_max":109,"pm25":13.55,"pm10":null,"stations":24},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":64,"aqi_min":32,"aqi_max":151,"pm25":18.14,"pm10":null,"stations":19},{"datetime_utc":"2026-05-28T20:00:00Z","aqi":59,"aqi_min":30,"aqi_max":89,"pm25":15.92,"pm10":null,"stations":29},{"datetime_utc":"2026-05-28T21:00:00Z","aqi":65,"aqi_min":25,"aqi_max":132,"pm25":18.64,"pm10":null,"stations":30},{"datetime_utc":"2026-05-28T22:00:00Z","aqi":68,"aqi_min":15,"aqi_max":144,"pm25":20.42,"pm10":null,"stations":30},{"datetime_utc":"2026-05-28T23:00:00Z","aqi":62,"aqi_min":25,"aqi_max":112,"pm25":17.06,"pm10":null,"stations":24},{"datetime_utc":"2026-05-29T00:00:00Z","aqi":66,"aqi_min":13,"aqi_max":155,"pm25":19.37,"pm10":null,"stations":34},{"datetime_utc":"2026-05-29T01:00:00Z","aqi":64,"aqi_min":22,"aqi_max":137,"pm25":18.42,"pm10":null,"stations":43},{"datetime_utc":"2026-05-29T02:00:00Z","aqi":63,"aqi_min":26,"aqi_max":95,"pm25":17.6,"pm10":null,"stations":42},{"datetime_utc":"2026-05-29T03:00:00Z","aqi":68,"aqi_min":35,"aqi_max":117,"pm25":20.13,"pm10":null,"stations":29},{"datetime_utc":"2026-05-29T04:00:00Z","aqi":76,"aqi_min":31,"aqi_max":157,"pm25":24.14,"pm10":null,"stations":27},{"datetime_utc":"2026-05-29T05:00:00Z","aqi":78,"aqi_min":34,"aqi_max":160,"pm25":25.04,"pm10":null,"stations":25},{"datetime_utc":"2026-05-29T06:00:00Z","aqi":68,"aqi_min":34,"aqi_max":97,"pm25":20.35,"pm10":null,"stations":19},{"datetime_utc":"2026-05-29T07:00:00Z","aqi":76,"aqi_min":25,"aqi_max":153,"pm25":23.93,"pm10":null,"stations":26},{"datetime_utc":"2026-05-29T08:00:00Z","aqi":69,"aqi_min":25,"aqi_max":112,"pm25":20.64,"pm10":null,"stations":21},{"datetime_utc":"2026-05-29T09:00:00Z","aqi":69,"aqi_min":34,"aqi_max":111,"pm25":20.59,"pm10":null,"stations":19},{"datetime_utc":"2026-05-29T10:00:00Z","aqi":68,"aqi_min":17,"aqi_max":111,"pm25":20.2,"pm10":null,"stations":25},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":62,"aqi_min":10,"aqi_max":90,"pm25":17.54,"pm10":null,"stations":29},{"datetime_utc":"2026-05-29T12:00:00Z","aqi":63,"aqi_min":25,"aqi_max":137,"pm25":17.67,"pm10":null,"stations":25},{"datetime_utc":"2026-05-29T13:00:00Z","aqi":68,"aqi_min":15,"aqi_max":93,"pm25":20.3,"pm10":null,"stations":24},{"datetime_utc":"2026-05-29T14:00:00Z","aqi":84,"aqi_min":46,"aqi_max":161,"pm25":28.0,"pm10":null,"stations":19},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":83,"aqi_min":40,"aqi_max":155,"pm25":27.29,"pm10":null,"stations":41},{"datetime_utc":"2026-05-29T16:00:00Z","aqi":71,"aqi_min":38,"aqi_max":97,"pm25":21.39,"pm10":null,"stations":28},{"datetime_utc":"2026-05-29T17:00:00Z","aqi":61,"aqi_min":25,"aqi_max":137,"pm25":16.96,"pm10":null,"stations":22},{"datetime_utc":"2026-05-29T18:00:00Z","aqi":76,"aqi_min":25,"aqi_max":134,"pm25":23.84,"pm10":null,"stations":29},{"datetime_utc":"2026-05-29T19:00:00Z","aqi":64,"aqi_min":7,"aqi_max":142,"pm25":18.29,"pm10":null,"stations":36},{"datetime_utc":"2026-05-29T20:00:00Z","aqi":75,"aqi_min":30,"aqi_max":134,"pm25":23.69,"pm10":null,"stations":37},{"datetime_utc":"2026-05-29T21:00:00Z","aqi":72,"aqi_min":25,"aqi_max":137,"pm25":22.14,"pm10":null,"stations":28},{"datetime_utc":"2026-05-29T22:00:00Z","aqi":73,"aqi_min":38,"aqi_max":124,"pm25":22.71,"pm10":null,"stations":30},{"datetime_utc":"2026-05-29T23:00:00Z","aqi":73,"aqi_min":25,"aqi_max":149,"pm25":22.51,"pm10":null,"stations":17},{"datetime_utc":"2026-05-30T00:00:00Z","aqi":72,"aqi_min":8,"aqi_max":157,"pm25":22.16,"pm10":null,"stations":31},{"datetime_utc":"2026-05-30T01:00:00Z","aqi":63,"aqi_min":14,"aqi_max":134,"pm25":17.95,"pm10":null,"stations":29},{"datetime_utc":"2026-05-30T02:00:00Z","aqi":67,"aqi_min":30,"aqi_max":122,"pm25":19.73,"pm10":null,"stations":29},{"datetime_utc":"2026-05-30T03:00:00Z","aqi":65,"aqi_min":30,"aqi_max":109,"pm25":18.69,"pm10":null,"stations":33},{"datetime_utc":"2026-05-30T04:00:00Z","aqi":59,"aqi_min":39,"aqi_max":68,"pm25":15.94,"pm10":null,"stations":12}],"daily":[{"date":"2026-05-28","aqi_avg":62,"aqi_min":54,"aqi_max":69,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":17.4,"pm10_avg":null,"hours":18,"stations_avg":24},{"date":"2026-05-29","aqi_avg":70,"aqi_min":61,"aqi_max":84,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":21.4,"pm10_avg":null,"hours":24,"stations_avg":28},{"date":"2026-05-30","aqi_avg":65,"aqi_min":59,"aqi_max":72,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":18.9,"pm10_avg":null,"hours":5,"stations_avg":27}]}