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).

OpenAPI Specification

open-meteo-air-quality-openapi.yml Raw ↑
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