SwarmIncToolsAPIsFree LLM APIsSupport

REST API · JSON · through RapidAPI

EU Fuel Price Change Monitor (France, Spain) API

Each run returns only the stations whose fuel prices changed since the last run, from the French and Spanish open government feeds, filtered by postcode prefix.

Read from the official source when you call (donnees.roulez-eco.fr, sedeaplicaciones.minetur.gob.es); no personal data. GET /v1/eu-fuel-monitor answers {"product", "count", "items", "fetched_at"}.

Source: Prix des carburants en France (prix-carburants.gouv.fr), under Licence Ouverte / Open Licence 2.0 (Etalab). Every answer carries this attribution in its sources field.

Source: Geoportal Gasolineras (Ministerio para la Transición Ecológica y el Reto Demográfico), under the general reuse conditions of Ley 37/2007 and Real Decreto 1495/2011. Every answer carries this attribution in its sources field.

Get a key on RapidAPI  plans and pricing are on the listing; one key covers every endpoint.

Parameters

ParameterTypeWhat it doesExample
countryarrayWhich national feeds to read (empty: all). One of: FR, ES.["FR", "ES"]
postcodestringKeep stations whose postcode starts with this (28 is Madrid in Spain, Eure-et-Loir in France; 75 Paris; empty keeps all)."28"
limitintegerAt most this many results (1–1000, default 100).20

What each result holds

FieldType
countrycountry
station_idid
postcodeid
addresstext
citytext
latlat
lonlon
diesel_eur_lprice
sp95_e5_eur_lprice
e10_eur_lprice
sp98_eur_lprice

Sample results

The first 3 results of the same source's latest test run (long values shortened).

[
  {
    "address": "16 Avenue Jean Moulin",
    "city": "Authon-du-Perche",
    "country": "FR",
    "diesel_eur_l": 2.409,
    "e10_eur_l": 2.211,
    "first_seen": true,
    "lat": 48.194,
    "lon": 0.899,
    "postcode": "28330",
    "previous": null,
    "sp95_e5_eur_l": 2.211,
    "sp98_eur_l": 2.273,
    "station_id": "28330003"
  },
  {
    "address": "Zac du Pays Alnelois",
    "city": "AUNEAU",
    "country": "FR",
    "diesel_eur_l": 2.356,
    "e10_eur_l": 2.049,
    "first_seen": true,
    "lat": 48.478,
    "lon": 1.768,
    "postcode": "28700",
    "previous": null,
    "sp95_e5_eur_l": 2.089,
    "sp98_eur_l": 2.152,
    "station_id": "28700004"
  },
  {
    "address": "C C PLEIN SUD - RN 154",
    "city": "Vernouillet",
    "country": "FR",
    "diesel_eur_l": 2.362,
    "e10_eur_l": 2.088,
    "first_seen": true,
    "lat": 48.717,
    "lon": 1.369,
    "postcode": "28500",
    "previous": null,
    "sp95_e5_eur_l": null,
    "sp98_eur_l": 2.191,
    "station_id": "28500001"
  }
]

Call it

With curl:

curl -G "https://eu-fuel-prices-api-france-spain-stations.p.rapidapi.com/v1/eu-fuel-monitor" \
  --data-urlencode country=FR,ES \
  --data-urlencode postcode=28 \
  --data-urlencode limit=20 \
  -H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
  -H "X-RapidAPI-Host: eu-fuel-prices-api-france-spain-stations.p.rapidapi.com"

With Python (pip install requests):

import os, requests

r = requests.get(
    "https://eu-fuel-prices-api-france-spain-stations.p.rapidapi.com/v1/eu-fuel-monitor",
    params={'country': 'FR,ES', 'postcode': '28', 'limit': 20},
    headers={"X-RapidAPI-Key": os.environ["RAPIDAPI_KEY"], "X-RapidAPI-Host": "eu-fuel-prices-api-france-spain-stations.p.rapidapi.com"},
    timeout=120,
)
for item in r.json()["items"]:
    print(item)

For code and AI agents that pick tools at run time, GET /v1/products lists every endpoint with its parameters and fields.

Questions

How fresh is it? Each call reads the official source then; an identical query within 15 minutes is answered from a cache.

What if the source is down? The answer says so: a 502, or "partial": true when only some of its requests failed.