Air Quality API
Provides 5-day hourly forecasts for particulate matter, ozone, nitrogen dioxide, carbon monoxide, pollen, and European and US Air Quality Index values sourced from the Copernicus Atmosphere Monitoring Service (CAMS).
Provides 5-day hourly forecasts for particulate matter, ozone, nitrogen dioxide, carbon monoxide, pollen, and European and US Air Quality Index values sourced from the Copernicus Atmosphere Monitoring Service (CAMS).
openapi: '3.0.3'
info:
title: Open-Meteo Air Quality API
description: >-
Hourly air quality forecasts for PM2.5, PM10, ozone, nitrogen dioxide, pollen, and other pollutants from the Copernicus Atmosphere Monitoring Service (CAMS).
version: '1.0'
contact:
name: Open-Meteo
url: https://open-meteo.com
email: [email protected]
license:
name: Attribution 4.0 International (CC BY 4.0)
url: https://creativecommons.org/licenses/by/4.0/
termsOfService: https://open-meteo.com/en/features#terms
paths:
/v1/air-quality:
servers:
- url: https://air-quality-api.open-meteo.com
- url: https://customer-air-quality-api.open-meteo.com
get:
tags:
- Air Quality APIs
summary: Hourly air quality forecast
description: >-
Provides hourly air quality forecasts including PM2.5, PM10, ozone, nitrogen dioxide,
pollen concentrations, and AQI indices from CAMS.
parameters:
- name: latitude
in: query
required: true
schema:
type: string
- name: longitude
in: query
required: true
schema:
type: string
- name: hourly
in: query
description: >-
A list of air quality variables which should be returned.
explode: false
schema:
type: array
items:
type: string
enum:
- pm10
- pm2_5
- carbon_monoxide
- carbon_dioxide
- nitrogen_dioxide
- sulphur_dioxide
- ozone
- aerosol_optical_depth
- dust
- uv_index
- uv_index_clear_sky
- ammonia
- methane
- alder_pollen
- birch_pollen
- grass_pollen
- mugwort_pollen
- olive_pollen
- ragweed_pollen
- formaldehyde
- glyoxal
- non_methane_volatile_organic_compounds
- pm10_wildfires
- peroxyacyl_nitrates
- secondary_inorganic_aerosol
- residential_elementary_carbon
- total_elementary_carbon
- pm2_5_total_organic_matter
- sea_salt_aerosol
- nitrogen_monoxide
- european_aqi
- european_aqi_pm2_5
- european_aqi_pm10
- european_aqi_nitrogen_dioxide
- european_aqi_ozone
- european_aqi_sulphur_dioxide
- us_aqi
- us_aqi_pm2_5
- us_aqi_pm10
- us_aqi_nitrogen_dioxide
- us_aqi_carbon_monoxide
- us_aqi_ozone
- us_aqi_sulphur_dioxide
- is_day
- name: current
in: query
description: >-
A list of variables to return for the current conditions.
explode: false
schema:
type: array
items:
type: string
enum:
- european_aqi
- us_aqi
- pm10
- pm2_5
- carbon_monoxide
- nitrogen_dioxide
- sulphur_dioxide
- ozone
- aerosol_optical_depth
- dust
- uv_index
- uv_index_clear_sky
- ammonia
- alder_pollen
- birch_pollen
- grass_pollen
- mugwort_pollen
- olive_pollen
- ragweed_pollen
- name: timeformat
in: query
schema:
type: string
default: iso8601
enum: [iso8601, unixtime]
- name: timezone
in: query
schema:
type: string
- name: past_days
in: query
schema:
type: integer
default: 0
minimum: 0
maximum: 92
- name: forecast_days
in: query
schema:
type: integer
default: 5
minimum: 0
maximum: 7
- name: start_date
in: query
description: >-
Start date in ISO 8601 format.
schema:
type: string
format: date
- name: end_date
in: query
description: >-
End date in ISO 8601 format.
schema:
type: string
format: date
- name: domains
in: query
description: >-
CAMS domain: auto, cams_europe, or cams_global.
schema:
type: string
enum: [auto, cams_europe, cams_global]
- name: apikey
in: query
description: >-
Only required for commercial subscriptions.
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
latitude:
type: number
format: float
longitude:
type: number
format: float
elevation:
type: number
format: float
generationtime_ms:
type: number
format: float
utc_offset_seconds:
type: integer
timezone:
type: string
timezone_abbreviation:
type: string
hourly:
type: object
properties:
time:
type: array
items:
type: string
pm10:
type: array
items:
type: number
format: float
pm2_5:
type: array
items:
type: number
format: float
carbon_monoxide:
type: array
items:
type: number
format: float
carbon_dioxide:
type: array
items:
type: number
format: float
nitrogen_dioxide:
type: array
items:
type: number
format: float
sulphur_dioxide:
type: array
items:
type: number
format: float
ozone:
type: array
items:
type: number
format: float
aerosol_optical_depth:
type: array
items:
type: number
format: float
dust:
type: array
items:
type: number
format: float
uv_index:
type: array
items:
type: number
format: float
uv_index_clear_sky:
type: array
items:
type: number
format: float
ammonia:
type: array
items:
type: number
format: float
methane:
type: array
items:
type: number
format: float
alder_pollen:
type: array
items:
type: number
format: float
birch_pollen:
type: array
items:
type: number
format: float
grass_pollen:
type: array
items:
type: number
format: float
mugwort_pollen:
type: array
items:
type: number
format: float
olive_pollen:
type: array
items:
type: number
format: float
ragweed_pollen:
type: array
items:
type: number
format: float
formaldehyde:
type: array
items:
type: number
format: float
glyoxal:
type: array
items:
type: number
format: float
non_methane_volatile_organic_compounds:
type: array
items:
type: number
format: float
pm10_wildfires:
type: array
items:
type: number
format: float
peroxyacyl_nitrates:
type: array
items:
type: number
format: float
secondary_inorganic_aerosol:
type: array
items:
type: number
format: float
residential_elementary_carbon:
type: array
items:
type: number
format: float
total_elementary_carbon:
type: array
items:
type: number
format: float
pm2_5_total_organic_matter:
type: array
items:
type: number
format: float
sea_salt_aerosol:
type: array
items:
type: number
format: float
nitrogen_monoxide:
type: array
items:
type: number
format: float
european_aqi:
type: array
items:
type: integer
european_aqi_pm2_5:
type: array
items:
type: integer
european_aqi_pm10:
type: array
items:
type: integer
european_aqi_nitrogen_dioxide:
type: array
items:
type: integer
european_aqi_ozone:
type: array
items:
type: integer
european_aqi_sulphur_dioxide:
type: array
items:
type: integer
us_aqi:
type: array
items:
type: integer
us_aqi_pm2_5:
type: array
items:
type: integer
us_aqi_pm10:
type: array
items:
type: integer
us_aqi_nitrogen_dioxide:
type: array
items:
type: integer
us_aqi_carbon_monoxide:
type: array
items:
type: integer
us_aqi_ozone:
type: array
items:
type: integer
us_aqi_sulphur_dioxide:
type: array
items:
type: integer
is_day:
type: array
items:
type: integer
hourly_units:
type: object
properties:
time:
type: string
pm10:
type: string
pm2_5:
type: string
carbon_monoxide:
type: string
carbon_dioxide:
type: string
nitrogen_dioxide:
type: string
sulphur_dioxide:
type: string
ozone:
type: string
aerosol_optical_depth:
type: string
dust:
type: string
uv_index:
type: string
uv_index_clear_sky:
type: string
ammonia:
type: string
methane:
type: string
alder_pollen:
type: string
birch_pollen:
type: string
grass_pollen:
type: string
mugwort_pollen:
type: string
olive_pollen:
type: string
ragweed_pollen:
type: string
formaldehyde:
type: string
glyoxal:
type: string
non_methane_volatile_organic_compounds:
type: string
pm10_wildfires:
type: string
peroxyacyl_nitrates:
type: string
secondary_inorganic_aerosol:
type: string
residential_elementary_carbon:
type: string
total_elementary_carbon:
type: string
pm2_5_total_organic_matter:
type: string
sea_salt_aerosol:
type: string
nitrogen_monoxide:
type: string
european_aqi:
type: string
european_aqi_pm2_5:
type: string
european_aqi_pm10:
type: string
european_aqi_nitrogen_dioxide:
type: string
european_aqi_ozone:
type: string
european_aqi_sulphur_dioxide:
type: string
us_aqi:
type: string
us_aqi_pm2_5:
type: string
us_aqi_pm10:
type: string
us_aqi_nitrogen_dioxide:
type: string
us_aqi_carbon_monoxide:
type: string
us_aqi_ozone:
type: string
us_aqi_sulphur_dioxide:
type: string
is_day:
type: string
current:
type: object
properties:
time:
type: string
interval:
type: integer
european_aqi:
type: integer
us_aqi:
type: integer
pm10:
type: number
format: float
pm2_5:
type: number
format: float
carbon_monoxide:
type: number
format: float
nitrogen_dioxide:
type: number
format: float
sulphur_dioxide:
type: number
format: float
ozone:
type: number
format: float
aerosol_optical_depth:
type: number
format: float
dust:
type: number
format: float
uv_index:
type: number
format: float
uv_index_clear_sky:
type: number
format: float
ammonia:
type: number
format: float
alder_pollen:
type: number
format: float
birch_pollen:
type: number
format: float
grass_pollen:
type: number
format: float
mugwort_pollen:
type: number
format: float
olive_pollen:
type: number
format: float
ragweed_pollen:
type: number
format: float
current_units:
type: object
properties:
time:
type: string
european_aqi:
type: string
us_aqi:
type: string
pm10:
type: string
pm2_5:
type: string
carbon_monoxide:
type: string
nitrogen_dioxide:
type: string
sulphur_dioxide:
type: string
ozone:
type: string
aerosol_optical_depth:
type: string
dust:
type: string
uv_index:
type: string
uv_index_clear_sky:
type: string
ammonia:
type: string
alder_pollen:
type: string
birch_pollen:
type: string
grass_pollen:
type: string
mugwort_pollen:
type: string
olive_pollen:
type: string
ragweed_pollen:
type: string
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
reason:
type: string