The integrated economic accounts
The complete sequence of national accounts, annually since 1995: production, generation of income, entrepreneurial income, allocation of primary income, secondary distribution, redistribution in kind, use of disposable income and of adjusted disposable income, changes in net worth, acquisitions of non-financial assets and the external account of goods and services.
Against /conturi-sectoare, which is quarterly, here there are 221 operations instead of 81, and non-profit institutions have a column of their own. The source additionally publishes the balancing column bunuri_servicii and a total across everything.
⚠️ The ESA code is not a key. Within the same account there can be two rows with the same code and different meanings; a series' key is (account, code, name). Thirteen rows have no code at all.
⚠️ The source publishes a full rectangle, but most cells are empty: 2,798 of the 4,086 series are zero in all 31 years, because the operation does not exist on that side or in that column. The route leaves them out and says how many, and zerouri=include brings them back.
Query parameters
exclude (default) or include. With include the empty cells of the rectangle come out too.
excludeinclude
cod, the production account is returned.
productieexploatarevenit_intreprinderealocare_venituri_primarealocare_alte_venituri_primaredistribuire_secundararedistribuire_in_naturautilizare_venit_disponibilutilizare_venit_disponibil_ajustatvariatii_valoare_netaachizitii_active_nefinanciareexterior_bunuri_servicii
B1g, D1, P2 or D441.
e.g. CJ
economia_totala (default), societati_nefinanciare, societati_financiare, administratii_publice, gospodarii, ifslsgp, restul_lumii, bunuri_servicii, total.
totaleconomia_totalasocietati_nefinanciaresocietati_financiareadministratii_publicegospodariiifslsgprestul_lumiibunuri_servicii
resurse, utilizari or both.
resurseutilizari
How it behaves
- The table of integrated economic accounts (ESA 2010) at current prices — annually from 1995 to 2025, 31 years, 126,666 values from TEMPO matrix
CON102D. 221 operations × 9 sector columns × 2 sides, all in millions of lei. - It is the whole sequence of national accounts, in the order in which each starts from the balance of the one before it: production, generation of income, entrepreneurial income, allocation of primary income (and of other primary income), secondary distribution, redistribution in kind, use of disposable income and of adjusted disposable income, changes in net worth, acquisition of non-financial assets, and the external account of goods and services.
- Read it alongside
/financiar/v1/conturi-sectoare, which is quarterly. That route carries 81 transactions since 1999; this one carries 221 since 1995, plus three columns the quarterly series does not have: non-profit institutions (ifslsgp) separate from households, the balancing columnbunuri_servicii, and atotalacross all of them. - ⚠️ The ESA code is not a key. In 8 of 208 (account, code) pairs the source publishes several rows:
D44appears twice in the same account, once as "Alte venituri din investitii" and once as "Venituri din proprietate atribuite asiguratilor". A series is keyed by (account, code, name). Thirteen rows carry no code at all — theD29detail lines and the external trade balance. - ⚠️ The source publishes a full rectangle, but most of its cells are empty. Of 4,086 series, 2,798 are zero across all 31 years: GDP has no resources side, production has no rest-of-the-world column. The route leaves them out and always says how many it left out;
zerouri=includebrings them back. For the same reason, 26 of the 221 operations never appear in the catalogue — SIFIM adjustments, imputed contributions, subsidies on imports: rows the source carries but never fills. - What is checked on every request, with a tolerance of 0.5 million derived from the published decimal:
economia_totala= the sum of the five internal sectors — 13,576 of 13,702 cells across the whole projection;total= the total economy + the rest of the world + the goods and services account — 13,669 of 13,702, and without the goods-and-services column it would fall to 12,979, so that column is not decoration; andB1*g=B1g+D21-D31in the production account — 31 of 31 years, zero deviation. - ⚠️ The 126 misses of the first identity are structural, not errors.
B1*g Produsul intern bruton the uses side andD21-D31 Impozite − Subventii pe produseon both sides miss in all 31 years: they are not allocated to sectors, exactly asD2/D3in the quarterly series. The response names them inidentitati.economia_totala.operatiuni_care_nu_se_inchidrather than hiding them. - ⚠️
B8g Economia brutain the changes-in-net-worth account breaks at 2007. Measured year by year: the identity closes exactly, with zero deviation, from 1995 through 2006 — and stops closing from 2007 onward, with gaps of up to 65,019.4 million. It is a methodological break, not noise. - ⚠️
D441,D442andD443are published three times each, under the same name. We measured what that means: the first occurrence is the total, the second and third are its breakdown —1 = 2 + 3closes 1,674 of 1,674. The series carryvariantaandrol_varianta(totalorcomponenta) precisely so they are not added together. - Without
contand withoutcod, the response stops at the production account, the first in the sequence, and says so inmeta. The ceiling is on cells: at most 20,000 (series × years), counted over everything that is read — the empty cells are read regardless, because the identities need them as zeros.
What it is for
- Following a flow through the whole sequence: how value added reaches household disposable income.
- The sector structure of an ESA operation, over a long series since 1995.
- Separating non-profit institutions from households — impossible on the quarterly series.
- Checking your own computation against the identities the source actually respects.
Response structure
total or componenta — measured, not assumed.
zerouri=include: the series is zero in every year, an empty cell of the table.
data is null and this says why. The projection over the INS data is empty. The operation is not published; the list is at /conturi-integrate/operatiuni. The filters hit only series that are zero in every year; zerouri=include shows them as they are. As on the other series.
fara_date is prose and may be rephrased, this is not.
Response examples
{
"data": {
"unitate": "milioane lei",
"de_la": 1995,
"pana_la": 2025,
"filtre": {
"cont": [
"productie"
],
"sector": [
"economia_totala"
]
},
"ani": [
1995,
1996,
1997,
1998,
1999,
2000,
2001,
2002,
2003,
2004,
2005,
2006,
2007,
2008,
2009,
2010,
2011,
2012,
2013,
2014,
2015,
2016,
2017,
2018,
2019,
2020,
2021,
2022,
2023,
2024,
2025
],
"serii": [
{
"cont": "productie",
"denumire_cont": "I. Contul de producţie",
"cod": "B1*g",
"denumire": "Produsul intern brut",
"sector": "economia_totala",
"denumire_sector": "Economia totala",
"latura": "utilizari",
"unitate": "milioane lei",
"ani_publicati": 31,
"valori": {
"1995": "7610.6",
"1996": "11387.7",
"1997": "25500.1",
"1998": "37007.7",
"1999": "55126.4",
"2000": "80873.1",
"2001": "117391.4",
"2002": "152271.5",
"2003": "191917.6",
"2004": "244688.3",
"2005": "286861.9",
"2006": "342762.6",
"2007": "425691.1",
"2008": "539831.4",
"2009": "530919.6",
"2010": "540447.5",
"2011": "587235",
"2012": "621214.7",
"2013": "631634",
"2014": "668905",
"2015": "712548.6",
"2016": "752129.1",
"2017": "851620.6",
"2018": "953049.2",
"2019": "1059822.1",
"2020": "1063650.7",
"2021": "1186015.4",
"2022": "1384597.8",
"2023": "1590749.4",
"2024": "1759183.3",
"2025": "1916404.9"
}
}
],
"identitati": {
"toleranta": "0.5",
"economia_totala": {
"identitate": "`economia_totala` = suma celor cinci sectoare interne",
"nota": "Aici instituţiile fără scop lucrativ (`ifslsgp`) au coloană proprie — în seria trimestrială sunt topite în gospodării. Verificat pe toată proiecţia: se închide în 13.576 din 13.702 de celule."
},
"total": {
"identitate": "`total` = `economia_totala` + `restul_lumii` + `bunuri_servicii`",
"nota": "Coloana de bunuri şi servicii nu e decor: fără ea identitatea scade de la 13.669 din 13.702 la 12.979."
},
"productie": {
"identitate": "`B1*g` = `B1g` + `D21-D31`, la utilizări",
"nota": "Produsul intern brut e valoarea adăugată brută plus impozitele minus subvenţiile pe produse. Verificat pe toată proiecţia: 31 din 31 de ani, abatere zero. PIB-ul e publicat doar pe coloanele `economia_totala` şi `total`.",
"verificari": 31,
"inchise": 31
}
}
},
"meta": {
"sursa": "Institutul Naţional de Statistică — tabelul conturilor economice integrate (TEMPO, matricea CON102D).",
"acoperire": {
"de_la": 1995,
"pana_la": 2025
},
"serii_returnate": 11,
"nota_implicit": "Fără `cont` şi fără `cod`, răspunsul se opreşte la contul de producţie — primul din secvenţă. Restul conturilor sunt la /financiar/v1/conturi-integrate/operatiuni.",
"nota_cheie": "Cheia unei serii e (cont, cod, denumire): acelaşi cod poate desemna două rânduri diferite în acelaşi cont.",
"nota_sectoare": "Instituţiile fără scop lucrativ (`ifslsgp`) au coloană proprie aici; în seria trimestrială de la /financiar/v1/conturi-sectoare sunt topite în gospodării.",
"nota_casete_goale": "9 serii au rămas afară: sunt zero în toţi anii publicaţi — casetele goale ale dreptunghiului, nu observaţii. Cu `zerouri=include` intră şi ele.",
"nota_trimestrial": "Pentru aceleaşi conturi pe trimestre, din 1999: /financiar/v1/conturi-sectoare."
}
}
{
"data": {
"unitate": "milioane lei",
"de_la": 2024,
"pana_la": 2025,
"filtre": {
"cont": [
"productie"
],
"sector": [
"economia_totala"
]
},
"ani": [
2024,
2025
],
"serii": [
{
"cont": "productie",
"denumire_cont": "I. Contul de producţie",
"cod": "B1*g",
"denumire": "Produsul intern brut",
"sector": "economia_totala",
"denumire_sector": "Economia totala",
"latura": "utilizari",
"unitate": "milioane lei",
"ani_publicati": 2,
"valori": {
"2024": "1759183.3",
"2025": "1916404.9"
}
}
],
"identitati": {
"toleranta": "0.5",
"economia_totala": {
"identitate": "`economia_totala` = suma celor cinci sectoare interne",
"nota": "Aici instituţiile fără scop lucrativ (`ifslsgp`) au coloană proprie — în seria trimestrială sunt topite în gospodării. Verificat pe toată proiecţia: se închide în 13.576 din 13.702 de celule."
},
"total": {
"identitate": "`total` = `economia_totala` + `restul_lumii` + `bunuri_servicii`",
"nota": "Coloana de bunuri şi servicii nu e decor: fără ea identitatea scade de la 13.669 din 13.702 la 12.979."
},
"productie": {
"identitate": "`B1*g` = `B1g` + `D21-D31`, la utilizări",
"nota": "Produsul intern brut e valoarea adăugată brută plus impozitele minus subvenţiile pe produse. Verificat pe toată proiecţia: 31 din 31 de ani, abatere zero. PIB-ul e publicat doar pe coloanele `economia_totala` şi `total`.",
"verificari": 2,
"inchise": 2
}
}
},
"meta": {
"sursa": "Institutul Naţional de Statistică — tabelul conturilor economice integrate (TEMPO, matricea CON102D).",
"acoperire": {
"de_la": 1995,
"pana_la": 2025
},
"serii_returnate": 11,
"nota_implicit": "Fără `cont` şi fără `cod`, răspunsul se opreşte la contul de producţie — primul din secvenţă. Restul conturilor sunt la /financiar/v1/conturi-integrate/operatiuni.",
"nota_cheie": "Cheia unei serii e (cont, cod, denumire): acelaşi cod poate desemna două rânduri diferite în acelaşi cont.",
"nota_sectoare": "Instituţiile fără scop lucrativ (`ifslsgp`) au coloană proprie aici; în seria trimestrială de la /financiar/v1/conturi-sectoare sunt topite în gospodării.",
"nota_casete_goale": "9 serii au rămas afară: sunt zero în toţi anii publicaţi — casetele goale ale dreptunghiului, nu observaţii. Cu `zerouri=include` intră şi ele.",
"nota_trimestrial": "Pentru aceleaşi conturi pe trimestre, din 1999: /financiar/v1/conturi-sectoare."
}
}
{
"data": null,
"meta": {
"cod": "CJ",
"nota": "Codurile sunt cele ESA, ca `B1g`, `D1`, `P2` ori `D441`. Lista completă, grupată pe cont, e la /financiar/v1/conturi-integrate/operatiuni.",
"fara_date": "Operaţiunea [CJ] nu e publicată în acest tabel. Codurile sunt cele ESA, ca `B1g`, `D1`, `P2` ori `D441`. Lista completă, grupată pe cont, e la /financiar/v1/conturi-integrate/operatiuni.",
"fara_date_cod": "cod_negasit"
}
}
{
"data": {
"unitate": "milioane lei",
"de_la": 1995,
"pana_la": 2024,
"filtre": {
"cont": [
"productie"
],
"sector": [
"economia_totala"
]
},
"ani": [
1995,
1996,
1997,
1998,
1999,
2000,
2001,
2002,
2003,
2004,
2005,
2006,
2007,
2008,
2009,
2010,
2011,
2012,
2013,
2014,
2015,
2016,
2017,
2018,
2019,
2020,
2021,
2022,
2023,
2024
],
"serii": [
{
"cont": "productie",
"denumire_cont": "I. Contul de producţie",
"cod": "B1*g",
"denumire": "Produsul intern brut",
"sector": "economia_totala",
"denumire_sector": "Economia totala",
"latura": "utilizari",
"unitate": "milioane lei",
"ani_publicati": 30,
"valori": {
"1995": "7610.6",
"1996": "11387.7",
"1997": "25500.1",
"1998": "37007.7",
"1999": "55126.4",
"2000": "80873.1",
"2001": "117391.4",
"2002": "152271.5",
"2003": "191917.6",
"2004": "244688.3",
"2005": "286861.9",
"2006": "342762.6",
"2007": "425691.1",
"2008": "539831.4",
"2009": "530919.6",
"2010": "540447.5",
"2011": "587235",
"2012": "621214.7",
"2013": "631634",
"2014": "668905",
"2015": "712548.6",
"2016": "752129.1",
"2017": "851620.6",
"2018": "953049.2",
"2019": "1059822.1",
"2020": "1063650.7",
"2021": "1186015.4",
"2022": "1384597.8",
"2023": "1590749.4",
"2024": "1759183.3"
}
}
],
"identitati": {
"toleranta": "0.5",
"economia_totala": {
"identitate": "`economia_totala` = suma celor cinci sectoare interne",
"nota": "Aici instituţiile fără scop lucrativ (`ifslsgp`) au coloană proprie — în seria trimestrială sunt topite în gospodării. Verificat pe toată proiecţia: se închide în 13.576 din 13.702 de celule."
},
"total": {
"identitate": "`total` = `economia_totala` + `restul_lumii` + `bunuri_servicii`",
"nota": "Coloana de bunuri şi servicii nu e decor: fără ea identitatea scade de la 13.669 din 13.702 la 12.979."
},
"productie": {
"identitate": "`B1*g` = `B1g` + `D21-D31`, la utilizări",
"nota": "Produsul intern brut e valoarea adăugată brută plus impozitele minus subvenţiile pe produse. Verificat pe toată proiecţia: 31 din 31 de ani, abatere zero. PIB-ul e publicat doar pe coloanele `economia_totala` şi `total`.",
"verificari": 30,
"inchise": 30
}
}
},
"meta": {
"sursa": "Institutul Naţional de Statistică — tabelul conturilor economice integrate (TEMPO, matricea CON102D).",
"acoperire": {
"de_la": 1995,
"pana_la": 2025
},
"serii_returnate": 11,
"nota_implicit": "Fără `cont` şi fără `cod`, răspunsul se opreşte la contul de producţie — primul din secvenţă. Restul conturilor sunt la /financiar/v1/conturi-integrate/operatiuni.",
"nota_cheie": "Cheia unei serii e (cont, cod, denumire): acelaşi cod poate desemna două rânduri diferite în acelaşi cont.",
"nota_sectoare": "Instituţiile fără scop lucrativ (`ifslsgp`) au coloană proprie aici; în seria trimestrială de la /financiar/v1/conturi-sectoare sunt topite în gospodării.",
"nota_casete_goale": "9 serii au rămas afară: sunt zero în toţi anii publicaţi — casetele goale ale dreptunghiului, nu observaţii. Cu `zerouri=include` intră şi ele.",
"nota_trimestrial": "Pentru aceleaşi conturi pe trimestre, din 1999: /financiar/v1/conturi-sectoare."
}
}
Error codes
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Missing or invalid token. |
| 403 | feature_indisponibil | financiar.indici is not in the current plan. |
| 422 | raspuns_prea_mare | The request would return more than 20,000 cells; the response states how many series and how many years that was. Plus an account, code, sector, side or year outside the expected form. |
| 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": "raspuns_prea_mare",
"mesaj": "The request would return more than 20,000 cells; the response states how many series and how many years that was. Plus an account, code, sector, side or year outside the expected form.",
"detalii": {
"de_la": [
"The value sent does not satisfy the parameter rule."
]
}
}
}