Active enterprises and local units
How many enterprises and how many active local units each NACE activity has, by year, by size class and — unlike the indicators route — down to county level.
These are two concepts, not one. An enterprise is the legal unit; a local unit is the premises it operates from. One enterprise can have several local units, so the number of units is larger: in 2024, 724,228 enterprises and 740,671 local units. tip picks between them, and their figures are not additive.
The geography is asymmetric. Local units have the county at every NACE level; enterprises only at section level. A request combining teritoriu with a finer level on tip=intreprinderi gets geografie_indisponibila, because the source does not publish that cell.
There are four size classes, not five. Here the middle band is merged into 10-49, whereas /financiar/v1/intreprinderi/indicatori has 10-19 and 20-49 separately. The classes of the two routes do not line up.
The two classifications do not join. Rev. 1 covers 1997–2008, Rev. 2 covers 2008–2024, and Rev. 1 has one extra level, the subsection. We do not splice the series: versiune picks one.
The activity total comes from several tables. Each of the source's tables — one per NACE level — publishes its own total. Measured across the whole series, the figures coincide in 51 of 53 year × type × classification combinations, and where they coincide we give them as a single series, with niveluri_sursa. ⚠️ In the two exceptions we keep them separate and report them in identitati.totaluri_divergente: in 2001, the subsection gives 318,370 enterprises against 320,929 at the other levels, a difference of 2,559; in 1999, the section differs by one unit.
The NACE hierarchy is not checked here, because the source suppresses cells with too few firms. What is checked is the size class: the total is the exact sum of the four components in 168,512 of 168,551 cells; the 39 deviations are of at most 7 units and fall in both directions.
Query parameters
intreprinderi (default) or unitati_locale.
intreprinderiunitati_locale
rev2 (default, 2008 → present) or rev1 (1997–2008).
rev1rev2
sectiune, subsectiune (Rev.1 only), diviziune, grupa, clasa. Without caen, every code at that level; with caen, the rows at that level under the code.
sectiunesubsectiunediviziunegrupaclasa
TOTAL.
max 80 car.
tara (default), macroregiune, regiune, judet — returns every territory at that level.
taramacroregiuneregiunejudet
C), division (62), group, class (6201) — from any revision. It is brought to the finest level published in versiune (section, Rev.1 subsection, division, group, class); what was used is in meta.caen. With nivel below the code's level, it returns the rows at nivel under it (caen=C&nivel=diviziune); a nivel above the code is nivel_peste_caen.
e.g. Je.g. 62
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
total (published at every level; nivel picks the table). Not sent together with caen.
e.g. total
total (default), 0-9, 10-49, 50-249, 250+, comma-separated.
total0-910-4950-249250+
How it behaves
- The number of active enterprises and local units, by CAEN activity, size class and territory, annually from 1997 (Rev.1) and from 2008 (Rev.2). 3.27 million values drawn from eighteen TEMPO tables in the
INT101family. - These are two concepts, not one. An enterprise is the legal unit; a local unit is the site at which it operates. A firm with three sites is one enterprise and three local units. In 2024: 724,228 enterprises and 740,671 local units — 1.02 units per firm.
tippicks between them; their figures are never added together. - This is the counting half of
/intreprinderi/indicatori. That route holds the money — turnover, investment, wages; this one holds the firms that earn it, and only this one goes down to the county. - The geography is asymmetric, and that is the source's decision, not ours. Local units carry the territory on all four CAEN levels; enterprises only at section level. A request combining
teritoriuwith a finer level ontip=intreprinderigetsgeografie_indisponibilawith the reason, rather than an empty answer. The 55 territories are the 41 counties plus Bucharest, the 8 development regions, the 4 macroregions and the country. - What the data shows: in 2024 the local units in custom software development (class 6201) number 6,517 in Bucharest, 3,442 in Cluj, 1,545 in Iaşi and 1,441 in Timiş — Cluj holds half of Bucharest, while Iaşi and Timiş each hold a quarter of Cluj.
- ⚠️ The size classes are NOT the same as on
/intreprinderi/indicatori. Here there are four components —0-9,10-49,50-249,250+— whereas there the middle band is split into10-19and20-49. The two routes cannot be matched class by class; on the total, they can. - ✅ The size classes add up. Measured across the whole projection: the total is the exact sum of the four in 168,512 of 168,551 verifiable cells. The 39 deviations are at most 7 units, nearly all in 2003 on Rev.1 local units, and they fall in both directions — the signature of a publishing error rather than of statistical suppression, which would run one way only. The identity runs on every request and is reported in
identitati. - ⚠️
caen=totalis published by several tables at once, one per CAEN level. Measured, the figures agree in 51 of 53 year × type × classification combinations; where they agree the route returns a single series and lists the supporting tables inniveluri_sursa. In the two exceptions it keeps them apart and reports them inidentitati.totaluri_divergente: in 2001 the subsection level gives 318,370 enterprises against 320,929 at the other levels — a difference of 2,559 — and in 1999 the section level differs by one unit. - ⚠️ The CAEN hierarchy is not verified here, for the same reason as on the indicators route: the source suppresses cells with too few firms, so that none can be identified, which makes the children's sum fall below the parent without any figure being wrong.
- The two classifications do not join up. Rev.1 covers 1997–2008 with 13 sections and an extra level, the subsection (28 codes, which Rev.2 no longer has); Rev.2 covers 2008–2024 with 18 sections, 82 divisions, 258 groups and 588 classes.
versiunepicks one — the route never splices the 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 density of a sector across counties: where the firms of an activity are, and how large.
- How many large firms an activity has — the denominator for any per-firm average from the indicators route.
- The path of firm counts in a field, as a signal of entry into or exit from the market.
Response structure
intreprinderi or unitati_locale — two different concepts, never summed.
total when the figure is the grand total, supported by several tables.
tara, macroregiune, regiune or judet — the levels do not add together.
null, not zero.
data is null and this says why. The projection over the INS data is empty. The name does not appear in the published series; the full list comes back in the response. 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": {
"tip": "intreprinderi",
"versiune_caen": "rev2",
"unitate": "numar",
"de_la": 2020,
"pana_la": 2023,
"filtre": {
"nivel": "sectiune",
"nivel_teritoriu": "tara"
},
"ani": [
2020,
2021,
2022,
2023
],
"serii": [
{
"caen": "A",
"nivel": "sectiune",
"denumire": "A Agricultura, silvicultura si pescuit",
"teritoriu": "TOTAL",
"nivel_teritoriu": "tara",
"marime": "total",
"ani_publicati": 4,
"valori": {
"2020": "19995",
"2021": "20580",
"2022": "20706",
"2023": "21552"
}
}
],
"identitati": {
"identitate": "clasa de mărime `total` = suma celor patru clase (0-9, 10-49, 50-249, 250+)",
"nota_identitate": "Măsurat pe toată proiecţia, identitatea se închide în 168.512 din 168.551 de celule verificabile. Cele 39 de abateri sunt de cel mult 7 unităţi, aproape toate în 2003 pe unităţi locale Rev.1, şi cad în ambele direcţii — semnătura unei erori de publicare, nu a suprimării statistice.",
"nota_marimi": "Aici sunt PATRU componente, nu cinci ca la /financiar/v1/intreprinderi/indicatori: banda de mijloc e comasată în `10-49`. Cifrele celor două rute nu se pun cap la cap pe clase de mărime.",
"nota_total": "Totalul pe activităţi (`caen=total`) e publicat separat de fiecare tabel al sursei, câte unul pe nivel CAEN. Măsurat pe toată seria, cifrele coincid în 51 din 53 de combinaţii an × tip × clasificare; unde coincid le dăm o singură serie, cu `niveluri_sursa`. Excepţiile: în 2001 subsecţiunea dă 318.370 întreprinderi faţă de 320.929 la celelalte niveluri, iar în 1999 secţiunea diferă cu o unitate.",
"verificari": 72,
"inchise": 72,
"abatere_maxima": "0"
}
},
"meta": {
"sursa": "Institutul Naţional de Statistică — întreprinderi şi unităţi locale active (TEMPO, familia INT101).",
"acoperire": {
"de_la": 2008,
"pana_la": 2024
},
"serii_returnate": 19,
"nota_tip": "O întreprindere e unitatea juridică, o unitate locală e sediul în care ea lucrează; o întreprindere poate avea mai multe unităţi locale. Cifrele celor două nu se adună.",
"nota_geografie": "Nivelul cerut are date pe teritorii. Fără `teritoriu` sau `nivel_teritoriu` se întoarce doar ţara.",
"nota_marimi": "Aici sunt PATRU componente, nu cinci ca la /financiar/v1/intreprinderi/indicatori: banda de mijloc e comasată în `10-49`. Cifrele celor două rute nu se pun cap la cap pe clase de mărime.",
"nota_total": "Totalul pe activităţi (`caen=total`) e publicat separat de fiecare tabel al sursei, câte unul pe nivel CAEN. Măsurat pe toată seria, cifrele coincid în 51 din 53 de combinaţii an × tip × clasificare; unde coincid le dăm o singură serie, cu `niveluri_sursa`. Excepţiile: în 2001 subsecţiunea dă 318.370 întreprinderi faţă de 320.929 la celelalte niveluri, iar în 1999 secţiunea diferă cu o unitate.",
"nota_versiune": "Rev.1 acoperă 1997–2008 şi are subsecţiuni; Rev.2 acoperă 2008–2024 şi nu are. Seriile nu se leagă cap la cap.",
"nota_identitate": "Verificat: totalul pe clase de mărime e suma celor patru componente, 72 din 72 verificări în acest răspuns.",
"nota_fereastra": "Fereastra e 30 ani pentru o singură activitate într-un singur teritoriu şi 5 ani când răspunsul acoperă o listă."
}
}
{
"data": {
"tip": "intreprinderi",
"versiune_caen": "rev2",
"unitate": "numar",
"de_la": 2023,
"pana_la": 2023,
"filtre": {
"nivel": "sectiune",
"caen": "J",
"nivel_teritoriu": "judet"
},
"ani": [
2023
],
"serii": [
{
"caen": "J",
"nivel": "sectiune",
"denumire": "J Informatii si comunicatii",
"teritoriu": "Alba",
"nivel_teritoriu": "judet",
"marime": "total",
"ani_publicati": 1,
"valori": {
"2023": "384"
}
}
],
"identitati": {
"identitate": "clasa de mărime `total` = suma celor patru clase (0-9, 10-49, 50-249, 250+)",
"nota_identitate": "Măsurat pe toată proiecţia, identitatea se închide în 168.512 din 168.551 de celule verificabile. Cele 39 de abateri sunt de cel mult 7 unităţi, aproape toate în 2003 pe unităţi locale Rev.1, şi cad în ambele direcţii — semnătura unei erori de publicare, nu a suprimării statistice.",
"nota_marimi": "Aici sunt PATRU componente, nu cinci ca la /financiar/v1/intreprinderi/indicatori: banda de mijloc e comasată în `10-49`. Cifrele celor două rute nu se pun cap la cap pe clase de mărime.",
"nota_total": "Totalul pe activităţi (`caen=total`) e publicat separat de fiecare tabel al sursei, câte unul pe nivel CAEN. Măsurat pe toată seria, cifrele coincid în 51 din 53 de combinaţii an × tip × clasificare; unde coincid le dăm o singură serie, cu `niveluri_sursa`. Excepţiile: în 2001 subsecţiunea dă 318.370 întreprinderi faţă de 320.929 la celelalte niveluri, iar în 1999 secţiunea diferă cu o unitate.",
"verificari": 10,
"inchise": 10,
"abatere_maxima": "0"
}
},
"meta": {
"sursa": "Institutul Naţional de Statistică — întreprinderi şi unităţi locale active (TEMPO, familia INT101).",
"acoperire": {
"de_la": 2008,
"pana_la": 2024
},
"serii_returnate": 42,
"nota_tip": "O întreprindere e unitatea juridică, o unitate locală e sediul în care ea lucrează; o întreprindere poate avea mai multe unităţi locale. Cifrele celor două nu se adună.",
"nota_geografie": "Nivelul cerut are date pe teritorii. Fără `teritoriu` sau `nivel_teritoriu` se întoarce doar ţara.",
"nota_marimi": "Aici sunt PATRU componente, nu cinci ca la /financiar/v1/intreprinderi/indicatori: banda de mijloc e comasată în `10-49`. Cifrele celor două rute nu se pun cap la cap pe clase de mărime.",
"nota_total": "Totalul pe activităţi (`caen=total`) e publicat separat de fiecare tabel al sursei, câte unul pe nivel CAEN. Măsurat pe toată seria, cifrele coincid în 51 din 53 de combinaţii an × tip × clasificare; unde coincid le dăm o singură serie, cu `niveluri_sursa`. Excepţiile: în 2001 subsecţiunea dă 318.370 întreprinderi faţă de 320.929 la celelalte niveluri, iar în 1999 secţiunea diferă cu o unitate.",
"nota_versiune": "Rev.1 acoperă 1997–2008 şi are subsecţiuni; Rev.2 acoperă 2008–2024 şi nu are. Seriile nu se leagă cap la cap.",
"nota_identitate": "Verificat: totalul pe clase de mărime e suma celor patru componente, 10 din 10 verificări în acest răspuns.",
"nota_fereastra": "Fereastra e 30 ani pentru o singură activitate într-un singur teritoriu şi 5 ani când răspunsul acoperă o listă.",
"caen": {
"cerut": "J",
"versiune_cerut": "Rev.2",
"folosit": "J",
"nivel": "sectiune",
"denumire": "INFORMAŢII ŞI COMUNICAŢII",
"versiune_serie": "Rev.2",
"conversie": false,
"urcat": false
}
}
}
{
"data": {
"tip": "intreprinderi",
"versiune_caen": "rev2",
"unitate": "numar",
"de_la": 2023,
"pana_la": 2024,
"filtre": {
"nivel": "clasa",
"sfera": [
"6201",
"6202",
"6203",
"6209"
],
"nivel_teritoriu": "tara"
},
"ani": [
2023,
2024
],
"serii": [
{
"caen": "6201",
"nivel": "clasa",
"denumire": "6201 Activitati de realizare a soft-ului la comanda (software orientat client)",
"marime": "total",
"ani_publicati": 2,
"valori": {
"2023": "19709",
"2024": "22655"
}
}
],
"identitati": {
"identitate": "clasa de mărime `total` = suma celor patru clase (0-9, 10-49, 50-249, 250+)",
"nota_identitate": "Măsurat pe toată proiecţia, identitatea se închide în 168.512 din 168.551 de celule verificabile. Cele 39 de abateri sunt de cel mult 7 unităţi, aproape toate în 2003 pe unităţi locale Rev.1, şi cad în ambele direcţii — semnătura unei erori de publicare, nu a suprimării statistice.",
"nota_marimi": "Aici sunt PATRU componente, nu cinci ca la /financiar/v1/intreprinderi/indicatori: banda de mijloc e comasată în `10-49`. Cifrele celor două rute nu se pun cap la cap pe clase de mărime.",
"nota_total": "Totalul pe activităţi (`caen=total`) e publicat separat de fiecare tabel al sursei, câte unul pe nivel CAEN. Măsurat pe toată seria, cifrele coincid în 51 din 53 de combinaţii an × tip × clasificare; unde coincid le dăm o singură serie, cu `niveluri_sursa`. Excepţiile: în 2001 subsecţiunea dă 318.370 întreprinderi faţă de 320.929 la celelalte niveluri, iar în 1999 secţiunea diferă cu o unitate.",
"verificari": 8,
"inchise": 8,
"abatere_maxima": "0"
}
},
"meta": {
"sursa": "Institutul Naţional de Statistică — întreprinderi şi unităţi locale active (TEMPO, familia INT101).",
"acoperire": {
"de_la": 2008,
"pana_la": 2024
},
"serii_returnate": 4,
"nota_tip": "O întreprindere e unitatea juridică, o unitate locală e sediul în care ea lucrează; o întreprindere poate avea mai multe unităţi locale. Cifrele celor două nu se adună.",
"nota_geografie": "Sursa publică întreprinderile pe teritorii doar la nivel de secţiune, deci acest răspuns e naţional. Unităţile locale au judeţul pe toate nivelurile.",
"nota_marimi": "Aici sunt PATRU componente, nu cinci ca la /financiar/v1/intreprinderi/indicatori: banda de mijloc e comasată în `10-49`. Cifrele celor două rute nu se pun cap la cap pe clase de mărime.",
"nota_total": "Totalul pe activităţi (`caen=total`) e publicat separat de fiecare tabel al sursei, câte unul pe nivel CAEN. Măsurat pe toată seria, cifrele coincid în 51 din 53 de combinaţii an × tip × clasificare; unde coincid le dăm o singură serie, cu `niveluri_sursa`. Excepţiile: în 2001 subsecţiunea dă 318.370 întreprinderi faţă de 320.929 la celelalte niveluri, iar în 1999 secţiunea diferă cu o unitate.",
"nota_versiune": "Rev.1 acoperă 1997–2008 şi are subsecţiuni; Rev.2 acoperă 2008–2024 şi nu are. Seriile nu se leagă cap la cap.",
"nota_identitate": "Verificat: totalul pe clase de mărime e suma celor patru componente, 8 din 8 verificări în acest răspuns.",
"nota_fereastra": "Fereastra e 30 ani pentru o singură activitate într-un singur teritoriu şi 5 ani când răspunsul acoperă o listă.",
"caen": {
"cerut": "62",
"versiune_cerut": "Rev.2",
"folosit": "62",
"nivel": "diviziune",
"denumire": "Activități de servicii în tehnologia informației",
"versiune_serie": "Rev.2",
"conversie": false,
"urcat": false,
"sfera": [
"6201",
"6202",
"6203",
"6209"
]
}
}
}
{
"data": {
"tip": "intreprinderi",
"versiune_caen": "rev2",
"unitate": "numar",
"de_la": 2024,
"pana_la": 2024,
"filtre": {
"nivel_teritoriu": "tara"
},
"ani": [
2024
],
"serii": [
{
"caen": "01",
"nivel": "diviziune",
"denumire": "01 Agricultura, vanatoare si servicii anexe",
"marime": "total",
"ani_publicati": 1,
"valori": {
"2024": "16472"
}
}
],
"identitati": {
"identitate": "clasa de mărime `total` = suma celor patru clase (0-9, 10-49, 50-249, 250+)",
"nota_identitate": "Măsurat pe toată proiecţia, identitatea se închide în 168.512 din 168.551 de celule verificabile. Cele 39 de abateri sunt de cel mult 7 unităţi, aproape toate în 2003 pe unităţi locale Rev.1, şi cad în ambele direcţii — semnătura unei erori de publicare, nu a suprimării statistice.",
"nota_marimi": "Aici sunt PATRU componente, nu cinci ca la /financiar/v1/intreprinderi/indicatori: banda de mijloc e comasată în `10-49`. Cifrele celor două rute nu se pun cap la cap pe clase de mărime.",
"nota_total": "Totalul pe activităţi (`caen=total`) e publicat separat de fiecare tabel al sursei, câte unul pe nivel CAEN. Măsurat pe toată seria, cifrele coincid în 51 din 53 de combinaţii an × tip × clasificare; unde coincid le dăm o singură serie, cu `niveluri_sursa`. Excepţiile: în 2001 subsecţiunea dă 318.370 întreprinderi faţă de 320.929 la celelalte niveluri, iar în 1999 secţiunea diferă cu o unitate.",
"verificari": 574,
"inchise": 574,
"abatere_maxima": "0"
}
},
"meta": {
"sursa": "Institutul Naţional de Statistică — întreprinderi şi unităţi locale active (TEMPO, familia INT101).",
"acoperire": {
"de_la": 2008,
"pana_la": 2024
},
"serii_returnate": 943,
"nota_tip": "O întreprindere e unitatea juridică, o unitate locală e sediul în care ea lucrează; o întreprindere poate avea mai multe unităţi locale. Cifrele celor două nu se adună.",
"nota_geografie": "Nivelul cerut are date pe teritorii. Fără `teritoriu` sau `nivel_teritoriu` se întoarce doar ţara.",
"nota_marimi": "Aici sunt PATRU componente, nu cinci ca la /financiar/v1/intreprinderi/indicatori: banda de mijloc e comasată în `10-49`. Cifrele celor două rute nu se pun cap la cap pe clase de mărime.",
"nota_total": "Totalul pe activităţi (`caen=total`) e publicat separat de fiecare tabel al sursei, câte unul pe nivel CAEN. Măsurat pe toată seria, cifrele coincid în 51 din 53 de combinaţii an × tip × clasificare; unde coincid le dăm o singură serie, cu `niveluri_sursa`. Excepţiile: în 2001 subsecţiunea dă 318.370 întreprinderi faţă de 320.929 la celelalte niveluri, iar în 1999 secţiunea diferă cu o unitate.",
"nota_versiune": "Rev.1 acoperă 1997–2008 şi are subsecţiuni; Rev.2 acoperă 2008–2024 şi nu are. Seriile nu se leagă cap la cap.",
"nota_identitate": "Verificat: totalul pe clase de mărime e suma celor patru componente, 574 din 574 verificări în acest răspuns.",
"nota_fereastra": "Fereastra e 30 ani pentru o singură activitate într-un singur teritoriu şi 5 ani când răspunsul acoperă o listă."
}
}
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. |
| 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. nivel_invalid — a subsection requested on Rev.2, where the level does not exist. geografie_indisponibila — a territory requested below section level on tip=intreprinderi. caen_invalid — the code has no valid shape. interval_prea_lung — beyond 30 years for a single activity in a single territory, or beyond 5 when the response spans a list. caen and grupare sent together, caen_versiune without caen, or a code that is not CAEN-shaped. nivel_peste_caen — nivel is above the caen code. |
| 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. nivel_invalid — a subsection requested on Rev.2, where the level does not exist. geografie_indisponibila — a territory requested below section level on tip=intreprinderi. caen_invalid — the code has no valid shape. interval_prea_lung — beyond 30 years for a single activity in a single territory, or beyond 5 when the response spans a list. caen and grupare sent together, caen_versiune without caen, or a code that is not CAEN-shaped. nivel_peste_caen — nivel is above the caen code.",
"detalii": {
"tip": [
"The value sent does not satisfy the parameter rule."
]
}
}
}