Skip to content
Eden Engine

Lombardy Air Quality Sensor Register (ARPA Lombardia)

datilombardia/air-quality-stations

The register of ARPA Lombardia air-quality sensors and their stations in Lombardy, Italy, from Open Data Regione Lombardia. Each row has the sensor id, the pollutant it measures and its unit, station id and name, altitude in metres, province code, municipality, start date and coordinates. Use it to find the sensor id for datilombardia/air-quality-readings. Choose how many rows to return (1 to 100), optionally filter by pollutant, province code or sensor id, and page with an offset. Rows come in sensor-id order and numbers arrive as text. Source data passed through unmodified and served by Eden Engine; not an official ARPA Lombardia or Regione Lombardia product.

activeper callv1

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.

Data source

Open Data Regione Lombardia

Data from ARPA Lombardia (air quality) and ARPA - Regione Lombardia (sensor register), published on Open Data Regione Lombardia (dati.lombardia.it). Credit the source: ARPA Lombardia / Regione Lombardia. Served by Eden Engine; not an official Regione Lombardia or ARPA Lombardia product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "datilombardia/air-quality-stations" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "datilombardia/air-quality-stations" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "datilombardia/air-quality-stations", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "datilombardia/air-quality-stations", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 20, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "limit"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "How many rows to return, 1 to 100."
    },
    "offset": {
      "type": "integer",
      "maximum": 1000000,
      "minimum": 0,
      "description": "Number of rows to skip, for paging through the register. Defaults to 0."
    },
    "idsensore": {
      "type": "string",
      "pattern": "^[0-9]{1,10}$",
      "description": "Return only this sensor id, digits only, for example 20934. Leave out for all sensors."
    },
    "provincia": {
      "type": "string",
      "pattern": "^[A-Z]{2}$",
      "description": "Return only sensors in this province, two capital letters, for example MI or BG. Leave out for all provinces."
    },
    "nometiposensore": {
      "enum": [
        "Ammoniaca",
        "Arsenico",
        "Benzene",
        "Benzo(a)pirene",
        "Biossido di Azoto",
        "Biossido di Zolfo",
        "BlackCarbon",
        "Cadmio",
        "Monossido di Azoto",
        "Monossido di Carbonio",
        "Nikel",
        "Ossidi di Azoto",
        "Ozono",
        "Particelle sospese PM2.5",
        "Particolato Totale Sospeso",
        "Piombo",
        "PM10 (SM2005)"
      ],
      "type": "string",
      "description": "Return only sensors measuring this pollutant, spelled as the register spells it (Italian), for example Ozono or Biossido di Azoto. Leave out for all pollutants."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "string",
            "description": "Latitude as text."
          },
          "lng": {
            "type": "string",
            "description": "Longitude as text."
          },
          "quota": {
            "type": "string",
            "description": "Altitude as text."
          },
          "comune": {
            "type": "string",
            "description": "Municipality."
          },
          "storico": {
            "type": "string",
            "description": "Historical flag, N or S."
          },
          "location": {
            "type": "object",
            "description": "GeoJSON Point, coordinates [longitude, latitude].",
            "additionalProperties": true
          },
          "datastart": {
            "type": "string",
            "description": "Start date of the sensor's data."
          },
          "idsensore": {
            "type": "string",
            "description": "Sensor id, as used by datilombardia/air-quality-readings."
          },
          "provincia": {
            "type": "string",
            "description": "Province code."
          },
          "idstazione": {
            "type": "string",
            "description": "Station id."
          },
          "unitamisura": {
            "type": "string",
            "description": "Unit of measure, for example µg/m³."
          },
          "nomestazione": {
            "type": "string",
            "description": "Station name."
          },
          "nometiposensore": {
            "type": "string",
            "description": "Pollutant the sensor measures."
          }
        },
        "additionalProperties": true
      },
      "description": "The register rows, one per sensor. Empty when nothing matches."
    }
  }
}