Cluster Living Database HomeSources › indec

Instituto Nacional de Estadistica y Censos

As built

DatasetIndice de Precios al Consumidor (IPC), base diciembre 2016
Dataset idindec.ipc
Series1,913
Observations141,563
Countries1
Period range1943-01-01 to 2026-08-01
Vintages4
Last fetched2026-09-10 19:55
Poll interval7 days
Archiveindec/ipc/*.json.gz
LicenceCC-BY-4.0
Redistributablewith-attribution
Terms read by a person2026-09-11
AttributionInstituto Nacional de Estadistica y Censos (INDEC), via datos.gob.ar (CC BY 4.0)

https://datos.gob.ar/acerca/seccion/marco-legal

What building it taught us

The connector's own docstring, verbatim. It lives beside the code so it cannot drift from it.

INDEC connector: Argentina's IPC, by region, and what things actually cost.

Reached through the national open-data series API (apis.datos.gob.ar) and INDEC's official detailed-openings CSV. The API supplies the twelve COICOP divisions and all-items index across seven regions, INDEC's five analytical aggregates, the published monthly rates, and 60 average prices in pesos. The CSV supplies the Level 3 groups and selected Level 4 classes that INDEC publishes for the six regions, without inventing national rows that the source does not release.

Six things this connector had to get right.

Mixing frequencies in one request silently averages the data. Ask for a monthly and a quarterly series together and the API returns ONE date column at the coarser frequency, with the monthly series collapsed to quarterly means -- HTTP 200, no warning, and the values look like published figures. That is the exact failure this system exists to prevent, arriving through a parameter nobody set. Batches are therefore grouped by frequency, and fetch() checks the frequency the response says it is before storing it.

Forty series per request, and the API says so. A 41st gets HTTP 400 with the limit named, which is an honest error and better than most. Requests are batched to INDEC_MAX_IDS.

units is wrong on 84 series, in the direction that matters. The 348.1_* family is labelled "Índice" and carries average prices in PESOS -- verified against the correctly labelled 105.1_* series, which are the same numbers at 96 of 110 overlapping months. Believing the field would have filed a price as an index, and serve.py would have rebased it to 100 and thrown the amount away. Nothing here reads units; scope and measure come from the dataset and the description, and the mislabelled duplicates are left out.

Region is part of the concept, because there is nowhere else to put it. A series id is {ISO3}.{CONCEPT}.{FREQ}; this database has no region dimension. Argentina publishes each chapter for Nacional, GBA, Cuyo, Pampeana, Noroeste, Noreste and Patagonia, and folding those together would average a country silently. See catalog.indec_concept.

The same region is spelled five ways. "Región noroeste", "región Noroeste", "Región Noroeste", and the region is sometimes glued onto the category ("Nivel General Cuyo"). The descriptions are matched accent-folded and casefolded, longest phrase first, against the tables in catalog.py. The series id looked like the more reliable key and is not: its trailing three characters are the region for an index series but part of a Spanish word for a rate series, so a rule read off the ids would file "mensUAL" as a region.

These twelve chapters ARE COICOP. Same twelve, same order, same boundaries, so they carry the COICOP code and unify with every other country's divisions -- a notation difference inside one classification, not a crosswalk. INDEC's own analytical aggregates (núcleo, estacionales, regulados, bienes, servicios) are not COICOP and keep taxonomy: 'indec', as do the named products.

What is deliberately left out, all of it from the same search:

290 the 345.1-348.1 families "incidencia" -- each category's CONTRIBUTION to the headline in percentage points, which is not one of the four kinds in catalog.MEASURES, plus the mislabelled price duplicates 176 the API's GBA index breakdown two overlapping bases in one dataset ("Base abr 2016" and "Base dic 2016") under duplicate labels; the clean current-base CSV is ingested instead ~600 discontinued bases IPC-GBA 1974, 1988, 2008; IPC-NU 2013 2,900 everything else the search wholesale prices, GDP deflators, hours returns worked -- not consumer prices