{"city":"Shanghai","country":"China","lat":31.222219467163086,"lon":121.45806121826172,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-26T23:00:00Z","aqi":65,"aqi_min":17,"aqi_max":129,"pm25":18.73,"pm10":21.0,"stations":46},{"datetime_utc":"2026-05-27T00:00:00Z","aqi":70,"aqi_min":34,"aqi_max":159,"pm25":20.89,"pm10":23.0,"stations":22},{"datetime_utc":"2026-05-27T01:00:00Z","aqi":74,"aqi_min":46,"aqi_max":122,"pm25":23.25,"pm10":19.0,"stations":19},{"datetime_utc":"2026-05-27T02:00:00Z","aqi":72,"aqi_min":38,"aqi_max":147,"pm25":21.99,"pm10":28.0,"stations":23},{"datetime_utc":"2026-05-27T03:00:00Z","aqi":65,"aqi_min":23,"aqi_max":114,"pm25":18.91,"pm10":39.0,"stations":27},{"datetime_utc":"2026-05-27T04:00:00Z","aqi":59,"aqi_min":30,"aqi_max":105,"pm25":15.99,"pm10":44.0,"stations":27},{"datetime_utc":"2026-05-27T05:00:00Z","aqi":70,"aqi_min":30,"aqi_max":122,"pm25":21.32,"pm10":54.0,"stations":18},{"datetime_utc":"2026-05-27T06:00:00Z","aqi":68,"aqi_min":46,"aqi_max":105,"pm25":20.25,"pm10":45.0,"stations":44},{"datetime_utc":"2026-05-27T07:00:00Z","aqi":78,"aqi_min":30,"aqi_max":154,"pm25":25.02,"pm10":48.0,"stations":14},{"datetime_utc":"2026-05-27T08:00:00Z","aqi":62,"aqi_min":37,"aqi_max":105,"pm25":17.28,"pm10":44.0,"stations":16},{"datetime_utc":"2026-05-27T09:00:00Z","aqi":68,"aqi_min":18,"aqi_max":102,"pm25":20.14,"pm10":44.0,"stations":15},{"datetime_utc":"2026-05-27T10:00:00Z","aqi":67,"aqi_min":25,"aqi_max":127,"pm25":19.58,"pm10":39.0,"stations":24},{"datetime_utc":"2026-05-27T11:00:00Z","aqi":60,"aqi_min":33,"aqi_max":105,"pm25":16.24,"pm10":46.0,"stations":17},{"datetime_utc":"2026-05-27T12:00:00Z","aqi":74,"aqi_min":26,"aqi_max":129,"pm25":22.81,"pm10":46.0,"stations":13},{"datetime_utc":"2026-05-27T13:00:00Z","aqi":75,"aqi_min":38,"aqi_max":127,"pm25":23.41,"pm10":41.0,"stations":41},{"datetime_utc":"2026-05-27T14:00:00Z","aqi":83,"aqi_min":46,"aqi_max":137,"pm25":27.3,"pm10":48.0,"stations":9},{"datetime_utc":"2026-05-27T15:00:00Z","aqi":74,"aqi_min":18,"aqi_max":149,"pm25":22.79,"pm10":46.0,"stations":22},{"datetime_utc":"2026-05-27T16:00:00Z","aqi":74,"aqi_min":27,"aqi_max":129,"pm25":23.24,"pm10":41.0,"stations":18},{"datetime_utc":"2026-05-27T17:00:00Z","aqi":80,"aqi_min":25,"aqi_max":127,"pm25":25.78,"pm10":48.0,"stations":28},{"datetime_utc":"2026-05-27T18:00:00Z","aqi":74,"aqi_min":27,"aqi_max":142,"pm25":23.12,"pm10":50.0,"stations":20},{"datetime_utc":"2026-05-27T19:00:00Z","aqi":74,"aqi_min":52,"aqi_max":119,"pm25":22.97,"pm10":52.0,"stations":27},{"datetime_utc":"2026-05-27T20:00:00Z","aqi":71,"aqi_min":34,"aqi_max":149,"pm25":21.82,"pm10":54.0,"stations":41},{"datetime_utc":"2026-05-27T21:00:00Z","aqi":82,"aqi_min":53,"aqi_max":144,"pm25":27.02,"pm10":57.0,"stations":17},{"datetime_utc":"2026-05-27T22:00:00Z","aqi":72,"aqi_min":6,"aqi_max":122,"pm25":22.29,"pm10":55.0,"stations":20},{"datetime_utc":"2026-05-27T23:00:00Z","aqi":88,"aqi_min":34,"aqi_max":134,"pm25":29.52,"pm10":52.0,"stations":17},{"datetime_utc":"2026-05-28T00:00:00Z","aqi":61,"aqi_min":10,"aqi_max":119,"pm25":16.95,"pm10":54.0,"stations":24},{"datetime_utc":"2026-05-28T01:00:00Z","aqi":62,"aqi_min":26,"aqi_max":129,"pm25":17.19,"pm10":60.0,"stations":21},{"datetime_utc":"2026-05-28T02:00:00Z","aqi":57,"aqi_min":35,"aqi_max":114,"pm25":14.76,"pm10":31.0,"stations":43},{"datetime_utc":"2026-05-28T03:00:00Z","aqi":72,"aqi_min":42,"aqi_max":91,"pm25":22.16,"pm10":34.0,"stations":9},{"datetime_utc":"2026-05-28T04:00:00Z","aqi":52,"aqi_min":30,"aqi_max":91,"pm25":12.84,"pm10":34.0,"stations":9},{"datetime_utc":"2026-05-28T05:00:00Z","aqi":61,"aqi_min":33,"aqi_max":117,"pm25":16.98,"pm10":54.0,"stations":15},{"datetime_utc":"2026-05-28T06:00:00Z","aqi":73,"aqi_min":25,"aqi_max":122,"pm25":22.51,"pm10":54.0,"stations":16},{"datetime_utc":"2026-05-28T07:00:00Z","aqi":67,"aqi_min":22,"aqi_max":124,"pm25":19.76,"pm10":56.0,"stations":23},{"datetime_utc":"2026-05-28T08:00:00Z","aqi":63,"aqi_min":41,"aqi_max":124,"pm25":18.03,"pm10":57.0,"stations":13},{"datetime_utc":"2026-05-28T09:00:00Z","aqi":61,"aqi_min":38,"aqi_max":110,"pm25":16.84,"pm10":49.0,"stations":25},{"datetime_utc":"2026-05-28T10:00:00Z","aqi":64,"aqi_min":46,"aqi_max":119,"pm25":18.41,"pm10":52.0,"stations":16},{"datetime_utc":"2026-05-28T11:00:00Z","aqi":68,"aqi_min":41,"aqi_max":117,"pm25":20.11,"pm10":53.0,"stations":14},{"datetime_utc":"2026-05-28T12:00:00Z","aqi":71,"aqi_min":36,"aqi_max":117,"pm25":21.39,"pm10":52.0,"stations":10},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":73,"aqi_min":27,"aqi_max":112,"pm25":22.36,"pm10":47.0,"stations":23},{"datetime_utc":"2026-05-28T14:00:00Z","aqi":67,"aqi_min":38,"aqi_max":119,"pm25":19.87,"pm10":53.0,"stations":23},{"datetime_utc":"2026-05-28T15:00:00Z","aqi":62,"aqi_min":25,"aqi_max":129,"pm25":17.44,"pm10":59.0,"stations":24},{"datetime_utc":"2026-05-28T16:00:00Z","aqi":68,"aqi_min":30,"aqi_max":139,"pm25":20.18,"pm10":66.0,"stations":30},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":72,"aqi_min":38,"aqi_max":152,"pm25":21.95,"pm10":68.0,"stations":8},{"datetime_utc":"2026-05-28T18:00:00Z","aqi":82,"aqi_min":22,"aqi_max":159,"pm25":26.71,"pm10":65.0,"stations":43},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":75,"aqi_min":7,"aqi_max":157,"pm25":23.49,"pm10":69.0,"stations":24},{"datetime_utc":"2026-05-28T20:00:00Z","aqi":84,"aqi_min":21,"aqi_max":158,"pm25":27.75,"pm10":80.0,"stations":29},{"datetime_utc":"2026-05-28T21:00:00Z","aqi":89,"aqi_min":6,"aqi_max":157,"pm25":30.26,"pm10":73.0,"stations":25}],"daily":[{"date":"2026-05-26","aqi_avg":65,"aqi_min":65,"aqi_max":65,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":18.7,"pm10_avg":21.0,"hours":1,"stations_avg":46},{"date":"2026-05-27","aqi_avg":72,"aqi_min":59,"aqi_max":88,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":22.2,"pm10_avg":44.3,"hours":24,"stations_avg":22},{"date":"2026-05-28","aqi_avg":68,"aqi_min":52,"aqi_max":89,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":20.4,"pm10_avg":55.5,"hours":22,"stations_avg":21}]}