MeteoSource Air Quality Data API

MeteoSource provides an Air Quality API delivering hour-by-hour pollution data for any location on Earth, with forecasts up to 5 days ahead. The API also offers weather forecast data, location lookup, weather maps, and historical Time Machine data.

Run with Naftiko MeteosourceAirQualityDataApiAPI

What You Can Do

GET
Getfreepointweather — Get point weather forecast (free tier)
/free/point
GET
Getflexipointweather — Get point weather forecast (flexi tier)
/flexi/point
GET
Getairquality — Get point air quality forecast
/flexi/air_quality
GET
Findplaces — Find places by name or ZIP
/free/find_places
GET
Findplacesbyprefix — Find places by prefix
/free/find_places_prefix
GET
Findnearestplace — Find nearest place to coordinates
/free/nearest_place
GET
Getmap — Get weather or pollution map
/flexi/map
GET
Gettimemachine — Get historical Time Machine data
/flexi/time_machine

MCP Tools

getfreepointweather

Get point weather forecast (free tier)

read-only idempotent
getflexipointweather

Get point weather forecast (flexi tier)

read-only idempotent
getairquality

Get point air quality forecast

read-only idempotent
findplaces

Find places by name or ZIP

read-only idempotent
findplacesbyprefix

Find places by prefix

read-only idempotent
findnearestplace

Find nearest place to coordinates

read-only idempotent
getmap

Get weather or pollution map

read-only idempotent
gettimemachine

Get historical Time Machine data

read-only idempotent

Capability Spec

