Employees by form of ownership
Average number, the actual figure at year end, net earnings and gross earnings — by form of ownership, employee category and sex, across 68 NACE Rev. 2 activities, annually since 2000.
This is the „what kind of company" dimension that /financiar/v1/salariati does not have.
⚠️ Earnings are averages and are not additive — neither across forms of ownership nor across sexes. Measured, the identities would come out 0 of 2,967 and 0 of 3,629 respectively. Their series carry este_medie, and the identities are run only on the count measures.
⚠️ categorie is not a partition: it has only total and muncitori, and manual workers are a subset.
Query parameters
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
numar_mediu, efectiv, castig_net, castig_brut.
numar_mediuefectivcastig_netcastig_brut
total, privata, publica.
totalprivatapublica
total, muncitori. Not a partition.
totalmuncitori
total, masculin, feminin.
totalmasculinfeminin
C), division (62), group, class (6201) — from any revision. It is brought to the published section, division or range (CAEN Rev.2); what was used is in meta.caen.
e.g. K
total or the merged division ranges (02-03, 38-39, 59-60, 62-63). Not sent together with caen.
e.g. 02-03e.g. 38-39e.g. 59-60
How it behaves
- Average number of employees, year-end headcount, net earnings and gross earnings — 47,084 values, annually from 2000 to 2024, from TEMPO matrices
FOM104G,FOM105G,FOM106FandFOM107F. Four indicators × 3 forms of ownership × 2 employee categories × 3 sexes × 68 NACE Rev.2 activities. - This is the "what kind of firm" dimension that
/financiar/v1/salariatidoes not have — there the breakdown is by activity, county and sex. - ⚠️
castig_netandcastig_brutare AVERAGES and do not add up — neither across ownership forms nor across sexes. Measured: the identities yield 0 of 2,967 and 0 of 3,629 on earnings, while on the count measures they close entirely. The earnings series carryeste_medie, and the route does not run the identities on them. It is the same rule as at/financiar/v1/salariati. - ✅ On the count measures:
total=privata+publica— 2,967/2,967 for the average number and 2,959/2,959 for the headcount;total=masculin+feminin— 3,629/3,629 and 3,829/3,829. - ⚠️
categorieis NOT a partition. It holds onlytotalandmuncitori, and manual workers are a subset, not half the total. There is no identity there and the route does not invent one. - For the monthly headcount, without ownership:
/financiar/v1/salariati/lunar. - 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 private sector's share of employment in a branch, over a long series.
- The earnings gap between private and public, within the same activity.
- The earnings gap between women and men, by form of ownership.
- The share of manual workers in a branch's headcount.
Response structure
numar persoane for headcounts, lei for earnings.
data is null and this says why. The projection over the INS data is empty. As on the other series.
fara_date is prose and may be rephrased, this is not.
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.
caen_versiune, otherwise the first it exists in.
02-03).
sectiune, subsectiune, diviziune, grupa, clasa or agregat.
true when the code was translated from one revision to another through the official INS correspondence.
true when the series does not publish the requested code and a higher level was used.
Response examples
{
"data": {
"de_la": 2020,
"pana_la": 2023,
"filtre": {
"indicator": [
"castig_net"
]
},
"ani": [
2020,
2021,
2022,
2023
],
"serii": [
{
"indicator": "castig_net",
"unitate": "lei",
"este_medie": true,
"forma_proprietate": "privata",
"categorie": "total",
"sex": "feminin",
"caen": "01",
"forma_cod": "diviziune",
"activitate": "01 Agricultura, vanatoare si servicii anexe",
"valori": {
"2020": "2170",
"2021": "2305",
"2022": "3020",
"2023": "3480"
}
}
],
"identitati": {
"toleranta": "0.5",
"nota_medii": "⚠️ `castig_net` şi `castig_brut` sunt MEDII şi nu se adună: nici pe forme de proprietate, nici pe sexe. Măsurat, identităţile ar ieşi 0 din 2.967, respectiv 0 din 3.629. Seriile lor poartă `este_medie`.",
"nota_categorii": "⚠️ `categorie` nu e o partiţie: are doar `total` şi `muncitori`, iar muncitorii sunt un subset. Nu există identitate acolo."
}
},
"meta": {
"sursa": "Institutul Naţional de Statistică — salariaţii şi câştigurile pe categorii, forme de proprietate şi activităţi (TEMPO, matricile FOM104G, FOM105G, FOM106F şi FOM107F).",
"acoperire": {
"de_la": 2000,
"pana_la": 2024
},
"serii_returnate": 583,
"nota_medii": "⚠️ `castig_net` şi `castig_brut` sunt MEDII şi nu se adună: nici pe forme de proprietate, nici pe sexe. Măsurat, identităţile ar ieşi 0 din 2.967, respectiv 0 din 3.629. Seriile lor poartă `este_medie`.",
"nota_categorii": "⚠️ `categorie` nu e o partiţie: are doar `total` şi `muncitori`, iar muncitorii sunt un subset. Nu există identitate acolo.",
"nota_judete": "Aceiaşi salariaţi pe judeţe şi sexe, fără forme de proprietate: /financiar/v1/salariati."
}
}
{
"data": {
"de_la": 2020,
"pana_la": 2024,
"filtre": {
"caen": [
"K"
]
},
"ani": [
2020,
2021,
2022,
2023,
2024
],
"serii": [
{
"indicator": "castig_brut",
"unitate": "lei",
"este_medie": true,
"forma_proprietate": "privata",
"categorie": "total",
"sex": "feminin",
"caen": "K",
"forma_cod": "sectiune",
"activitate": "K INTERMEDIERI FINANCIARE SI ASIGURARI",
"valori": {
"2020": "7795",
"2021": "8114",
"2022": "9377",
"2023": "10918",
"2024": "12001"
}
}
],
"identitati": {
"toleranta": "0.5",
"forme_proprietate": {
"verificari": 30,
"inchise": 30,
"identitate": "`total` = `privata` + `publica`",
"nota": "Verificat pe toată proiecţia, doar pe măsurile-număr: 2.967/2.967 la numărul mediu şi 2.959/2.959 la efectiv."
},
"sexe": {
"verificari": 30,
"inchise": 30,
"identitate": "`total` = `masculin` + `feminin`",
"nota": "Verificat pe toată proiecţia, doar pe măsurile-număr: 3.629/3.629 şi 3.829/3.829."
},
"nota_medii": "⚠️ `castig_net` şi `castig_brut` sunt MEDII şi nu se adună: nici pe forme de proprietate, nici pe sexe. Măsurat, identităţile ar ieşi 0 din 2.967, respectiv 0 din 3.629. Seriile lor poartă `este_medie`.",
"nota_categorii": "⚠️ `categorie` nu e o partiţie: are doar `total` şi `muncitori`, iar muncitorii sunt un subset. Nu există identitate acolo."
}
},
"meta": {
"sursa": "Institutul Naţional de Statistică — salariaţii şi câştigurile pe categorii, forme de proprietate şi activităţi (TEMPO, matricile FOM104G, FOM105G, FOM106F şi FOM107F).",
"acoperire": {
"de_la": 2000,
"pana_la": 2024
},
"serii_returnate": 36,
"nota_medii": "⚠️ `castig_net` şi `castig_brut` sunt MEDII şi nu se adună: nici pe forme de proprietate, nici pe sexe. Măsurat, identităţile ar ieşi 0 din 2.967, respectiv 0 din 3.629. Seriile lor poartă `este_medie`.",
"nota_categorii": "⚠️ `categorie` nu e o partiţie: are doar `total` şi `muncitori`, iar muncitorii sunt un subset. Nu există identitate acolo.",
"nota_identitate": "Verificat pe acest răspuns: totalul e suma celor două forme de proprietate în 30 din 30 celule.",
"nota_judete": "Aceiaşi salariaţi pe judeţe şi sexe, fără forme de proprietate: /financiar/v1/salariati.",
"caen": [
{
"cerut": "K",
"versiune_cerut": "Rev.2",
"folosit": "K",
"nivel": "sectiune",
"denumire": "INTERMEDIERI FINANCIARE ŞI ASIGURARI",
"versiune_serie": "Rev.2",
"conversie": false,
"urcat": false
}
]
}
}
{
"data": {
"de_la": 2024,
"pana_la": 2024,
"filtre": [],
"ani": [
2024
],
"serii": [
{
"indicator": "castig_brut",
"unitate": "lei",
"este_medie": true,
"forma_proprietate": "privata",
"categorie": "total",
"sex": "feminin",
"caen": "01",
"forma_cod": "diviziune",
"activitate": "01 Agricultura, vanatoare si servicii anexe",
"valori": {
"2024": "5544"
}
}
],
"identitati": {
"toleranta": "0.5",
"forme_proprietate": {
"verificari": 337,
"inchise": 337,
"identitate": "`total` = `privata` + `publica`",
"nota": "Verificat pe toată proiecţia, doar pe măsurile-număr: 2.967/2.967 la numărul mediu şi 2.959/2.959 la efectiv."
},
"sexe": {
"verificari": 383,
"inchise": 383,
"identitate": "`total` = `masculin` + `feminin`",
"nota": "Verificat pe toată proiecţia, doar pe măsurile-număr: 3.629/3.629 şi 3.829/3.829."
},
"nota_medii": "⚠️ `castig_net` şi `castig_brut` sunt MEDII şi nu se adună: nici pe forme de proprietate, nici pe sexe. Măsurat, identităţile ar ieşi 0 din 2.967, respectiv 0 din 3.629. Seriile lor poartă `este_medie`.",
"nota_categorii": "⚠️ `categorie` nu e o partiţie: are doar `total` şi `muncitori`, iar muncitorii sunt un subset. Nu există identitate acolo."
}
},
"meta": {
"sursa": "Institutul Naţional de Statistică — salariaţii şi câştigurile pe categorii, forme de proprietate şi activităţi (TEMPO, matricile FOM104G, FOM105G, FOM106F şi FOM107F).",
"acoperire": {
"de_la": 2000,
"pana_la": 2024
},
"serii_returnate": 2309,
"nota_medii": "⚠️ `castig_net` şi `castig_brut` sunt MEDII şi nu se adună: nici pe forme de proprietate, nici pe sexe. Măsurat, identităţile ar ieşi 0 din 2.967, respectiv 0 din 3.629. Seriile lor poartă `este_medie`.",
"nota_categorii": "⚠️ `categorie` nu e o partiţie: are doar `total` şi `muncitori`, iar muncitorii sunt un subset. Nu există identitate acolo.",
"nota_identitate": "Verificat pe acest răspuns: totalul e suma celor două forme de proprietate în 337 din 337 celule.",
"nota_judete": "Aceiaşi salariaţi pe judeţe şi sexe, fără forme de proprietate: /financiar/v1/salariati."
}
}
{
"data": {
"de_la": 2000,
"pana_la": 2024,
"filtre": {
"indicator": [
"numar_mediu"
]
},
"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,
2024
],
"serii": [
{
"indicator": "numar_mediu",
"unitate": "numar persoane",
"forma_proprietate": "privata",
"categorie": "total",
"sex": "feminin",
"caen": "01",
"forma_cod": "diviziune",
"activitate": "01 Agricultura, vanatoare si servicii anexe",
"valori": {
"2000": null,
"2001": null,
"2002": null,
"2003": null,
"2004": null,
"2005": null,
"2006": null,
"2007": null,
"2008": "20056",
"2009": "19216",
"2010": "15377",
"2011": "15611",
"2012": "18416",
"2013": "17419",
"2014": "17702",
"2015": "18911",
"2016": "20194",
"2017": "20782",
"2018": "20029",
"2019": "22386",
"2020": "21168",
"2021": "21790",
"2022": "21407",
"2023": "22242",
"2024": "23581"
}
}
],
"identitati": {
"toleranta": "0.5",
"forme_proprietate": {
"verificari": 2967,
"inchise": 2967,
"identitate": "`total` = `privata` + `publica`",
"nota": "Verificat pe toată proiecţia, doar pe măsurile-număr: 2.967/2.967 la numărul mediu şi 2.959/2.959 la efectiv."
},
"sexe": {
"verificari": 3629,
"inchise": 3629,
"identitate": "`total` = `masculin` + `feminin`",
"nota": "Verificat pe toată proiecţia, doar pe măsurile-număr: 3.629/3.629 şi 3.829/3.829."
},
"nota_medii": "⚠️ `castig_net` şi `castig_brut` sunt MEDII şi nu se adună: nici pe forme de proprietate, nici pe sexe. Măsurat, identităţile ar ieşi 0 din 2.967, respectiv 0 din 3.629. Seriile lor poartă `este_medie`.",
"nota_categorii": "⚠️ `categorie` nu e o partiţie: are doar `total` şi `muncitori`, iar muncitorii sunt un subset. Nu există identitate acolo."
}
},
"meta": {
"sursa": "Institutul Naţional de Statistică — salariaţii şi câştigurile pe categorii, forme de proprietate şi activităţi (TEMPO, matricile FOM104G, FOM105G, FOM106F şi FOM107F).",
"acoperire": {
"de_la": 2000,
"pana_la": 2024
},
"serii_returnate": 671,
"nota_medii": "⚠️ `castig_net` şi `castig_brut` sunt MEDII şi nu se adună: nici pe forme de proprietate, nici pe sexe. Măsurat, identităţile ar ieşi 0 din 2.967, respectiv 0 din 3.629. Seriile lor poartă `este_medie`.",
"nota_categorii": "⚠️ `categorie` nu e o partiţie: are doar `total` şi `muncitori`, iar muncitorii sunt un subset. Nu există identitate acolo.",
"nota_identitate": "Verificat pe acest răspuns: totalul e suma celor două forme de proprietate în 2967 din 2967 celule.",
"nota_judete": "Aceiaşi salariaţi pe judeţe şi sexe, fără forme de proprietate: /financiar/v1/salariati."
}
}
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 an indicator, form, category, sex, code or year outside the expected shape. 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 an indicator, form, category, sex, code or year outside the expected shape. caen and grupare sent together, caen_versiune without caen, or a code that is not CAEN-shaped.",
"detalii": {
"de_la": [
"The value sent does not satisfy the parameter rule."
]
}
}
}