# Precios de gasolineras: España, México y Argentina (`opendata-cr/fuel-prices-es-mx-ar`) Actor

Precios oficiales de gasolina, diésel, GLP y GNC por gasolinera en España, México y Argentina, con marca, dirección y coordenadas. Filtre por provincia, producto o radio en kilómetros. El modo monitor entrega solo las estaciones cuyo precio cambió. Fuentes: MITECO, CNE y Secretaría de Energía.

- **URL**: https://apify.com/opendata-cr/fuel-prices-es-mx-ar.md
- **Developed by:** [Tornwar](https://apify.com/opendata-cr) (community)
- **Categories:** Business, Travel, Automation
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $40.00 / 1,000 station blocks

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Precios de combustible por estación en España, México y Argentina

Precios vigentes de combustible por estación en España, México y Argentina, en un solo esquema. El Actor descarga los archivos oficiales por HTTP. No abre un navegador.

Los ejemplos salen de las descargas del 2026-10-04.

***

### Español

#### Para quién es

- Aplicaciones de precios y comparadores. Una fila por estación, con los productos en `prices`.
- Flotas. Diésel y gasolina por provincia, o dentro de un radio.
- Alertas. El modo monitor escribe la estación cuyo precio cambió desde la ejecución anterior.
- Integraciones. El dataset y el registro `OUTPUT` se leen por la API de Apify.

#### Qué devuelve

Una fila es una estación. Los productos van en `prices`. En Argentina el diurno y el nocturno son dos tarifas. `priceSummary` es el texto corto de la tabla (los primeros seis precios).

| Campo | Qué es |
|---|---|
| `country` | `ES`, `MX` o `AR` |
| `stationId` | ID oficial. En AR, `idempresa`, o `idempresa-n` si esa empresa tiene más de un domicilio |
| `brand`, `name`, `address`, `municipality`, `state` | En México el estado se obtiene de las coordenadas. La dirección y el municipio no vienen en la fuente y quedan vacíos |
| `latitude`, `longitude` | México publica x = longitud, y = latitud. El Actor los entrega en el orden correcto |
| `prices[]` | `product`, `productRaw`, `price`, `currency`, `unit`, `schedule`, `updatedAt`, `priceAgeDays` |
| `priceAgeDays` | Días enteros entre la fecha de la fuente y la descarga. En la estación es la del producto más reciente. En México es `null` |
| `currency` | `EUR`, `MXN`, `ARS` |
| `updatedAt` | El más reciente de los precios que quedaron. En México es la hora de la descarga (`updatedAtSource: "fetch"`) |
| `license`, `attribution` | CC BY 4.0 en cada fila |

Productos: `gasoline_regular`, `gasoline_premium`, `diesel`, `diesel_premium`, `lpg`, `cng`, y los demás (E85, gasóleo B, AdBlue, hidrógeno). El nombre original se conserva en `productRaw`. En España, gasolina 95 E5 y 95 E10 son las dos `gasoline_regular` y se conservan las dos. El GNC argentino va en `m3`. El de España, en `kg`. El filtro `products` acepta alias (`gnc`, `glp`, `gasoleo`, `premium`, `regular`).

#### Precio

| Evento | Precio | Qué es |
|---|---|---|
| `station-batch` | US$0.04 | Hasta 50 estaciones escritas. Un bloque más corto también cuenta como uno. Es el modo normal y también la primera vez que el monitor ve una estación. Sale a US$0.0008 por estación. |
| `price-change` | US$0.0015 | Solo en el monitor, y solo si la estación ya estaba guardada y el precio cambió. |
| Ejecución vacía, filtros sin resultado, precios viejos, estaciones sin cambio, país que no se pudo leer | US$0 | No se cobra |

El formulario propone `maxItems` = 25 (un bloque, US$0.04). Si hay varios países y el tope no alcanza para todos, las estaciones se reparten para que aparezca cada país. Si se omite el campo, el tope es 100.

| Estaciones escritas | Importe, más el inicio de US$0.00005 |
|---|---|
| 1 a 50 | US$0.04 |
| España entera, 11 466 estaciones, modo normal o primera pasada del monitor | US$9.20 |
| México entero, 13 846 | US$11.08 |
| Argentina entera, 4 610 | US$3.72 |
| Los tres, 29 922 | US$23.96 |
| Una estación ya vista, con otro precio | US$0.0015 |

El máximo a cobrar por ejecución debe ser de al menos US$0.05. Con US$0.05 entra un bloque y la ejecución se detiene antes del segundo. Si el máximo no cubre el próximo evento, la ejecución termina con éxito, conserva lo ya escrito y el mensaje de estado indica que se alcanzó el máximo a cobrar.

El monitor compara los precios, no `updatedAt`. España reescribe la fecha cada 30 minutos aunque el precio no cambie. Una estación que el monitor nunca guardó se cobra como `station-batch`. Solo un cambio real se cobra como `price-change`.

#### Si un país falla

Cada país se descarga por su cuenta. Si uno falla, queda un aviso en el log, no se cobra, y los otros se escriben. La ejecución termina con éxito y el mensaje nombra el país (`Sin datos de ES`). La ejecución falla solo cuando todos los países pedidos fallaron.

#### España

La descarga de España empieza con conexión directa. Si la fuente cierra la conexión, el Actor hace varios intentos, alternando la conexión directa y el proxy de Apify, con una pausa corta entre ellos. Si el formulario tiene un proxy activo, se usa ese. El log dice qué intento funcionó. Si España sigue sin responder, se omite, no se cobra, y el resto de la ejecución sigue.

Cuando el filtro contiene solo provincias de España, se descarga el archivo de cada provincia, más pequeño que el archivo nacional de unos 12 MB. Si el filtro está vacío, o mezcla una provincia española con otro nombre (por ejemplo Buenos Aires), se descarga el archivo nacional.

#### Antigüedad del precio

`maxPriceAgeDays` quita precios cuya fecha en la fuente es más antigua que ese número de días. El valor por defecto es 90. Si en la entrada JSON se envía `null`, no hay corte. Un número alto (por ejemplo 10000) deja casi todo.

En Argentina muchas estaciones no actualizan su precio desde hace meses o años. En el archivo del 2026-10-04 había 4 610 estaciones; con el corte de 90 días quedaban 922. Para recibir también los precios más antiguos, aumente `maxPriceAgeDays`.

México no publica fecha. Esos precios no se quitan por antigüedad, y `priceAgeDays` queda en `null`. El mismo campo se calcula en España y en Argentina, donde la fecha sí viene en el archivo.

#### México

La fuente no trae provincia ni dirección. El estado sale de las coordenadas, con los límites estatales del INEGI incluidos en el Actor. No hay llamada de red. Si el punto cae justo fuera del polígono, a unos kilómetros de la costa o de la frontera, se asigna el estado más cercano. Sin coordenadas, el estado queda vacío. "Distrito Federal" se trata como Ciudad de México. El filtro `México` es el Estado de México y no incluye la capital. `CDMX` y `DF` sí.

Algunos `place_id` repiten un producto. Queda el último precio. Las estaciones sin precio no se publican.

#### Argentina

`fecha_vigencia` puede ser antigua. El corte de 90 días deja fuera esos precios. El GNC va por m³. Se usa el archivo de precios vigentes, no el histórico.

#### Ejemplo: los tres países

```json
{
  "countries": ["ES", "MX", "AR"],
  "maxItems": 25
}
```

Con varios países y un tope que no alcanza para todos, las estaciones se reparten para que aparezca cada país.

#### Ejemplo: España

Estación `3119`, REPSOL, Ajalvir, Madrid, el 2026-10-04 a las 17:46 hora de Madrid.

```json
{
  "country": "ES",
  "stationId": "3119",
  "brand": "REPSOL",
  "address": "CARRETERA M-114 KM. 0,7",
  "municipality": "Ajalvir",
  "state": "MADRID",
  "latitude": 40.528028,
  "longitude": -3.480944,
  "priceSummary": "diesel 1.995 EUR/L · diesel_renewable 2.105 EUR/L · gasoline_premium 1.989 EUR/L · gasoline_regular 1.829 EUR/L · lpg 1.099 EUR/L",
  "currency": "EUR",
  "updatedAt": "2026-10-04T17:46:03+02:00",
  "license": "CC BY 4.0"
}
```

Madrid, solo gasolina 95 y diésel:

```json
{
  "countries": ["ES"],
  "states": ["Madrid"],
  "products": ["gasoline_regular", "diesel"],
  "maxItems": 25
}
```

El filtro no distingue tildes ni mayúsculas (`Coruña`, `La Rioja`, `Baleares`).

Radio de 2 km alrededor de Sol. Hacen falta `latitude`, `longitude` y `radiusKm` juntos. Cada fila trae `distanceKm`.

```json
{
  "countries": ["ES"],
  "latitude": 40.4168,
  "longitude": -3.7038,
  "radiusKm": 2,
  "maxItems": 25
}
```

#### Ejemplo: México

`place_id` 11702. Sin dirección ni fecha de la fuente. El estado sale de las coordenadas.

```json
{
  "country": "MX",
  "stationId": "11702",
  "brand": "VIGO HIDROCARBUROS SA DE CV",
  "creId": "PL/9998/EXP/ES/2015",
  "latitude": 24.75731,
  "longitude": -107.7192,
  "priceSummary": "diesel 27 MXN/L · gasoline_premium 30.5 MXN/L · gasoline_regular 24.5 MXN/L",
  "updatedAtSource": "fetch"
}
```

#### Ejemplo: Argentina

YPF en San Carlos Centro, Santa Fe, vigencia del 2026-10-04.

```json
{
  "country": "AR",
  "stationId": "7329",
  "brand": "YPF",
  "name": "ALCIDES E. PHISALIX S.A.",
  "address": "BELGRANO 498",
  "municipality": "SAN CARLOS CENTRO",
  "state": "SANTA FE",
  "updatedAt": "2026-10-04T10:26:00-03:00"
}
```

Una SHELL de 25 de Mayo con vigencia 2025-07-09 no sale con el corte de 90 días, contado desde el 2026-10-04.

#### Alerta

España se actualiza cada 30 minutos. México y Argentina no publican una hora fija.

- Cron: `0 8 * * *`, o cada hora
- Zona horaria: `Europe/Madrid` si la alerta es de España
- Entrada de ejemplo, Ceuta (10 estaciones el 2026-10-04):

```json
{
  "countries": ["ES"],
  "states": ["Ceuta"],
  "onlyNewSinceLastRun": true,
  "monitorStoreName": "fuel-prices-ceuta",
  "maxItems": 25
}
```

`monitorStoreName`: un nombre por alerta (`fuel-prices-madrid`, `fuel-prices-ceuta`).

Si la primera ejecución cubrió todo el filtro, una segunda ejecución con el mismo filtro y el mismo almacén devuelve 0 estaciones mientras no cambien los precios.

#### Fuente y licencia

Las tres fuentes son datos abiertos CC BY 4.0. Este Actor no está vinculado al MITECO, a la CNE ni a la Secretaría de Energía de Argentina. Cada fila trae `attribution` y `licenseUrl`.

- España: [EstacionesTerrestres](https://sedeaplicaciones.minetur.gob.es/ServiciosRESTCarburantes/PreciosCarburantes/EstacionesTerrestres/) (MITECO). JSON de unos 12 MB. `Fecha` es hora de Madrid. Por provincia: la misma ruta más `FiltroProvincia/{id}`.
- México: [prices](https://publicacionexterna.azurewebsites.net/publicaciones/prices) y [places](https://publicacionexterna.azurewebsites.net/publicaciones/places) (CNE).
- Argentina: [precios-en-surtidor](http://datos.energia.gob.ar/dataset/precios-en-surtidor) (Resolución 314/2016).

#### Memoria

La memoria del Actor es de 512 MB por defecto y como mínimo, y de 1024 MB como máximo. Los archivos de cada país se leen completos antes de aplicar el máximo de estaciones, por eso no conviene usar menos.

***

### English

Current fuel prices per gas station in Spain, Mexico, and Argentina, in one schema. The Actor downloads the official HTTP files. It does not open a browser.

Examples are from the 2026-10-04 downloads.

#### Who it is for

- Price apps. One row per station, products in `prices`.
- Fleets. Diesel and gasoline by province, or inside a radius.
- Alerts. Monitor mode writes a station whose price changed since the previous run.
- Integrations. Read the dataset and the `OUTPUT` record through the Apify API.

#### What you get

One row is one station. Products live in `prices`. In Argentina, day and night are two tariffs. `priceSummary` is the short table label (first six prices).

| Field | Meaning |
|---|---|
| `country` | `ES`, `MX`, or `AR` |
| `stationId` | Official id. In AR, `idempresa`, or `idempresa-n` when that company has more than one address |
| `brand`, `name`, `address`, `municipality`, `state` | Mexico's state comes from the coordinates. Address and municipality are empty because the feed does not have them |
| `latitude`, `longitude` | Mexico's file uses x = longitude, y = latitude. The Actor returns them in the right order |
| `prices[]` | `product`, `productRaw`, `price`, `currency`, `unit`, `schedule`, `updatedAt`, `priceAgeDays` |
| `priceAgeDays` | Whole days from the feed timestamp to the download. On the station it is the freshest product. Mexico is `null` |
| `currency` | `EUR`, `MXN`, `ARS` |
| `updatedAt` | Latest remaining price. Mexico has no feed timestamp, so this is the fetch time (`updatedAtSource: "fetch"`) |
| `license`, `attribution` | CC BY 4.0 on every row |

Canonical products include `gasoline_regular`, `gasoline_premium`, `diesel`, `diesel_premium`, `lpg`, `cng`. The raw label stays in `productRaw`. Spanish 95 E5 and 95 E10 are both `gasoline_regular` and both are kept. Argentine CNG is per m³. Spanish CNG is per kg. The `products` filter accepts aliases (`gnc`, `glp`, `gasoleo`, `premium`, `regular`).

#### Pricing

| Event | Price | What it is |
|---|---|---|
| `station-batch` | US$0.04 | Up to 50 stations written. A shorter block still counts as one. Used for a normal snapshot and for a station the monitor has never stored. US$0.0008 per station. |
| `price-change` | US$0.0015 | Monitor only, and only when that station was already stored and the price changed. |
| Empty runs, filters with no rows, stale prices, unchanged stations, a country that failed | US$0 | Not charged |

The form starts `maxItems` at 25 (one block, US$0.04). When several countries are requested and the cap cannot fit all of them, stations are shared so each country appears. Omitting the field uses 100.

| Stations written | Price, plus the US$0.00005 start |
|---|---|
| 1 to 50 | US$0.04 |
| All of Spain, 11,466 stations, normal mode or the first monitor pass | US$9.20 |
| All of Mexico, 13,846 | US$11.08 |
| All of Argentina, 4,610 | US$3.72 |
| All three, 29,922 | US$23.96 |
| One station already seen, with a new price | US$0.0015 |

The maximum charge per run must be at least US$0.05. US$0.05 fits one block, and the run stops before a second. If the maximum cannot cover the next event, the run finishes successfully, keeps what was already written, and the status message says the maximum charge was reached.

The monitor compares prices, not `updatedAt`. Spain rewrites the file time every 30 minutes even when the price holds. A station the monitor has never stored is billed as `station-batch`. Only a real change is `price-change`.

#### When one country fails

Each country is downloaded on its own. A failure is a warning, that country is not charged, and the others are written. The run finishes successfully and the status names the country (`Sin datos de ES`). The run fails only when every requested country failed.

#### Spain

Spain starts on a direct connection. If the source closes it, the Actor makes several attempts, alternating the direct connection and Apify Proxy, with a short pause between them. An active proxy on the form is used for those retries. The log says which attempt worked. If Spain still does not answer, it is skipped, not charged, and the rest of the run continues.

When the filter is only Spanish provinces, each province is downloaded on its own, which is smaller than the national file of about 12 MB. An empty filter, or a mix with a name that is not a Spanish province (Buenos Aires, for example), downloads the national file.

#### Price age

`maxPriceAgeDays` drops prices whose feed date is older than that many days. The default is 90. JSON `null` means no limit. A large number (10000, for example) keeps almost everything.

In Argentina, many stations have not updated their price in months or years. The 2026-10-04 file had 4,610 stations; the 90-day cut kept 922. Raise `maxPriceAgeDays` to also get older prices.

Mexico publishes no date. Those prices are not dropped for age, and `priceAgeDays` is `null`. Spain and Argentina, which do have a feed date, get the field.

#### Mexico

The feed has no state and no address. The state comes from the coordinates, using INEGI state boundaries shipped in the Actor. There is no network call. A point that falls just outside the polygon, within a few kilometres of the coast or the border, is assigned to the nearest state. No coordinates means no state. "Distrito Federal" is treated as Ciudad de México. The filter `México` is the state of México and does not include the capital. `CDMX` and `DF` do.

A repeated product on the same `place_id` keeps the last price. Places with no price are not published.

#### Argentina

`fecha_vigencia` is often old. The 90-day cut drops those prices. CNG is per m³. The Actor uses the current price file, not the historical one.

#### Example: all three countries

```json
{
  "countries": ["ES", "MX", "AR"],
  "maxItems": 25
}
```

When several countries are requested and the cap cannot fit all of them, stations are shared so each country appears.

#### Example: Spain

Station `3119`, REPSOL, Ajalvir, Madrid, 2026-10-04 17:46 Europe/Madrid.

```json
{
  "country": "ES",
  "stationId": "3119",
  "brand": "REPSOL",
  "address": "CARRETERA M-114 KM. 0,7",
  "municipality": "Ajalvir",
  "state": "MADRID",
  "latitude": 40.528028,
  "longitude": -3.480944,
  "priceSummary": "diesel 1.995 EUR/L · diesel_renewable 2.105 EUR/L · gasoline_premium 1.989 EUR/L · gasoline_regular 1.829 EUR/L · lpg 1.099 EUR/L",
  "currency": "EUR",
  "updatedAt": "2026-10-04T17:46:03+02:00",
  "license": "CC BY 4.0"
}
```

Madrid, regular gasoline and diesel:

```json
{
  "countries": ["ES"],
  "states": ["Madrid"],
  "products": ["gasoline_regular", "diesel"],
  "maxItems": 25
}
```

The province filter ignores case and accents.

A 2 km radius around Sol. `latitude`, `longitude`, and `radiusKm` are required together. Each row includes `distanceKm`.

```json
{
  "countries": ["ES"],
  "latitude": 40.4168,
  "longitude": -3.7038,
  "radiusKm": 2,
  "maxItems": 25
}
```

#### Example: Mexico

`place_id` 11702. No address and no feed date. The state comes from the coordinates.

```json
{
  "country": "MX",
  "stationId": "11702",
  "brand": "VIGO HIDROCARBUROS SA DE CV",
  "creId": "PL/9998/EXP/ES/2015",
  "latitude": 24.75731,
  "longitude": -107.7192,
  "priceSummary": "diesel 27 MXN/L · gasoline_premium 30.5 MXN/L · gasoline_regular 24.5 MXN/L",
  "updatedAtSource": "fetch"
}
```

#### Example: Argentina

YPF in San Carlos Centro, Santa Fe, effective 2026-10-04.

```json
{
  "country": "AR",
  "stationId": "7329",
  "brand": "YPF",
  "name": "ALCIDES E. PHISALIX S.A.",
  "address": "BELGRANO 498",
  "municipality": "SAN CARLOS CENTRO",
  "state": "SANTA FE",
  "updatedAt": "2026-10-04T10:26:00-03:00"
}
```

A SHELL in 25 de Mayo dated 2025-07-09 is left out by the 90-day cut, counted from 2026-10-04.

#### Alert

Spain refreshes about every 30 minutes. Mexico and Argentina do not publish a clock time.

- Cron: `0 8 * * *`, or hourly
- Timezone: `Europe/Madrid` for a Spain alert
- Example input, Ceuta (10 stations on 2026-10-04):

```json
{
  "countries": ["ES"],
  "states": ["Ceuta"],
  "onlyNewSinceLastRun": true,
  "monitorStoreName": "fuel-prices-ceuta",
  "maxItems": 25
}
```

`monitorStoreName`: one name per alert.

If the first run covered the whole filter, a second run with the same filter and the same store returns 0 stations until prices change.

#### Source and license

All three feeds are CC BY 4.0 open data. This Actor is not affiliated with MITECO, CNE or Argentina's Secretaría de Energía. Every row includes `attribution` and `licenseUrl`.

- Spain: [EstacionesTerrestres](https://sedeaplicaciones.minetur.gob.es/ServiciosRESTCarburantes/PreciosCarburantes/EstacionesTerrestres/) (MITECO). About 12 MB of JSON. `Fecha` is Madrid time. Per province: the same path plus `FiltroProvincia/{id}`.
- Mexico: [prices](https://publicacionexterna.azurewebsites.net/publicaciones/prices) and [places](https://publicacionexterna.azurewebsites.net/publicaciones/places) (CNE).
- Argentina: [precios-en-surtidor](http://datos.energia.gob.ar/dataset/precios-en-surtidor) (Resolution 314/2016).

#### Memory

Actor memory is 512 MB by default and as the minimum, and 1024 MB as the maximum. Each country's file is read in full before the station cap is applied, so less memory is not recommended.

# Actor input Schema

## `countries` (type: `array`):

Países a descargar. ES es España, MX es México, AR es Argentina. Un país que no esté aquí no se pide.

## `states` (type: `array`):

Filtro por provincia o estado, sin tildes y sin distinguir mayúsculas. En México el estado sale de las coordenadas. Si todos los nombres son provincias de España, la descarga de España usa el archivo de cada provincia.

## `products` (type: `array`):

Códigos de producto. Vacío devuelve todos los de la estación. También valen alias: gnc, glp, gasoleo, premium, regular.

## `latitude` (type: `number`):

Centro del radio, en grados. Hace falta también la longitud y el radio.

## `longitude` (type: `number`):

Centro del radio, en grados. Negativa al oeste de Greenwich.

## `radiusKm` (type: `number`):

Radio en kilómetros, inclusive. Las estaciones sin coordenadas quedan fuera.

## `maxItems` (type: `integer`):

Tope de estaciones escritas. El formulario propone 25. Si se omite el campo, el tope es 100. Si hay varios países y el tope no alcanza para todos, las estaciones se reparten para que aparezca cada país. Si se alcanza el máximo a cobrar de la ejecución, esta termina con éxito.

## `maxPriceAgeDays` (type: `integer`):

Quita precios cuya fecha en la fuente supera este número de días. El valor por defecto es 90. México no publica fecha, así que no entra en este corte. Si en la entrada JSON se envía null, no hay límite.

## `onlyNewSinceLastRun` (type: `boolean`):

Guarda los precios de cada estación. En la siguiente ejecución solo escribe las estaciones cuyo precio cambió. Una estación que no estaba guardada se cobra como bloque normal (station-batch, US$0.04 por bloque de hasta 50). Solo un cambio de una estación ya vista se cobra como price-change (US$0.0015). Solo se comparan los precios, no la hora del archivo.

## `monitorStoreName` (type: `string`):

Almacén (Key-Value Store) donde se guardan los precios ya vistos. Use un nombre distinto para cada alerta.

## `proxyConfiguration` (type: `object`):

Solo para España. Si la fuente rechaza la conexión, el Actor hace varios intentos, alternando la conexión directa y el proxy de Apify. Si activa el proxy o escribe URLs, se usa esa configuración. Si España no responde, se omite y los otros países siguen.

## Actor input object example

```json
{
  "countries": [
    "ES",
    "MX",
    "AR"
  ],
  "states": [],
  "products": [],
  "maxItems": 25,
  "maxPriceAgeDays": 90,
  "onlyNewSinceLastRun": false,
  "monitorStoreName": "fuel-prices-monitor",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "countries": [
        "ES",
        "MX",
        "AR"
    ],
    "states": [],
    "products": [],
    "maxItems": 25,
    "maxPriceAgeDays": 90,
    "monitorStoreName": "fuel-prices-monitor"
};

// Run the Actor and wait for it to finish
const run = await client.actor("opendata-cr/fuel-prices-es-mx-ar").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "countries": [
        "ES",
        "MX",
        "AR",
    ],
    "states": [],
    "products": [],
    "maxItems": 25,
    "maxPriceAgeDays": 90,
    "monitorStoreName": "fuel-prices-monitor",
}

# Run the Actor and wait for it to finish
run = client.actor("opendata-cr/fuel-prices-es-mx-ar").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "countries": [
    "ES",
    "MX",
    "AR"
  ],
  "states": [],
  "products": [],
  "maxItems": 25,
  "maxPriceAgeDays": 90,
  "monitorStoreName": "fuel-prices-monitor"
}' |
apify call opendata-cr/fuel-prices-es-mx-ar --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,opendata-cr/fuel-prices-es-mx-ar"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/fCKuEl5l0hro3o9JB/builds/ctnXh6AFvvQGQhOkD/openapi.json