meteosource-air-quality-data-api-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: MeteoSource Air Quality Data API
  description: MeteoSource provides an Air Quality API delivering hour-by-hour pollution data for any location on Earth, with
    forecasts up to 5 days ahead. The API also offers weather forecast data, location lookup, weather maps, and historical
    Time Machine data.
  tags:
  - Meteosource
  - Air
  - Quality
  - Data
  - Api
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: meteosource-air-quality-data-api
    baseUri: https://www.meteosource.com/api/v1
    description: MeteoSource Air Quality Data API HTTP API.
    authentication:
      type: apikey
      in: query
      name: key
      value: '{{METEOSOURCE_AIR_QUALITY_DATA_API_TOKEN}}'
    resources:
    - name: free-point
      path: /free/point
      operations:
      - name: getfreepointweather
        method: GET
        description: Get point weather forecast (free tier)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: flexi-point
      path: /flexi/point
      operations:
      - name: getflexipointweather
        method: GET
        description: Get point weather forecast (flexi tier)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: flexi-air-quality
      path: /flexi/air_quality
      operations:
      - name: getairquality
        method: GET
        description: Get point air quality forecast
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: free-find-places
      path: /free/find_places
      operations:
      - name: findplaces
        method: GET
        description: Find places by name or ZIP
        inputParameters:
        - name: text
          in: query
          type: string
          required: true
        - name: language
          in: query
          type: string
        - name: area
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: free-find-places-prefix
      path: /free/find_places_prefix
      operations:
      - name: findplacesbyprefix
        method: GET
        description: Find places by prefix
        inputParameters:
        - name: text
          in: query
          type: string
          required: true
        - name: language
          in: query
          type: string
        - name: area
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: free-nearest-place
      path: /free/nearest_place
      operations:
      - name: findnearestplace
        method: GET
        description: Find nearest place to coordinates
        inputParameters:
        - name: language
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: flexi-map
      path: /flexi/map
      operations:
      - name: getmap
        method: GET
        description: Get weather or pollution map
        inputParameters:
        - name: tile_x
          in: query
          type: integer
        - name: tile_y
          in: query
          type: integer
        - name: tile_zoom
          in: query
          type: integer
        - name: min_lat
          in: query
          type: number
        - name: min_lon
          in: query
          type: number
        - name: max_lat
          in: query
          type: number
        - name: max_lon
          in: query
          type: number
        - name: variable
          in: query
          type: string
          required: true
        - name: datetime
          in: query
          type: string
        - name: format
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: flexi-time-machine
      path: /flexi/time_machine
      operations:
      - name: gettimemachine
        method: GET
        description: Get historical Time Machine data
        inputParameters:
        - name: date
          in: query
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: meteosource-air-quality-data-api-rest
    description: REST adapter for MeteoSource Air Quality Data API.
    resources:
    - path: /free/point
      name: getfreepointweather
      operations:
      - method: GET
        name: getfreepointweather
        description: Get point weather forecast (free tier)
        call: meteosource-air-quality-data-api.getfreepointweather
        outputParameters:
        - type: object
          mapping: $.
    - path: /flexi/point
      name: getflexipointweather
      operations:
      - method: GET
        name: getflexipointweather
        description: Get point weather forecast (flexi tier)
        call: meteosource-air-quality-data-api.getflexipointweather
        outputParameters:
        - type: object
          mapping: $.
    - path: /flexi/air_quality
      name: getairquality
      operations:
      - method: GET
        name: getairquality
        description: Get point air quality forecast
        call: meteosource-air-quality-data-api.getairquality
        outputParameters:
        - type: object
          mapping: $.
    - path: /free/find_places
      name: findplaces
      operations:
      - method: GET
        name: findplaces
        description: Find places by name or ZIP
        call: meteosource-air-quality-data-api.findplaces
        outputParameters:
        - type: object
          mapping: $.
    - path: /free/find_places_prefix
      name: findplacesbyprefix
      operations:
      - method: GET
        name: findplacesbyprefix
        description: Find places by prefix
        call: meteosource-air-quality-data-api.findplacesbyprefix
        outputParameters:
        - type: object
          mapping: $.
    - path: /free/nearest_place
      name: findnearestplace
      operations:
      - method: GET
        name: findnearestplace
        description: Find nearest place to coordinates
        call: meteosource-air-quality-data-api.findnearestplace
        outputParameters:
        - type: object
          mapping: $.
    - path: /flexi/map
      name: getmap
      operations:
      - method: GET
        name: getmap
        description: Get weather or pollution map
        call: meteosource-air-quality-data-api.getmap
        outputParameters:
        - type: object
          mapping: $.
    - path: /flexi/time_machine
      name: gettimemachine
      operations:
      - method: GET
        name: gettimemachine
        description: Get historical Time Machine data
        call: meteosource-air-quality-data-api.gettimemachine
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: meteosource-air-quality-data-api-mcp
    transport: http
    description: MCP adapter for MeteoSource Air Quality Data API for AI agent use.
    tools:
    - name: getfreepointweather
      description: Get point weather forecast (free tier)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: meteosource-air-quality-data-api.getfreepointweather
      outputParameters:
      - type: object
        mapping: $.
    - name: getflexipointweather
      description: Get point weather forecast (flexi tier)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: meteosource-air-quality-data-api.getflexipointweather
      outputParameters:
      - type: object
        mapping: $.
    - name: getairquality
      description: Get point air quality forecast
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: meteosource-air-quality-data-api.getairquality
      outputParameters:
      - type: object
        mapping: $.
    - name: findplaces
      description: Find places by name or ZIP
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: meteosource-air-quality-data-api.findplaces
      with:
        text: tools.text
        language: tools.language
        area: tools.area
      inputParameters:
      - name: text
        type: string
        description: text
        required: true
      - name: language
        type: string
        description: language
      - name: area
        type: string
        description: area
      outputParameters:
      - type: object
        mapping: $.
    - name: findplacesbyprefix
      description: Find places by prefix
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: meteosource-air-quality-data-api.findplacesbyprefix
      with:
        text: tools.text
        language: tools.language
        area: tools.area
      inputParameters:
      - name: text
        type: string
        description: text
        required: true
      - name: language
        type: string
        description: language
      - name: area
        type: string
        description: area
      outputParameters:
      - type: object
        mapping: $.
    - name: findnearestplace
      description: Find nearest place to coordinates
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: meteosource-air-quality-data-api.findnearestplace
      with:
        language: tools.language
      inputParameters:
      - name: language
        type: string
        description: language
      outputParameters:
      - type: object
        mapping: $.
    - name: getmap
      description: Get weather or pollution map
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: meteosource-air-quality-data-api.getmap
      with:
        tile_x: tools.tile_x
        tile_y: tools.tile_y
        tile_zoom: tools.tile_zoom
        min_lat: tools.min_lat
        min_lon: tools.min_lon
        max_lat: tools.max_lat
        max_lon: tools.max_lon
        variable: tools.variable
        datetime: tools.datetime
        format: tools.format
      inputParameters:
      - name: tile_x
        type: integer
        description: tile_x
      - name: tile_y
        type: integer
        description: tile_y
      - name: tile_zoom
        type: integer
        description: tile_zoom
      - name: min_lat
        type: number
        description: min_lat
      - name: min_lon
        type: number
        description: min_lon
      - name: max_lat
        type: number
        description: max_lat
      - name: max_lon
        type: number
        description: max_lon
      - name: variable
        type: string
        description: variable
        required: true
      - name: datetime
        type: string
        description: datetime
      - name: format
        type: string
        description: format
      outputParameters:
      - type: object
        mapping: $.
    - name: gettimemachine
      description: Get historical Time Machine data
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: meteosource-air-quality-data-api.gettimemachine
      with:
        date: tools.date
      inputParameters:
      - name: date
        type: string
        description: date
        required: true
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    METEOSOURCE_AIR_QUALITY_DATA_API_TOKEN: METEOSOURCE_AIR_QUALITY_DATA_API_TOKEN