{"city":"Xuhui","country":"China","lat":31.195940017700195,"lon":121.44709014892578,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-27T00:00:00Z","aqi":70,"aqi_min":70,"aqi_max":70,"pm25":21.0,"pm10":23.0,"stations":1},{"datetime_utc":"2026-05-27T01:00:00Z","aqi":64,"aqi_min":30,"aqi_max":122,"pm25":18.44,"pm10":19.0,"stations":30},{"datetime_utc":"2026-05-27T02:00:00Z","aqi":67,"aqi_min":37,"aqi_max":147,"pm25":19.79,"pm10":28.0,"stations":34},{"datetime_utc":"2026-05-27T03:00:00Z","aqi":62,"aqi_min":30,"aqi_max":112,"pm25":17.2,"pm10":39.0,"stations":32},{"datetime_utc":"2026-05-27T04:00:00Z","aqi":68,"aqi_min":28,"aqi_max":105,"pm25":20.11,"pm10":44.0,"stations":38},{"datetime_utc":"2026-05-27T05:00:00Z","aqi":73,"aqi_min":25,"aqi_max":160,"pm25":22.68,"pm10":54.0,"stations":36},{"datetime_utc":"2026-05-27T06:00:00Z","aqi":72,"aqi_min":31,"aqi_max":137,"pm25":21.91,"pm10":45.0,"stations":49},{"datetime_utc":"2026-05-27T07:00:00Z","aqi":61,"aqi_min":34,"aqi_max":110,"pm25":16.87,"pm10":48.0,"stations":24},{"datetime_utc":"2026-05-27T08:00:00Z","aqi":66,"aqi_min":37,"aqi_max":112,"pm25":19.18,"pm10":44.0,"stations":27},{"datetime_utc":"2026-05-27T09:00:00Z","aqi":71,"aqi_min":42,"aqi_max":104,"pm25":21.73,"pm10":44.0,"stations":25},{"datetime_utc":"2026-05-27T10:00:00Z","aqi":68,"aqi_min":34,"aqi_max":170,"pm25":20.29,"pm10":39.0,"stations":34},{"datetime_utc":"2026-05-27T11:00:00Z","aqi":65,"aqi_min":39,"aqi_max":105,"pm25":18.75,"pm10":46.0,"stations":27},{"datetime_utc":"2026-05-27T12:00:00Z","aqi":76,"aqi_min":26,"aqi_max":129,"pm25":23.78,"pm10":46.0,"stations":26},{"datetime_utc":"2026-05-27T13:00:00Z","aqi":76,"aqi_min":42,"aqi_max":147,"pm25":24.24,"pm10":41.0,"stations":48},{"datetime_utc":"2026-05-27T14:00:00Z","aqi":71,"aqi_min":34,"aqi_max":137,"pm25":21.8,"pm10":48.0,"stations":23},{"datetime_utc":"2026-05-27T15:00:00Z","aqi":71,"aqi_min":28,"aqi_max":139,"pm25":21.73,"pm10":46.0,"stations":30},{"datetime_utc":"2026-05-27T16:00:00Z","aqi":79,"aqi_min":14,"aqi_max":157,"pm25":25.37,"pm10":41.0,"stations":33},{"datetime_utc":"2026-05-27T17:00:00Z","aqi":76,"aqi_min":25,"aqi_max":124,"pm25":24.0,"pm10":48.0,"stations":42},{"datetime_utc":"2026-05-27T18:00:00Z","aqi":80,"aqi_min":38,"aqi_max":142,"pm25":26.09,"pm10":50.0,"stations":32},{"datetime_utc":"2026-05-27T19:00:00Z","aqi":75,"aqi_min":29,"aqi_max":119,"pm25":23.39,"pm10":52.0,"stations":42},{"datetime_utc":"2026-05-27T20:00:00Z","aqi":72,"aqi_min":11,"aqi_max":149,"pm25":22.02,"pm10":54.0,"stations":50},{"datetime_utc":"2026-05-27T21:00:00Z","aqi":74,"aqi_min":5,"aqi_max":127,"pm25":23.19,"pm10":57.0,"stations":27},{"datetime_utc":"2026-05-27T22:00:00Z","aqi":76,"aqi_min":15,"aqi_max":122,"pm25":24.15,"pm10":55.0,"stations":35},{"datetime_utc":"2026-05-27T23:00:00Z","aqi":80,"aqi_min":21,"aqi_max":163,"pm25":26.09,"pm10":52.0,"stations":34},{"datetime_utc":"2026-05-28T00:00:00Z","aqi":71,"aqi_min":17,"aqi_max":151,"pm25":21.6,"pm10":54.0,"stations":34},{"datetime_utc":"2026-05-28T01:00:00Z","aqi":62,"aqi_min":34,"aqi_max":129,"pm25":17.55,"pm10":60.0,"stations":29},{"datetime_utc":"2026-05-28T02:00:00Z","aqi":56,"aqi_min":34,"aqi_max":114,"pm25":14.4,"pm10":31.0,"stations":48},{"datetime_utc":"2026-05-28T03:00:00Z","aqi":66,"aqi_min":28,"aqi_max":129,"pm25":19.09,"pm10":34.0,"stations":21},{"datetime_utc":"2026-05-28T04:00:00Z","aqi":62,"aqi_min":34,"aqi_max":99,"pm25":17.36,"pm10":34.0,"stations":20},{"datetime_utc":"2026-05-28T05:00:00Z","aqi":69,"aqi_min":30,"aqi_max":117,"pm25":20.74,"pm10":54.0,"stations":26},{"datetime_utc":"2026-05-28T06:00:00Z","aqi":66,"aqi_min":30,"aqi_max":122,"pm25":19.31,"pm10":54.0,"stations":26},{"datetime_utc":"2026-05-28T07:00:00Z","aqi":71,"aqi_min":38,"aqi_max":124,"pm25":21.77,"pm10":56.0,"stations":28},{"datetime_utc":"2026-05-28T08:00:00Z","aqi":69,"aqi_min":33,"aqi_max":124,"pm25":20.83,"pm10":57.0,"stations":26},{"datetime_utc":"2026-05-28T09:00:00Z","aqi":58,"aqi_min":38,"aqi_max":110,"pm25":15.45,"pm10":49.0,"stations":36},{"datetime_utc":"2026-05-28T10:00:00Z","aqi":62,"aqi_min":46,"aqi_max":119,"pm25":17.39,"pm10":52.0,"stations":28},{"datetime_utc":"2026-05-28T11:00:00Z","aqi":66,"aqi_min":42,"aqi_max":117,"pm25":19.05,"pm10":53.0,"stations":24},{"datetime_utc":"2026-05-28T12:00:00Z","aqi":70,"aqi_min":16,"aqi_max":122,"pm25":21.1,"pm10":52.0,"stations":21},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":66,"aqi_min":34,"aqi_max":110,"pm25":19.09,"pm10":47.0,"stations":30},{"datetime_utc":"2026-05-28T14:00:00Z","aqi":63,"aqi_min":30,"aqi_max":119,"pm25":17.9,"pm10":53.0,"stations":31},{"datetime_utc":"2026-05-28T15:00:00Z","aqi":62,"aqi_min":25,"aqi_max":129,"pm25":17.41,"pm10":59.0,"stations":32},{"datetime_utc":"2026-05-28T16:00:00Z","aqi":64,"aqi_min":33,"aqi_max":139,"pm25":18.24,"pm10":66.0,"stations":34},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":66,"aqi_min":31,"aqi_max":152,"pm25":19.3,"pm10":68.0,"stations":20},{"datetime_utc":"2026-05-28T18:00:00Z","aqi":79,"aqi_min":22,"aqi_max":159,"pm25":25.6,"pm10":65.0,"stations":41},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":70,"aqi_min":14,"aqi_max":152,"pm25":21.25,"pm10":69.0,"stations":32},{"datetime_utc":"2026-05-28T20:00:00Z","aqi":69,"aqi_min":21,"aqi_max":158,"pm25":20.71,"pm10":80.0,"stations":31},{"datetime_utc":"2026-05-28T21:00:00Z","aqi":83,"aqi_min":10,"aqi_max":157,"pm25":27.33,"pm10":73.0,"stations":41},{"datetime_utc":"2026-05-28T22:00:00Z","aqi":75,"aqi_min":5,"aqi_max":161,"pm25":23.64,"pm10":79.0,"stations":29},{"datetime_utc":"2026-05-28T23:00:00Z","aqi":82,"aqi_min":7,"aqi_max":217,"pm25":26.74,"pm10":61.0,"stations":28}],"daily":[{"date":"2026-05-27","aqi_avg":71,"aqi_min":61,"aqi_max":80,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":21.8,"pm10_avg":44.3,"hours":24,"stations_avg":32},{"date":"2026-05-28","aqi_avg":68,"aqi_min":56,"aqi_max":83,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":20.1,"pm10_avg":56.7,"hours":24,"stations_avg":30}]}