{"city":"Calais","country":"France","lat":50.95193862915039,"lon":1.8563499450683594,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-27T19:00:00Z","aqi":65,"aqi_min":9,"aqi_max":100,"pm25":18.78,"pm10":null,"stations":2},{"datetime_utc":"2026-05-27T20:00:00Z","aqi":45,"aqi_min":8,"aqi_max":67,"pm25":10.84,"pm10":null,"stations":6},{"datetime_utc":"2026-05-27T21:00:00Z","aqi":59,"aqi_min":57,"aqi_max":61,"pm25":15.9,"pm10":null,"stations":2},{"datetime_utc":"2026-05-27T22:00:00Z","aqi":55,"aqi_min":30,"aqi_max":84,"pm25":14.09,"pm10":null,"stations":6},{"datetime_utc":"2026-05-27T23:00:00Z","aqi":40,"aqi_min":30,"aqi_max":51,"pm25":9.65,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T00:00:00Z","aqi":41,"aqi_min":9,"aqi_max":59,"pm25":9.76,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T01:00:00Z","aqi":39,"aqi_min":22,"aqi_max":53,"pm25":9.28,"pm10":null,"stations":8},{"datetime_utc":"2026-05-28T02:00:00Z","aqi":57,"aqi_min":28,"aqi_max":84,"pm25":14.8,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T03:00:00Z","aqi":46,"aqi_min":32,"aqi_max":62,"pm25":11.11,"pm10":null,"stations":6},{"datetime_utc":"2026-05-28T04:00:00Z","aqi":40,"aqi_min":9,"aqi_max":67,"pm25":9.64,"pm10":null,"stations":7},{"datetime_utc":"2026-05-28T05:00:00Z","aqi":27,"aqi_min":19,"aqi_max":38,"pm25":6.48,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T06:00:00Z","aqi":38,"aqi_min":13,"aqi_max":57,"pm25":9.11,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T08:00:00Z","aqi":40,"aqi_min":28,"aqi_max":60,"pm25":9.61,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T09:00:00Z","aqi":34,"aqi_min":5,"aqi_max":52,"pm25":8.1,"pm10":null,"stations":6},{"datetime_utc":"2026-05-28T10:00:00Z","aqi":38,"aqi_min":8,"aqi_max":68,"pm25":9.02,"pm10":null,"stations":7},{"datetime_utc":"2026-05-28T11:00:00Z","aqi":33,"aqi_min":2,"aqi_max":45,"pm25":7.87,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T12:00:00Z","aqi":58,"aqi_min":28,"aqi_max":78,"pm25":15.54,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":43,"aqi_min":16,"aqi_max":61,"pm25":10.27,"pm10":null,"stations":7},{"datetime_utc":"2026-05-28T14:00:00Z","aqi":53,"aqi_min":10,"aqi_max":104,"pm25":12.9,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T15:00:00Z","aqi":38,"aqi_min":11,"aqi_max":53,"pm25":9.02,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T16:00:00Z","aqi":33,"aqi_min":5,"aqi_max":50,"pm25":7.87,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":35,"aqi_min":14,"aqi_max":50,"pm25":8.4,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T18:00:00Z","aqi":20,"aqi_min":5,"aqi_max":38,"pm25":4.92,"pm10":null,"stations":6},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":89,"aqi_min":6,"aqi_max":190,"pm25":30.3,"pm10":null,"stations":6},{"datetime_utc":"2026-05-28T20:00:00Z","aqi":87,"aqi_min":23,"aqi_max":145,"pm25":29.44,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T21:00:00Z","aqi":48,"aqi_min":17,"aqi_max":65,"pm25":11.37,"pm10":null,"stations":6},{"datetime_utc":"2026-05-28T22:00:00Z","aqi":33,"aqi_min":13,"aqi_max":46,"pm25":7.92,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T23:00:00Z","aqi":24,"aqi_min":6,"aqi_max":52,"pm25":5.66,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T00:00:00Z","aqi":30,"aqi_min":2,"aqi_max":59,"pm25":7.25,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T01:00:00Z","aqi":39,"aqi_min":16,"aqi_max":54,"pm25":9.27,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T02:00:00Z","aqi":134,"aqi_min":17,"aqi_max":191,"pm25":49.04,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T03:00:00Z","aqi":30,"aqi_min":2,"aqi_max":50,"pm25":7.2,"pm10":null,"stations":7},{"datetime_utc":"2026-05-29T04:00:00Z","aqi":31,"aqi_min":20,"aqi_max":48,"pm25":7.44,"pm10":null,"stations":8},{"datetime_utc":"2026-05-29T05:00:00Z","aqi":34,"aqi_min":2,"aqi_max":51,"pm25":8.22,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T06:00:00Z","aqi":52,"aqi_min":21,"aqi_max":75,"pm25":12.74,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T07:00:00Z","aqi":22,"aqi_min":17,"aqi_max":29,"pm25":5.2,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T08:00:00Z","aqi":47,"aqi_min":14,"aqi_max":68,"pm25":11.3,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T09:00:00Z","aqi":30,"aqi_min":10,"aqi_max":54,"pm25":7.25,"pm10":null,"stations":7},{"datetime_utc":"2026-05-29T10:00:00Z","aqi":62,"aqi_min":25,"aqi_max":83,"pm25":17.12,"pm10":null,"stations":8},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":28,"aqi_min":27,"aqi_max":30,"pm25":6.84,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T12:00:00Z","aqi":52,"aqi_min":48,"aqi_max":54,"pm25":12.4,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T13:00:00Z","aqi":33,"aqi_min":20,"aqi_max":43,"pm25":8.04,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T14:00:00Z","aqi":30,"aqi_min":1,"aqi_max":47,"pm25":7.34,"pm10":null,"stations":7},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":32,"aqi_min":13,"aqi_max":41,"pm25":7.82,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T16:00:00Z","aqi":55,"aqi_min":25,"aqi_max":89,"pm25":14.16,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T17:00:00Z","aqi":45,"aqi_min":45,"aqi_max":45,"pm25":10.8,"pm10":null,"stations":1}],"daily":[{"date":"2026-05-27","aqi_avg":53,"aqi_min":40,"aqi_max":65,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":13.9,"pm10_avg":null,"hours":5,"stations_avg":4},{"date":"2026-05-28","aqi_avg":43,"aqi_min":20,"aqi_max":89,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":11.2,"pm10_avg":null,"hours":23,"stations_avg":5},{"date":"2026-05-29","aqi_avg":44,"aqi_min":22,"aqi_max":134,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":11.6,"pm10_avg":null,"hours":18,"stations_avg":5}]}