HICP rate of change
The price change derived correctly from levels — the ratio of the values, not their difference — and in all three definitions in circulation.
The HICP is a LEVEL, not a change, and anyone subtracting two levels and reading the result as a percentage is wrong. The error is not even consistent: in December 2022 the ratio gives +14.14%, but the subtraction gives 16.79 — an overstatement of 2.65 points; in December 2008 the ratio gives +6.38% while the subtraction gives 4.81 — an understatement. It is not a deviation with a constant sign that someone could correct for out of habit.
The three definitions differ substantially. For December 2022, the annual change gives 14.14%, while the average of the last twelve months against the average of the previous twelve gives 12.02% — two points on the same data. The second is the definition from Protocol No 13, the one used by /convergenta/criteriu-dobanda. The route returns all three, with names saying what they are: silently choosing one would be a decision taken on your behalf.
Nothing assumes a positive sign: the Romanian series has 17 months with a negative annual change (2015–2016, the VAT cut), with a minimum of −2.96% in May 2016. And nothing assumes small values: June 1997 gives +177.70%, correctly.
The first months of the window do not always have anything to derive a change from — the annual one needs twelve months of history, the twelve-month average needs twenty-four. The series is read with the necessary history behind it, and where that still does not reach, the field is null, not 0: a zero would say „prices did not move".
Query parameters
RO. Code as the source writes it: RO, EL, EA, EU27_2020.
max 16 car.
TOTAL (the total index; CP00 is accepted as a synonym). Other categories exist for only fourteen entities.
max 32 car.
YYYY-MM.
e.g. 2024-06e.g. 2024e.g. 2024-06-15
YYYY-MM. Defaults to the last published month. At most 360 months.
e.g. 2024-06-30
How it behaves
- The change in prices derived correctly from levels — the ratio of the values, not their difference — and in all three definitions in circulation.
- HICP is a LEVEL, not a rate of change, and subtracting two levels then reading the result as a percentage is wrong. The error is not even consistent: in December 2022 the ratio gives +14.14%, while the subtraction gives 16.79 — overstating by 2.65 points; in December 2008 the ratio gives +6.38% and the subtraction 4.81 — understating. It is not a bias with a fixed sign that anyone could correct out of habit.
- The three definitions differ substantially. For December 2022: the annual rate gives 14.14%, while the average of the last twelve months against the average of the twelve before gives 12.02% — two points apart on the same data. The second is the Protocol No 13 definition, the one used by
/convergenta/criteriu-dobanda. This route returns all three, named for what they are: silently picking one would be a decision made on your behalf. - Nothing assumes a positive sign. The Romanian series has 17 months of negative annual change — 2015–2016, the VAT cut — bottoming at −2.96% in May 2016, and 41 months of negative monthly change.
rezumat.*.luni_negativecounts them within the requested window. - And nothing assumes small values: June 1997 gives +177.70% year on year. The series spans the hyperinflation years, and the figure is correct, not a computation error.
- The first months of a window cannot always have a rate: the annual one needs twelve months of history, the twelve-month average needs twenty-four. The series is read with the history it needs behind it, and where that still is not enough the field is
null, not 0 — a zero would say "prices did not move", which is not the same as "cannot be computed". - An incomplete window is refused, not padded with what is there: an eleven-month average presented as a twelve-month one would be a figure that looks the same and means something else.
- One entity only. Comparing countries is a different question and has its own route:
/hicp/comparat.
What it is for
- The harmonised inflation rate, in the definition that fits the question.
- Comparing your own figure with the convergence-criterion one, without conflating them.
- Tracking a specific category — energy, food — as a rate rather than a level.
Response structure
procent.
data is null and this says why. The window falls outside the coverage.
fara_date is prose and may be rephrased, this is not.
Response examples
{
"data": {
"tara": "RO",
"categorie": "TOTAL",
"de_la": "2024-06",
"pana_la": "2026-08",
"unitate": "procent",
"rezumat": {
"variatie_lunara": {
"ultima": {
"luna": "2026-08",
"valoare": "0.26"
},
"minim": {
"luna": "2026-06",
"valoare": "-0.06"
},
"maxim": {
"luna": "2025-08",
"valoare": "2.10"
},
"luni_negative": 1,
"puncte": 27
},
"variatie_anuala": {
"ultima": {
"luna": "2026-08",
"valoare": "6.27"
},
"minim": {
"luna": "2024-09",
"valoare": "4.84"
},
"maxim": {
"luna": "2026-05",
"valoare": "9.75"
},
"luni_negative": 0,
"puncte": 27
},
"variatie_medie_12luni": {
"ultima": {
"luna": "2026-08",
"valoare": "8.58"
},
"minim": {
"luna": "2025-05",
"valoare": "5.24"
},
"maxim": {
"luna": "2026-07",
"valoare": "8.77"
},
"luni_negative": 0,
"puncte": 27
}
},
"valori": [
{
"luna": "2024-06",
"indice": "149.11",
"variatie_lunara": "0.06",
"variatie_anuala": "5.34",
"variatie_medie_12luni": "7.31"
}
]
},
"meta": {
"sursa": "Eurostat — HICP lunar (prc_hicp_minr, ECOICOP ver. 2), indici cu baza 2015 = 100.",
"acoperire": {
"de_la": "1996-01",
"pana_la": "2026-08"
},
"puncte": 27,
"luni_interval": 27,
"nota_derivare": "Variaţiile sunt RAPORTUL nivelurilor, nu diferenţa lor. Scăderea a două niveluri citită ca procent greşeşte în ambele sensuri: decembrie 2022 dă 16,79 în loc de 14,14%, decembrie 2008 dă 4,81 în loc de 6,38%.",
"nota_definitii": "`variatie_anuala` e nivelul faţă de nivelul de acum douăsprezece luni — rata de inflaţie obişnuită. `variatie_medie_12luni` e media ultimelor 12 luni faţă de media celor 12 anterioare, definiţia din Protocolul nr. 13 folosită de /financiar/v1/convergenta/criteriu-dobanda. Diferă real: 14,14% faţă de 12,02% în decembrie 2022.",
"nota_null": "`null` înseamnă „nu se poate calcula\" — lipseşte luna de referinţă — nu „zero\". Anuala cere 12 luni în urmă, media pe 12 luni cere 24.",
"nota_semn": "Variaţiile pot fi negative: seria românească are 17 luni cu variaţie anuală sub zero (2015–2016), minimul −2,96% în mai 2016. `rezumat.*.luni_negative` le numără în fereastra cerută.",
"comparatie_intre_tari": "/financiar/v1/hicp/comparat"
}
}
{
"data": {
"tara": "RO",
"categorie": "TOTAL",
"de_la": "2024-01",
"pana_la": "2026-08",
"unitate": "procent",
"rezumat": {
"variatie_lunara": {
"ultima": {
"luna": "2026-08",
"valoare": "0.26"
},
"minim": {
"luna": "2026-06",
"valoare": "-0.06"
},
"maxim": {
"luna": "2025-08",
"valoare": "2.10"
},
"luni_negative": 1,
"puncte": 32
},
"variatie_anuala": {
"ultima": {
"luna": "2026-08",
"valoare": "6.27"
},
"minim": {
"luna": "2024-09",
"valoare": "4.84"
},
"maxim": {
"luna": "2026-05",
"valoare": "9.75"
},
"luni_negative": 0,
"puncte": 32
},
"variatie_medie_12luni": {
"ultima": {
"luna": "2026-08",
"valoare": "8.58"
},
"minim": {
"luna": "2025-05",
"valoare": "5.24"
},
"maxim": {
"luna": "2024-01",
"valoare": "9.25"
},
"luni_negative": 0,
"puncte": 32
}
},
"valori": [
{
"luna": "2024-01",
"indice": "146.64",
"variatie_lunara": "1.10",
"variatie_anuala": "7.34",
"variatie_medie_12luni": "9.25"
}
]
},
"meta": {
"sursa": "Eurostat — HICP lunar (prc_hicp_minr, ECOICOP ver. 2), indici cu baza 2015 = 100.",
"acoperire": {
"de_la": "1996-01",
"pana_la": "2026-08"
},
"puncte": 32,
"luni_interval": 32,
"nota_derivare": "Variaţiile sunt RAPORTUL nivelurilor, nu diferenţa lor. Scăderea a două niveluri citită ca procent greşeşte în ambele sensuri: decembrie 2022 dă 16,79 în loc de 14,14%, decembrie 2008 dă 4,81 în loc de 6,38%.",
"nota_definitii": "`variatie_anuala` e nivelul faţă de nivelul de acum douăsprezece luni — rata de inflaţie obişnuită. `variatie_medie_12luni` e media ultimelor 12 luni faţă de media celor 12 anterioare, definiţia din Protocolul nr. 13 folosită de /financiar/v1/convergenta/criteriu-dobanda. Diferă real: 14,14% faţă de 12,02% în decembrie 2022.",
"nota_null": "`null` înseamnă „nu se poate calcula\" — lipseşte luna de referinţă — nu „zero\". Anuala cere 12 luni în urmă, media pe 12 luni cere 24.",
"nota_semn": "Variaţiile pot fi negative: seria românească are 17 luni cu variaţie anuală sub zero (2015–2016), minimul −2,96% în mai 2016. `rezumat.*.luni_negative` le numără în fereastra cerută.",
"comparatie_intre_tari": "/financiar/v1/hicp/comparat"
}
}
{
"data": {
"tara": "RO",
"categorie": "TOTAL",
"de_la": "2024-06",
"pana_la": "2024-06",
"unitate": "procent",
"rezumat": {
"variatie_lunara": {
"ultima": {
"luna": "2024-06",
"valoare": "0.06"
},
"minim": {
"luna": "2024-06",
"valoare": "0.06"
},
"maxim": {
"luna": "2024-06",
"valoare": "0.06"
},
"luni_negative": 0,
"puncte": 1
},
"variatie_anuala": {
"ultima": {
"luna": "2024-06",
"valoare": "5.34"
},
"minim": {
"luna": "2024-06",
"valoare": "5.34"
},
"maxim": {
"luna": "2024-06",
"valoare": "5.34"
},
"luni_negative": 0,
"puncte": 1
},
"variatie_medie_12luni": {
"ultima": {
"luna": "2024-06",
"valoare": "7.31"
},
"minim": {
"luna": "2024-06",
"valoare": "7.31"
},
"maxim": {
"luna": "2024-06",
"valoare": "7.31"
},
"luni_negative": 0,
"puncte": 1
}
},
"valori": [
{
"luna": "2024-06",
"indice": "149.11",
"variatie_lunara": "0.06",
"variatie_anuala": "5.34",
"variatie_medie_12luni": "7.31"
}
]
},
"meta": {
"sursa": "Eurostat — HICP lunar (prc_hicp_minr, ECOICOP ver. 2), indici cu baza 2015 = 100.",
"acoperire": {
"de_la": "1996-01",
"pana_la": "2026-08"
},
"puncte": 1,
"luni_interval": 1,
"nota_derivare": "Variaţiile sunt RAPORTUL nivelurilor, nu diferenţa lor. Scăderea a două niveluri citită ca procent greşeşte în ambele sensuri: decembrie 2022 dă 16,79 în loc de 14,14%, decembrie 2008 dă 4,81 în loc de 6,38%.",
"nota_definitii": "`variatie_anuala` e nivelul faţă de nivelul de acum douăsprezece luni — rata de inflaţie obişnuită. `variatie_medie_12luni` e media ultimelor 12 luni faţă de media celor 12 anterioare, definiţia din Protocolul nr. 13 folosită de /financiar/v1/convergenta/criteriu-dobanda. Diferă real: 14,14% faţă de 12,02% în decembrie 2022.",
"nota_null": "`null` înseamnă „nu se poate calcula\" — lipseşte luna de referinţă — nu „zero\". Anuala cere 12 luni în urmă, media pe 12 luni cere 24.",
"nota_semn": "Variaţiile pot fi negative: seria românească are 17 luni cu variaţie anuală sub zero (2015–2016), minimul −2,96% în mai 2016. `rezumat.*.luni_negative` le numără în fereastra cerută.",
"comparatie_intre_tari": "/financiar/v1/hicp/comparat"
}
}
Error codes
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Token missing, invalid, expired or revoked. |
| 403 | feature_indisponibil | The current plan does not include the feature the route depends on. |
| 422 | validare | interval_prea_lung beyond 360 months, or a malformed month. entitate_necunoscuta — no HICP for the requested entity; the response lists the available ones. categorie_indisponibila — the entity exists but lacks the category. |
| 429 | cota_depasita | The plan's monthly quota has been exceeded (see Retry-After). |
All errors share the same shape. eroare.cod is stable and is the value you should branch on in code — not the text in mesaj, which may change.
{
"eroare": {
"cod": "validare",
"mesaj": "interval_prea_lung beyond 360 months, or a malformed month. entitate_necunoscuta — no HICP for the requested entity; the response lists the available ones. categorie_indisponibila — the entity exists but lacks the category.",
"detalii": {
"tara": [
"The value sent does not satisfy the parameter rule."
]
}
}
}