Inflación (IPC)

Índice de Precios al Consumo (IPC) del Instituto Nacional de Estadística (INE), total del país. Los 12 meses más recientes.

Cargando inflación…

Qué significa cada columna

Los nombres de columna son los del archivo del INE. Ese archivo no trae definiciones, así que las explicaciones son mías y no textuales del INE.

DatoCampo de la APIColumna del INEExplicación (mía, no oficial)
MesdateMes y añoPrimer día del mes al que corresponde el dato.
ÍndiceindexÍndiceValor del índice, con base octubre 2022 = 100.
Mensualmonthly_changeMensualVariación porcentual respecto del mes anterior.
Acumulada del añoyear_to_date_changeAcum. añoVariación porcentual acumulada en el año hasta ese mes.
12 mesestwelve_month_changeAcum.12 mesesVariación porcentual respecto del mismo mes del año anterior.
Trimestrequarter_changeTrimestreVariación porcentual del trimestre, tal como la publica el INE.
Cuatrimestrefour_month_changeCuatrimestreVariación porcentual del cuatrimestre, tal como la publica el INE.

Para tener en cuenta

  • Las variaciones son porcentajes: 0,54 significa 0,54 %. Las celdas que el INE deja vacías se devuelven como null (por ejemplo, las variaciones de los primeros meses de la serie).
  • Los índices de los primeros años son muy chicos (1937 vale alrededor de 0,00000016) porque la serie está expresada en la base actual, después de varios cambios de moneda.
  • Cada vez que se carga el archivo se comprueba que las variaciones mensual y de 12 meses coincidan con el índice (con una diferencia mínima, que existe en las cifras del propio INE). Si no coinciden, la carga se rechaza.
  • El INE publica el dato de cada mes a principios del mes siguiente.

Fuente: archivo de IPC del INE (total del país, base octubre 2022 = 100). Ver el archivo original (Excel)

Usá estos datos desde tus sistemas

La API es pública y gratuita: devuelve el IPC en formato JSON, con todo el histórico desde 1937 y sin registro.

import requests

URL = "https://apitool.techspot365.com/api/v1/inflation"

# Últimos 2 meses del IPC
response = requests.get(URL, params={"limit": 2}, timeout=30)
response.raise_for_status()
result = response.json()

for row in result["data"]:
    print(row["date"], row["index"], row["monthly_change"], row["twelve_month_change"])

# Si hay más páginas, result["meta"]["has_more"] es True: pedí page=2, 3, ...