Skip to content
Eden Engine

Spanish Fuel Prices by Province: Petrol and Diesel Stations (MITERD)

miteco/stations-by-province

Current price of one fuel product at every station in one Spanish province, from the Geoportal de Gasolineras run for the Ministry for the Ecological Transition (MITERD), refreshed every half hour: brand, address, municipality, opening hours, coordinates and the price per litre. Product ids: 1 Gasolina 95 E5, 23 Gasolina 95 E10, 3 Gasolina 98 E5, 4 Gasoleo A (diesel), 5 Gasoleo Premium and others. A big province (Madrid, Barcelona) returns about 320 KB, so for one town use miteco/stations-by-municipality. Prices and coordinates use a decimal comma and are strings. Fuente: MITERD Geoportal de Gasolineras, CC BY 4.0; served by Eden Engine, not an official MITERD 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

Geoportal de Gasolineras, Ministerio para la Transicion Ecologica (MITERD)

Fuente: Geoportal de Gasolineras, Ministerio para la Transicion Ecologica y el Reto Demografico (MITERD), CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Passed through unaltered; prices refresh every half hour. Served by Eden Engine; not an official MITERD 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: "miteco/stations-by-province" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "miteco/stations-by-province" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "miteco/stations-by-province", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "miteco/stations-by-province", 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": [
    "province_id",
    "product_id"
  ],
  "properties": {
    "product_id": {
      "type": "string",
      "pattern": "^[0-9]{1,2}$",
      "description": "Fuel product id: 1 Gasolina 95 E5, 23 Gasolina 95 E10, 20 Gasolina 95 E5 Premium, 3 Gasolina 98 E5, 4 Gasoleo A (standard diesel), 5 Gasoleo Premium, 17 LPG, 18 compressed natural gas, 22 hydrogen. Other ids exist (1 to 32)."
    },
    "province_id": {
      "type": "string",
      "pattern": "^(0[1-9]|[1-4][0-9]|5[0-2])$",
      "description": "Two digit province id, the INE province code: 28 Madrid, 08 Barcelona, 41 Sevilla, 46 Valencia, 51 Ceuta, 52 Melilla. Range 01 to 52."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "ListaEESSPrecio"
  ],
  "properties": {
    "Nota": {
      "type": "string",
      "description": "The ministry's note: prices refresh every half hour."
    },
    "Fecha": {
      "type": "string",
      "description": "When the ministry compiled the prices, dd/mm/yyyy h:mm:ss, Spanish time."
    },
    "ListaEESSPrecio": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "C.P.": {
            "type": "string",
            "description": "Postcode."
          },
          "IDEESS": {
            "type": "string",
            "description": "Station id."
          },
          "Horario": {
            "type": "string",
            "description": "Opening hours, for example L-D: 24H."
          },
          "Latitud": {
            "type": "string",
            "description": "Latitude, a string with a decimal comma."
          },
          "Rótulo": {
            "type": "string",
            "description": "Station brand."
          },
          "Municipio": {
            "type": "string",
            "description": "Municipality name."
          },
          "Provincia": {
            "type": "string",
            "description": "Province name."
          },
          "Dirección": {
            "type": "string",
            "description": "Street address."
          },
          "Tipo Venta": {
            "type": "string",
            "description": "P public sale, R restricted to members."
          },
          "IDMunicipio": {
            "type": "string",
            "description": "Municipality id in the ministry's own numbering."
          },
          "IDProvincia": {
            "type": "string",
            "description": "Province id."
          },
          "PrecioProducto": {
            "type": "string",
            "description": "Price in euros per litre (or per kg), a string with a decimal comma, for the product asked."
          },
          "Longitud (WGS84)": {
            "type": "string",
            "description": "Longitude, a string with a decimal comma."
          }
        },
        "additionalProperties": true
      },
      "description": "Stations with their price for the product asked. Empty when none match; see ResultadoConsulta."
    },
    "ResultadoConsulta": {
      "type": "string",
      "description": "OK, or a message when the filter matched nothing."
    }
  },
  "additionalProperties": true
}