Gasolinera más barata cerca
Para encontrar dónde repostar más barato cerca de un punto, usa GET /v1/stations/cheapest con lat, lng y radius_km: devuelve las gasolineras del radio ordenadas por precio. Si prefieres ordenarlas por distancia, usa GET /v1/stations/nearby con sort=distance.
Qué endpoint usar
Sección titulada «Qué endpoint usar»| Necesitas | Endpoint | Orden | Límite |
|---|---|---|---|
| Las más baratas a menos de X km | GET /v1/stations/cheapest?lat=…&lng=…&radius_km=… |
precio | normal (120/min) |
| Las más cercanas (o por precio) con su distancia | GET /v1/stations/nearby?lat=…&lng=…&sort=distance |
price o distance |
consulta pesada (30/min) |
Los dos aceptan fuel (por defecto gasoline_95), limit (1–50, por defecto 10), open_24h=true y brand=<slug>. El radio va de más de 0 a 50 km y, si no lo indicas, es de 5 km. Las gasolineras de nearby (y las de cheapest por coordenadas) traen distance_km.
Paso a paso
Sección titulada «Paso a paso»-
Consigue las coordenadas. Del navegador (
navigator.geolocation), de tu propia base de datos o de la API:GET /v1/territories?level=municipality&parent=<provincia>devuelvelatylngde cada municipio. -
Pide las más baratas del radio.
Ventana de terminal curl "https://api.preciosgasolina.es/v1/stations/cheapest?fuel=diesel&lat=40.4168&lng=-3.7038&radius_km=10&limit=5"async function masBaratasCerca({ lat, lng, fuel = "gasoline_95", radiusKm = 5, limit = 5, open24h = false }) {const url = new URL("https://api.preciosgasolina.es/v1/stations/cheapest");url.search = new URLSearchParams({ fuel, lat, lng, radius_km: radiusKm, limit, ...(open24h && { open_24h: "true" }) });const res = await fetch(url);if (!res.ok) {const err = await res.json(); // application/problem+jsonthrow new Error(`${err.code}: ${err.detail}`);}return res.json(); // { data, meta }}const { data, meta } = await masBaratasCerca({ lat: 40.4168, lng: -3.7038, fuel: "diesel", radiusKm: 10 });for (const s of data.stations) console.log(s.price, s.name, s.distance_km + " km", s.web_url);import requestsdef mas_baratas_cerca(lat, lng, fuel="gasoline_95", radius_km=5, limit=5, open_24h=False):params = {"fuel": fuel, "lat": lat, "lng": lng, "radius_km": radius_km, "limit": limit}if open_24h:params["open_24h"] = "true"r = requests.get("https://api.preciosgasolina.es/v1/stations/cheapest", params=params, timeout=10)if not r.ok:err = r.json() # application/problem+jsonraise RuntimeError(f'{err["code"]}: {err["detail"]}')return r.json()body = mas_baratas_cerca(40.4168, -3.7038, fuel="diesel", radius_km=10)for s in body["data"]["stations"]:print(s["price"], s["name"], s.get("distance_km"), "km", s["web_url"]) -
Muestra el resultado con su fecha y la fuente. Cada gasolinera trae
price,price_updated_at,is_24h,hours, su dirección y suweb_url. Muestrameta.attributiony la fecha demeta.last_updated(ver Atribución).
{ "data": { "fuel": "diesel", "unit": "L", "currency": "EUR", "center": { "lat": 40.417, "lng": -3.704 }, "radius_km": 10, "note": null, "stations": [ { "id": 12345, "name": "Estación de ejemplo", "brand": { "slug": "marca-ejemplo", "name": "Marca Ejemplo" }, "address": "Calle de Ejemplo, 1", "postal_code": "28001", "municipality": { "id": 4354, "name": "Madrid" }, "province": { "code": "28", "name": "Madrid" }, "community": { "code": "13", "name": "Comunidad de Madrid" }, "lat": 40.39, "lng": -3.65, "is_24h": true, "hours": "L-D: 24H", "low_tax_area": false, "web_url": "https://preciosgasolina.es/gasolineras/estacion-de-ejemplo-12345/", "price": 1.459, "price_updated_at": "2026-10-07T06:12:00.000+00:00", "distance_km": 5.47 } ] }, "meta": { "last_updated": "2026-10-07T06:12:00.000Z", "attribution": "Fuente: Gasolina hoy (preciosgasolina.es), con datos del…", "web_url": "https://preciosgasolina.es/mapa-gasolineras/", "…": "…" }}Fíjate en que center sale redondeado a 3 decimales: la API redondea siempre las coordenadas (unos 100 m) para no identificar a nadie y compartir caché.
Ordenar por distancia
Sección titulada «Ordenar por distancia»curl "https://api.preciosgasolina.es/v1/stations/nearby?lat=40.4168&lng=-3.7038&radius_km=3&fuel=gasoline_95&sort=distance&limit=10"nearby cuenta como consulta pesada (30 por minuto por IP): úsalo cuando el usuario lo pida, no en cada movimiento del mapa.
Filtros útiles
Sección titulada «Filtros útiles»- Abiertas 24 horas:
open_24h=true. - Una marca:
brand=repsol(slug de la marca; lista enGET /v1/brands). - Más resultados:
limit=50como máximo. Para listados completos de una zona, descarga los datos abiertos.
Con el servidor MCP
Sección titulada «Con el servidor MCP»Las herramientas equivalentes son find_cheapest_fuel (con lat, lng y radius_km) y find_fuel_near (con sort). Ejemplo de pregunta: «Gasolineras cerca de la estación de Atocha». Ver Herramientas del MCP.
Fuente de los datos: Ministerio para la Transición Ecológica y el Reto Demográfico (Geoportal de Gasolineras). Datos de la API y del servidor MCP con licencia CC BY 4.0: cita Gasolina hoy y la fuente.
© 2026 ONETOUCH SA de CVpreciosgasolina.esTérminos de usoAviso legalPrivacidadllms.txtOpenAPI