Saltar al contenido
Medias
= 0,0 cts Gasolina 95: 1,787 €/L = 0,0 cts Diésel: 1,888 €/L
Medias · Respecto a ayer ·

Los datos, en abierto

Todo lo que ves en esta web, en CSV y sin registro. Serie diaria desde 2022 y el snapshot de hoy, gasolinera a gasolinera.

1743 días de serie desde 1 de enero de 2022 CC BY 4.0

Qué hay aquí

LlenoBarato descarga cada noche el registro oficial de precios y guarda el resultado agregado. De tanto hacerlo se ha juntado una serie de 1743 días que empieza el 1 de enero de 2022 y llega hasta 13 de octubre de 2026, con el precio mínimo y el precio medio de gasolina 95 y gasóleo A, para España y para cada provincia.

Esa serie no la publica nadie en un formato que se pueda abrir con una hoja de cálculo, así que la publicamos nosotros. Es gratis, no hay que registrarse y no hay clave de API.

Los ficheros

Fichero Qué contiene Columnas
historico-nacional.csv 3486 filas Serie diaria nacional desde 2022: precio mínimo y media de gasolina 95 y diésel. fecha, carburante, min, media
historico-provincias.csv 181.272 filas Lo mismo, desglosado por las 52 provincias. fecha, provincia, carburante, min, media
precios-hoy.csv 33.672 filas Snapshot de hoy, estación a estación, con coordenadas e identificador oficial. fecha, ideess, rotulo, municipio, provincia, municipio_id, lat, lon, carburante, precio

También hay un README.txt con la descripción completa de los campos. El snapshot de hoy cubre 11.347 gasolineras.

Cómo abrirlos con código

Los ficheros se leen directamente desde su URL, sin descargarlos antes. Estos dos ejemplos sacan la media mensual de la gasolina 95 en Madrid en los últimos 12 meses disponibles, incluido el mes en curso. En historico-provincias.csv, la columna provincia usa el mismo identificador que las URLs del sitio (madrid, coruna-a), y carburante vale gasolina-95 o diesel.

Python (pandas)
import pandas as pd

url = "https://llenobarato.com/datos/historico-provincias.csv"
df = pd.read_csv(url, parse_dates=["fecha"])

# Media mensual de la gasolina 95 en Madrid
madrid = df[(df.provincia == "madrid") & (df.carburante == "gasolina-95")]
print(madrid.resample("MS", on="fecha")["media"].mean().tail(12))
R
url <- "https://llenobarato.com/datos/historico-provincias.csv"
df <- read.csv(url)
df$fecha <- as.Date(df$fecha)

# Media mensual de la gasolina 95 en Madrid
madrid <- subset(df, provincia == "madrid" & carburante == "gasolina-95")
madrid$mes <- format(madrid$fecha, "%Y-%m")
print(tail(aggregate(media ~ mes, data = madrid, FUN = mean), 12))

Los decimales van con punto. En una hoja de cálculo configurada en español, impórtalos indicando el punto como separador decimal, o leerá 1.504 como mil quinientos cuatro.

Tres avisos antes de usarlos

  • La serie histórica es nacional y provincial, no municipal. No existe serie temporal por municipio ni por gasolinera: solo el snapshot del día llega a ese detalle. Si alguien te ofrece lo contrario a partir de estos ficheros, se lo está inventando.
  • Que falte una gasolinera un día no significa que cerrara, sino que no comunicó precio a la API oficial esa jornada.
  • La media es aritmética simple entre las estaciones que comunicaron precio, sin ponderar por litros vendidos ni por población. Es la media de los surtidores, no la del bolsillo.

Licencia y cómo citar

Los datos de origen proceden del Ministerio para la Transición Ecológica y el Reto Demográfico y se reutilizan conforme a la Ley 37/2007 sobre reutilización de la información del sector público. LlenoBarato está en el catálogo de aplicaciones de datos.gob.es, el portal de datos abiertos del Gobierno de España.

La elaboración —la agregación diaria, la serie temporal y la normalización— es de LlenoBarato y se publica bajo Creative Commons Reconocimiento 4.0. Puedes usarla para lo que quieras, incluso comercialmente, citando la procedencia:

LlenoBarato (https://llenobarato.com), a partir de datos del Ministerio para la Transición Ecológica y el Reto Demográfico.

¿Encuentras un error?

Si algo no cuadra, dilo: los datos mejoran cuando alguien los mira con lupa. Tienes el contacto en Sobre este sitio.