{"city":"Viroflay","country":"France","lat":48.80078125,"lon":2.1618099212646484,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-28T02:00:00Z","aqi":61,"aqi_min":61,"aqi_max":61,"pm25":17.005781173706055,"pm10":17.90937042236328,"stations":2},{"datetime_utc":"2026-05-28T03:00:00Z","aqi":67,"aqi_min":67,"aqi_max":67,"pm25":19.91596794128418,"pm10":20.78199577331543,"stations":2},{"datetime_utc":"2026-05-28T04:00:00Z","aqi":73,"aqi_min":73,"aqi_max":73,"pm25":22.47317886352539,"pm10":23.014616012573242,"stations":2},{"datetime_utc":"2026-05-28T05:00:00Z","aqi":69,"aqi_min":69,"aqi_max":69,"pm25":20.896318435668945,"pm10":21.617671966552734,"stations":2},{"datetime_utc":"2026-05-28T06:00:00Z","aqi":74,"aqi_min":74,"aqi_max":74,"pm25":22.851470947265625,"pm10":23.078495025634766,"stations":2},{"datetime_utc":"2026-05-28T07:00:00Z","aqi":60,"aqi_min":60,"aqi_max":60,"pm25":16.57793426513672,"pm10":17.36874008178711,"stations":2},{"datetime_utc":"2026-05-28T08:00:00Z","aqi":62,"aqi_min":62,"aqi_max":62,"pm25":17.50232696533203,"pm10":18.68368148803711,"stations":2},{"datetime_utc":"2026-05-28T09:00:00Z","aqi":60,"aqi_min":60,"aqi_max":60,"pm25":16.510337829589844,"pm10":16.851598739624023,"stations":2},{"datetime_utc":"2026-05-28T10:00:00Z","aqi":59,"aqi_min":59,"aqi_max":59,"pm25":15.718729019165039,"pm10":16.772869110107422,"stations":2},{"datetime_utc":"2026-05-28T11:00:00Z","aqi":55,"aqi_min":55,"aqi_max":55,"pm25":14.005781173706055,"pm10":16.376768112182617,"stations":2},{"datetime_utc":"2026-05-28T12:00:00Z","aqi":40,"aqi_min":40,"aqi_max":40,"pm25":9.66299819946289,"pm10":10.583091735839844,"stations":2},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":36,"aqi_min":36,"aqi_max":36,"pm25":8.562175750732422,"pm10":9.087940216064453,"stations":2},{"datetime_utc":"2026-05-28T14:00:00Z","aqi":33,"aqi_min":33,"aqi_max":33,"pm25":7.829731464385986,"pm10":8.363880157470703,"stations":2},{"datetime_utc":"2026-05-28T15:00:00Z","aqi":34,"aqi_min":34,"aqi_max":34,"pm25":8.148565292358398,"pm10":8.243517875671387,"stations":2},{"datetime_utc":"2026-05-28T16:00:00Z","aqi":36,"aqi_min":36,"aqi_max":36,"pm25":8.555326461791992,"pm10":8.610822677612305,"stations":2},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":35,"aqi_min":35,"aqi_max":35,"pm25":8.326324462890625,"pm10":8.51407241821289,"stations":2},{"datetime_utc":"2026-05-28T18:00:00Z","aqi":45,"aqi_min":45,"aqi_max":45,"pm25":10.780921936035156,"pm10":11.719929695129395,"stations":2},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":45,"aqi_min":45,"aqi_max":45,"pm25":10.755781173706055,"pm10":10.840105056762695,"stations":2},{"datetime_utc":"2026-05-28T20:00:00Z","aqi":61,"aqi_min":61,"aqi_max":61,"pm25":16.67729377746582,"pm10":17.06828498840332,"stations":2},{"datetime_utc":"2026-05-28T21:00:00Z","aqi":53,"aqi_min":53,"aqi_max":53,"pm25":12.940110206604004,"pm10":14.411813735961914,"stations":2},{"datetime_utc":"2026-05-28T22:00:00Z","aqi":48,"aqi_min":48,"aqi_max":48,"pm25":11.620285987854004,"pm10":12.347579002380371,"stations":2},{"datetime_utc":"2026-05-28T23:00:00Z","aqi":55,"aqi_min":55,"aqi_max":55,"pm25":13.909480094909668,"pm10":14.887490272521973,"stations":2},{"datetime_utc":"2026-05-29T00:00:00Z","aqi":53,"aqi_min":53,"aqi_max":53,"pm25":12.989031791687012,"pm10":13.726499557495117,"stations":2},{"datetime_utc":"2026-05-29T01:00:00Z","aqi":54,"aqi_min":54,"aqi_max":54,"pm25":13.574339866638184,"pm10":14.874690055847168,"stations":2},{"datetime_utc":"2026-05-29T02:00:00Z","aqi":54,"aqi_min":54,"aqi_max":54,"pm25":13.64469051361084,"pm10":15.587013244628906,"stations":2},{"datetime_utc":"2026-05-29T03:00:00Z","aqi":55,"aqi_min":55,"aqi_max":55,"pm25":14.093681335449219,"pm10":15.91655158996582,"stations":2},{"datetime_utc":"2026-05-29T04:00:00Z","aqi":60,"aqi_min":60,"aqi_max":60,"pm25":16.466142654418945,"pm10":18.022531509399414,"stations":2},{"datetime_utc":"2026-05-29T05:00:00Z","aqi":58,"aqi_min":58,"aqi_max":58,"pm25":15.662602424621582,"pm10":16.168903350830078,"stations":2},{"datetime_utc":"2026-05-29T06:00:00Z","aqi":57,"aqi_min":57,"aqi_max":57,"pm25":14.984492301940918,"pm10":15.658180236816406,"stations":2},{"datetime_utc":"2026-05-29T07:00:00Z","aqi":54,"aqi_min":54,"aqi_max":54,"pm25":13.378186225891113,"pm10":13.822864532470703,"stations":2},{"datetime_utc":"2026-05-29T08:00:00Z","aqi":52,"aqi_min":52,"aqi_max":52,"pm25":12.563570976257324,"pm10":13.231581687927246,"stations":2},{"datetime_utc":"2026-05-29T09:00:00Z","aqi":41,"aqi_min":41,"aqi_max":41,"pm25":9.938202857971191,"pm10":9.971896171569824,"stations":2},{"datetime_utc":"2026-05-29T10:00:00Z","aqi":36,"aqi_min":36,"aqi_max":36,"pm25":8.7374849319458,"pm10":9.151902198791504,"stations":2},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":35,"aqi_min":35,"aqi_max":35,"pm25":8.485962867736816,"pm10":8.53190803527832,"stations":2},{"datetime_utc":"2026-05-29T12:00:00Z","aqi":41,"aqi_min":41,"aqi_max":41,"pm25":9.722532272338867,"pm10":11.145227432250977,"stations":2},{"datetime_utc":"2026-05-29T13:00:00Z","aqi":35,"aqi_min":35,"aqi_max":35,"pm25":8.375945091247559,"pm10":8.557024955749512,"stations":2},{"datetime_utc":"2026-05-29T14:00:00Z","aqi":36,"aqi_min":36,"aqi_max":36,"pm25":8.593249320983887,"pm10":8.815140724182129,"stations":2},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":32,"aqi_min":32,"aqi_max":32,"pm25":7.768833160400391,"pm10":7.839282512664795,"stations":2},{"datetime_utc":"2026-05-29T16:00:00Z","aqi":35,"aqi_min":35,"aqi_max":35,"pm25":8.383716583251953,"pm10":8.50596809387207,"stations":2},{"datetime_utc":"2026-05-29T17:00:00Z","aqi":38,"aqi_min":38,"aqi_max":38,"pm25":9.179656028747559,"pm10":9.185781478881836,"stations":2},{"datetime_utc":"2026-05-29T18:00:00Z","aqi":32,"aqi_min":32,"aqi_max":32,"pm25":7.66623067855835,"pm10":8.416143417358398,"stations":2},{"datetime_utc":"2026-05-29T19:00:00Z","aqi":48,"aqi_min":48,"aqi_max":48,"pm25":11.472817420959473,"pm10":12.258132934570312,"stations":2},{"datetime_utc":"2026-05-29T20:00:00Z","aqi":60,"aqi_min":60,"aqi_max":60,"pm25":16.42210578918457,"pm10":18.145244598388672,"stations":2},{"datetime_utc":"2026-05-29T21:00:00Z","aqi":59,"aqi_min":59,"aqi_max":59,"pm25":15.698004722595215,"pm10":16.53763198852539,"stations":2},{"datetime_utc":"2026-05-29T22:00:00Z","aqi":66,"aqi_min":66,"aqi_max":66,"pm25":19.225706100463867,"pm10":20.325326919555664,"stations":2},{"datetime_utc":"2026-05-29T23:00:00Z","aqi":57,"aqi_min":57,"aqi_max":57,"pm25":15.047269821166992,"pm10":15.602947235107422,"stations":2},{"datetime_utc":"2026-05-30T00:00:00Z","aqi":58,"aqi_min":58,"aqi_max":58,"pm25":15.191995620727539,"pm10":16.36874008178711,"stations":2},{"datetime_utc":"2026-05-30T01:00:00Z","aqi":60,"aqi_min":60,"aqi_max":60,"pm25":16.54540252685547,"pm10":17.511796951293945,"stations":2}],"daily":[{"date":"2026-05-28","aqi_avg":53,"aqi_min":33,"aqi_max":74,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":14.1,"pm10_avg":14.9,"hours":22,"stations_avg":2},{"date":"2026-05-29","aqi_avg":48,"aqi_min":32,"aqi_max":66,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":12.2,"pm10_avg":12.9,"hours":24,"stations_avg":2},{"date":"2026-05-30","aqi_avg":59,"aqi_min":58,"aqi_max":60,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":15.9,"pm10_avg":16.9,"hours":2,"stations_avg":2}]}