Financiar v1 / Inflatie
Gross fixed capital formation by asset type
What exactly is invested in, across 85 NACE divisions, annually since 2000: buildings, transport equipment, hardware, telecommunications, software, biological resources.
It completes the other two ways of looking at investment: formare_capital_fix in /financiar/v1/conturi-regionale gives it by region, without assets, and /financiar/v1/intrari-iesiri/echilibru gives it by product. Here it is by the type of asset the money goes into.
GET
https://oneapi.ro/api/financiar/v1/capital-fix/investitii
Query parameters
NameTypeDescriptionAccepted values
bazaoptional
string | null
Optional:
curente (default) or an_precedent.
curentean_precedent
de_laoptional
integer | null
Optional, a year, from 2000 (2001 on the
an_precedent base).
2000 – 2100
pana_laoptional
integer | null
Optional, a year.
2000 – 2100
caen_versiuneoptional
string | null
Optional: the revision of the
caen code — 1, 2 or 3 — when its form is ambiguous (4932 means different things in Rev.2 and Rev.3). Without it, the code is looked up in the series revision first.
123
activlistoptional
text
Optional, asset slugs comma-separated.
e.g. alte_cladiri
caenlistoptional
text
Optional, codes separated by commas: any CAEN code — section (
C), division (62), group, class (6201) — from any revision. It is brought to its division (CAEN Rev.2); what was used is in meta.caen.
e.g. 6201
gruparelistoptional
text
Optional, separated by commas: the source aggregates that are not CAEN codes —
total. Not sent together with caen.
e.g. total
How it behaves
- The cross-classification of gross fixed capital formation by branch and by asset type — 52,546 values, annually from 2000 to 2023, from TEMPO matrices
CON114AandCON114B. 13 asset types × 85 NACE divisions plus the total × two price bases. - It completes the other two ways of looking at investment.
formare_capital_fixin/financiar/v1/conturi-regionalegives it by region, without assets;/financiar/v1/intrari-iesiri/echilibrugives it by product. Here it is by the asset type the money goes into — buildings, transport equipment, hardware, telecommunications, software, biological resources. - Here all thirteen assets carry branch detail, unlike the stock view where four of them appear only on the
totalrow. That is why the identities run across the whole matrix:masini= transport + ICT + other machinery andtic= hardware + telecommunications each close 2,064 of 2,064. - ✅
total= buildings + machinery + biological resources + intellectual property: 2,064/2,064.constructii= dwellings + other buildings: 2,064/2,064. - ✅ The
totalrow = the sum of the 85 divisions: 312 of 312, with zero deviation. The sum is computed from the database. - ⚠️
proprietate_intelectualais NOT equal tosoftware— it closes only 1,610 of 2,064, because the source publishes a single component of it. The relation does not appear among the identities. - ⚠️
an_precedentmeans the previous year's prices: two years from that base do not compare with each other, and the base starts in 2001. - Without
caenand withoutactiv, the response stops at thetotalrow: the full matrix holds 13 × 86 series. - Activity is requested the same way across the platform.
caentakes any CAEN code, at any level and from any revision, and the route brings it to what the series publishes — climbing to a parent or translating it through the official INS correspondence;meta.caenstates the requested code, the one used and whether it was climbed or converted.grupareis for the source aggregates that are not CAEN codes.
What it is for
- The structure of a branch's investment: how much in buildings, in equipment, in software.
- Investment in technology — hardware, telecommunications, software — by branch.
- Comparing gross investment with the capital stock of the same branch.
Response structure
FieldTypeDescription
data.baza
string
data.descriere_baza
string
What the reporting base represents, in words.
data.unitate
string
The unit of the values. Read it before plotting or adding them up.
data.de_la
integer
Start of the interval the response covers.
data.pana_la
integer
End of the interval the response covers, inclusive.
data.filtre.ramura
array
Branch of activity.
data.ani
array
Years for which values exist.
data.serii[].baza
string
data.serii[].ramura
string
A two-digit NACE division or
total. Not the same nomenclature as in the stock view.
data.serii[].denumire_ramura
string
Name of the branch of activity, as published by the source.
data.serii[].activ
string
Whether the item is still in force at the response date.
data.serii[].denumire_activ
string
data.serii[].nivel_activ
string
total, agregat or componenta.
data.serii[].unitate
string
Unit of measure of the values. Read it before plotting or summing them.
data.serii[].valori
object
The values of the series, by period.
data.identitati.toleranta
string
How much deviation is accepted before the identity counts as unclosed — the source rounding, not an error.
data.identitati.ierarhie.total.identitate
string
The identity being checked — which sum must equal which total.
data.identitati.ierarhie.total.verificari
integer
How many combinations were checked.
data.identitati.ierarhie.total.inchise
integer
How many checks closed within tolerance.
data.identitati.ierarhie.constructii.identitate
string
The identity being checked — which sum must equal which total.
data.identitati.ierarhie.constructii.verificari
integer
How many combinations were checked.
data.identitati.ierarhie.constructii.inchise
integer
How many checks closed within tolerance.
data.identitati.ierarhie.masini.identitate
string
The identity being checked — which sum must equal which total.
data.identitati.ierarhie.masini.nota
string
A note on how to read the data — a pitfall, a convention or a limit of the source.
data.identitati.ierarhie.masini.verificari
integer
How many combinations were checked.
data.identitati.ierarhie.masini.inchise
integer
How many checks closed within tolerance.
data.identitati.ierarhie.tic.identitate
string
The identity being checked — which sum must equal which total.
data.identitati.ierarhie.tic.nota
string
A note on how to read the data — a pitfall, a convention or a limit of the source.
data.identitati.ierarhie.tic.verificari
integer
How many combinations were checked.
data.identitati.ierarhie.tic.inchise
integer
How many checks closed within tolerance.
data.identitati.nota_incomplet
string
Why intellectual property does not appear among the identities.
data.identitati.total_ramuri.identitate
string
The identity being checked — which sum must equal which total.
data.identitati.total_ramuri.nota
string
A note on how to read the data — a pitfall, a convention or a limit of the source.
data.identitati.total_ramuri.verificari
integer
How many combinations were checked.
data.identitati.total_ramuri.inchise
integer
How many checks closed within tolerance.
data.identitati.total_ramuri.unde.an
integer
The year the value refers to.
data.identitati.total_ramuri.unde.activ
string
Whether the item is still in force at the response date.
data.identitati.total_ramuri.unde.total
string
data.identitati.total_ramuri.unde.suma_diviziunilor
string
meta.sursa
string
The official source the data comes from, with its licence where one is required.
meta.acoperire.de_la
integer
The first period we have data for.
meta.acoperire.pana_la
integer
The last period we have data for.
meta.serii_returnate
integer
How many series were actually returned, after filters and the cell ceiling.
meta.nota_implicit
string
Which value was used when the parameter was not sent.
meta.nota_ramuri
string
A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_incomplet
string
A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_identitate
string
How the identity above is checked and what it means when it does not close.
meta.nota_alte_optici
string
A note on how to read the response: a caveat, a convention or a limit of the source.
meta.fara_date
string
data is null and this says why. The projection over the INS data is empty for the requested base. As on the other series.
meta.fara_date_cod
string
The short, STABLE word for the reason, for clients that branch on it in code:
fara_date is prose and may be rephrased, this is not.
meta.caen[]
object[]
How the
caen parameter was understood: the requested code, the revision it was read in and the code the route used. For a list of codes, one object per code.
meta.caen[].cerut
string
The CAEN code sent, normalised (upper case, no dots).
meta.caen[].versiune_cerut
string
The revision the code sent was read in: the one in
caen_versiune, otherwise the first it exists in.
meta.caen[].folosit
string
The code the series used: the requested one, its first published parent or the source aggregate that contains it (
02-03).
meta.caen[].nivel
string
The level of the code used — on company routes, of the requested code:
sectiune, subsectiune, diviziune, grupa, clasa or agregat.
meta.caen[].denumire
string
The name of the code, from the CAEN nomenclature.
meta.caen[].versiune_serie
string
The CAEN revision the series is published in.
meta.caen[].conversie
boolean
true when the code was translated from one revision to another through the official INS correspondence.
meta.caen[].urcat
boolean
true when the series does not publish the requested code and a higher level was used.
Response examples
GEThttps://oneapi.ro/api/financiar/v1/capital-fix/investitii?per_pagina=3
{
"data": {
"baza": "curente",
"descriere_baza": "Costuri de înlocuire curente — valorile anului, aşa cum au fost",
"unitate": "milioane lei",
"de_la": 2000,
"pana_la": 2023,
"filtre": {
"ramura": [
"total"
]
},
"ani": [
2000,
2001,
2002,
2003,
2004,
2005,
2006,
2007,
2008,
2009,
2010,
2011,
2012,
2013,
2014,
2015,
2016,
2017,
2018,
2019,
2020,
2021,
2022,
2023
],
"serii": [
{
"baza": "curente",
"ramura": "total",
"denumire_ramura": "Total",
"activ": "alte_cladiri",
"denumire_activ": "N112G Alte cladiri si constructii, brute",
"nivel_activ": "componenta",
"unitate": "milioane lei",
"valori": {
"2000": "5896.1",
"2001": "9433.8",
"2002": "12123.8",
"2003": "15131.2",
"2004": "19123.6",
"2005": "23003",
"2006": "34819.1",
"2007": "68400.2",
"2008": "96935",
"2009": "57315.4",
"2010": "63195.1",
"2011": "67994.8",
"2012": "79053",
"2013": "57593.7",
"2014": "63173.5",
"2015": "75839.6",
"2016": "71971.2",
"2017": "88313.9",
"2018": "94878.8",
"2019": "113734.4",
"2020": "128463.8",
"2021": "139314.2",
"2022": "183618.8",
"2023": "155716.1"
}
}
],
"identitati": {
"toleranta": "0.5",
"ierarhie": {
"total": {
"identitate": "`total` = `constructii` + `masini` + `resurse_biologice` + `proprietate_intelectuala`",
"verificari": 24,
"inchise": 24
},
"constructii": {
"identitate": "`constructii` = `locuinte` + `alte_cladiri`",
"verificari": 24,
"inchise": 24
},
"masini": {
"identitate": "`masini` = `transport` + `tic` + `alte_masini`",
"nota": "La stoc, componentele astea sunt publicate doar pe rândul `total`, deci identitatea se poate rula numai acolo — 24 din 24. La investiţii, toate ramurile o au: 2.064 din 2.064.",
"verificari": 24,
"inchise": 24
},
"tic": {
"identitate": "`tic` = `hardware` + `telecomunicatii`",
"nota": "La stoc, componentele astea sunt publicate doar pe rândul `total`, deci identitatea se poate rula numai acolo — 24 din 24. La investiţii, toate ramurile o au: 2.064 din 2.064.",
"verificari": 24,
"inchise": 24
}
},
"nota_incomplet": "`proprietate_intelectuala` nu apare printre identităţi: sursa publică din el doar `software`, care în 2023 acoperă 45% din el. Relaţia n-ar fi o identitate, ar fi o inegalitate.",
"total_ramuri": {
"identitate": "ramura `total` = suma ramurilor de sub ea",
"nota": "Verificat pe toată proiecţia: 312 din 312, cu abatere zero. Suma se calculează din bază.",
"verificari": 312,
"inchise": 305,
"unde": {
"an": 2018,
"activ": "alte_cladiri",
"total": "94878.8",
"suma_diviziunilor": "94878.2"
}
}
}
},
"meta": {
"sursa": "Institutul Naţional de Statistică — clasificarea încrucişată a formării brute de capital fix pe ramuri şi pe tipuri de active (TEMPO, matricile CON114A şi CON114B).",
"acoperire": {
"de_la": 2000,
"pana_la": 2023
},
"serii_returnate": 13,
"nota_implicit": "Fără `caen` şi fără `activ`, răspunsul se opreşte la rândul `total`. Matricea întreagă are 13 active × 86 de ramuri.",
"nota_ramuri": "Aici ramurile sunt 85 de diviziuni CAEN cu două cifre, nu cele 19 secţiuni de la stoc.",
"nota_incomplet": "`proprietate_intelectuala` nu apare printre identităţi: sursa publică din el doar `software`, care în 2023 acoperă 45% din el. Relaţia n-ar fi o identitate, ar fi o inegalitate.",
"nota_identitate": "Verificat pe acest răspuns: rândul `total` e suma diviziunilor în 305 din 312 celule.",
"nota_alte_optici": "Aceeaşi investiţie, pe regiuni: /financiar/v1/conturi-regionale. Pe produse: /financiar/v1/intrari-iesiri/echilibru."
}
}
GEThttps://oneapi.ro/api/financiar/v1/capital-fix/investitii?caen=6201&de_la=2020
{
"data": {
"baza": "curente",
"descriere_baza": "Costuri de înlocuire curente — valorile anului, aşa cum au fost",
"unitate": "milioane lei",
"de_la": 2020,
"pana_la": 2023,
"filtre": {
"ramura": [
"62"
]
},
"ani": [
2020,
2021,
2022,
2023
],
"serii": [
{
"baza": "curente",
"ramura": "62",
"denumire_ramura": "Activitati de servicii in tehnologia informatiei",
"activ": "alte_cladiri",
"denumire_activ": "N112G Alte cladiri si constructii, brute",
"nivel_activ": "componenta",
"unitate": "milioane lei",
"valori": {
"2020": "489.2",
"2021": "573.7",
"2022": "586.2",
"2023": "1633.5"
}
}
],
"identitati": {
"toleranta": "0.5",
"ierarhie": {
"total": {
"identitate": "`total` = `constructii` + `masini` + `resurse_biologice` + `proprietate_intelectuala`",
"verificari": 4,
"inchise": 4
},
"constructii": {
"identitate": "`constructii` = `locuinte` + `alte_cladiri`",
"verificari": 4,
"inchise": 4
},
"masini": {
"identitate": "`masini` = `transport` + `tic` + `alte_masini`",
"nota": "La stoc, componentele astea sunt publicate doar pe rândul `total`, deci identitatea se poate rula numai acolo — 24 din 24. La investiţii, toate ramurile o au: 2.064 din 2.064.",
"verificari": 4,
"inchise": 4
},
"tic": {
"identitate": "`tic` = `hardware` + `telecomunicatii`",
"nota": "La stoc, componentele astea sunt publicate doar pe rândul `total`, deci identitatea se poate rula numai acolo — 24 din 24. La investiţii, toate ramurile o au: 2.064 din 2.064.",
"verificari": 4,
"inchise": 4
}
},
"nota_incomplet": "`proprietate_intelectuala` nu apare printre identităţi: sursa publică din el doar `software`, care în 2023 acoperă 45% din el. Relaţia n-ar fi o identitate, ar fi o inegalitate."
}
},
"meta": {
"sursa": "Institutul Naţional de Statistică — clasificarea încrucişată a formării brute de capital fix pe ramuri şi pe tipuri de active (TEMPO, matricile CON114A şi CON114B).",
"acoperire": {
"de_la": 2000,
"pana_la": 2023
},
"serii_returnate": 13,
"nota_ramuri": "Aici ramurile sunt 85 de diviziuni CAEN cu două cifre, nu cele 19 secţiuni de la stoc.",
"nota_incomplet": "`proprietate_intelectuala` nu apare printre identităţi: sursa publică din el doar `software`, care în 2023 acoperă 45% din el. Relaţia n-ar fi o identitate, ar fi o inegalitate.",
"nota_alte_optici": "Aceeaşi investiţie, pe regiuni: /financiar/v1/conturi-regionale. Pe produse: /financiar/v1/intrari-iesiri/echilibru.",
"caen": [
{
"cerut": "6201",
"versiune_cerut": "Rev.2",
"folosit": "62",
"nivel": "diviziune",
"denumire": "Activități de servicii în tehnologia informației",
"versiune_serie": "Rev.2",
"conversie": false,
"urcat": true
}
]
}
}
GEThttps://oneapi.ro/api/financiar/v1/capital-fix/investitii?de_la=2024-06-15
{
"data": null,
"meta": {
"de_la": 2024,
"pana_la": null,
"acoperire": {
"de_la": 2000,
"pana_la": 2023
},
"fara_date": "Intervalul cerut e în întregime în afara acoperirii (2000 → 2023).",
"fara_date_cod": "in_afara_acoperirii"
}
}
Error codes
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Missing or invalid token. |
| 403 | feature_indisponibil | financiar.indici is not in the current plan. |
| 404 | caen_nepublicat | Neither the code nor its parents are published in the series; detalii.disponibile lists the keys. grupare_nepublicata — the grouping is not in the series; the response lists them. |
| 422 | caen_inexistent | The code in caen exists in no CAEN revision; it is a bad FILTER value, hence 422, not 404. raspuns_prea_mare — more than 20,000 cells. Plus a base, asset, branch or year outside the expected form. caen and grupare sent together, caen_versiune without caen, or a code that is not CAEN-shaped. |
| 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": "caen_inexistent",
"mesaj": "The code in caen exists in no CAEN revision; it is a bad FILTER value, hence 422, not 404. raspuns_prea_mare — more than 20,000 cells. Plus a base, asset, branch or year outside the expected form. caen and grupare sent together, caen_versiune without caen, or a code that is not CAEN-shaped.",
"detalii": {
"baza": [
"The value sent does not satisfy the parameter rule."
]
}
}
}