oneapi
Autentificare
Financiar v1 / Inflatie

Indicatorii economici ai întreprinderilor

Paisprezece indicatori economici şi financiari — cifra de afaceri, valoarea adăugată brută,
rezultatul brut, investiţiile, exporturile directe, personalul — pe activitate CAEN şi pe clasă
de mărime, anual din 2004
. E setul cu care o firmă se poate compara cu sectorul ei.

Două clasificări, cerute separat prin versiune: rev2 (implicit) acoperă 2008-2024, rev1
acoperă 2004-2007. ⚠️ Nu se suprapun şi nu se lipesc — Rev.1 se opreşte exact acolo unde
începe Rev.2, deci nicio egalitate nu poate fi verificată între ele.

CAEN pe patru niveluri în Rev.2: secţiune (16), diviziune (77), grupă (237), clasă (531). În
Rev.1 sunt cinci — se adaugă subsecţiunea (26 de coduri de două litere, ca DD) — iar
secţiunile sunt 12, dintre care una, alte, e un rest agregat fără literă CAEN.

⚠️ Valorile monetare din 2004 sunt publicate în mii lei ROL, aşa cum scrie chiar numele
dimensiunii sursei („Mii lei, lei RON (începând cu 2005)"). Sunt aduse la lei RON cu factorul 0,1;
blocul publicat păstrează valoarea brută şi unitatea sursei.

✅ Clasele de mărime se însumează exact: totalul e suma celor cinci, verificat pe toate
grupurile comparabile, fără nicio excepţie.

⚠️ Ierarhia CAEN nu e o partiţie şi nu se verifică aşa. Sursa suprimă celulele cu prea puţine
întreprinderi, ca să nu poată fi identificată o firmă anume. Măsurat pe 2024, suma copiilor cade
sub părinte în 18 din 208 secţiuni, 77 din 956 diviziuni şi 227 din 2.767 grupe — aproape toate în
aceeaşi direcţie, ceea ce e semnătura suprimării, nu a unei erori. Din acelaşi motiv, un cod poate
lipsi cu totul.

GET
https://oneapi.ro/api/financiar/v1/intreprinderi/indicatori

Parametri de interogare

NumeTipDescriereValori acceptate
versiuneopțional string | null Opţional: rev2 (implicit, 2008-2024) ori rev1 (2004-2007). O cerere acoperă o singură clasificare. rev1rev2
nivelopțional string | null Opţional: sectiune, diviziune, grupa, clasa — plus subsectiune, numai în rev1. Fără caen, tot nivelul; cu caen, rândurile nivelului de sub cod. sectiunesubsectiunediviziunegrupaclasa
de_laopțional integer | null Opţional, an, din 2004. 2000 – 2100
pana_laopțional integer | null Opţional, an. 2000 – 2100
caenopțional string | null Opţional: orice cod CAEN — secţiune (C), diviziune (62), grupă, clasă (6201) — din orice revizie. Se aduce la cel mai fin nivel publicat în versiune; ce s-a folosit e în meta.caen. Cu nivel sub nivelul codului, întoarce rândurile de pe nivel de sub el (caen=C&nivel=diviziune); un nivel deasupra codului e nivel_peste_caen. ex. C
caen_versiuneopțional string | null Opţional: revizia codului din caen — 1, 2 sau 3 — când forma lui e ambiguă (4932 înseamnă altceva în Rev.2 şi în Rev.3). Fără ea, codul se caută întâi în revizia seriei. 123
grupareopțional string | null Opţional: agregatele sursei care nu sunt coduri CAEN — alte (secţiunea-rest din Rev.1; cu nivel, rândurile ei de pe acel nivel). Nu se trimite împreună cu caen. ex. alte
indicatorlistăopțional text Opţional, unul sau mai mulţi din cei paisprezece, separaţi prin virgulă. Fără el, toţi. cifra_afacerivaloare_adaugata_brutaproductia_exercitiuluiexcedent_brut_exploatarerezultat_brutcheltuieli_personalcheltuieli_salariiinvestitii_neteinvestitii_bruteexporturi_directecapital_socialnumar_intreprinderinumar_salariatinumar_persoane_ocupate
marimelistăopțional text Opţional: total (implicit), 0-9, 10-19, 20-49, 50-249, 250+. total0-910-1920-4950-249250+

Cum se comportă

  • Paisprezece indicatori economici şi financiari — cifra de afaceri, valoarea adăugată brută la costul factorilor, producţia exerciţiului, excedentul brut de exploatare, rezultatul brut, cheltuielile cu personalul şi cu salariile, investiţiile nete şi brute, exporturile directe, capitalul social, numărul de întreprinderi, de salariaţi şi de persoane ocupate — pe activitate CAEN şi clasă de mărime, anual din 2004, pe două clasificări.
  • Două clasificări, cerute separat prin versiune. rev2 (implicit) acoperă 2008-2024 din matricea INT109C; rev1 acoperă 2004-2007 din INT109A, cu 199.625 de valori. ⚠️ Nu se suprapun şi nu se lipesc: Rev.1 se opreşte exact acolo unde începe Rev.2, aşa că nicio egalitate nu poate fi verificată între ele, iar nomenclatoarele lor sunt diferite. O cerere acoperă o singură versiune.
  • E setul cu care o firmă se poate compara cu sectorul ei. Combinat cu propriul CAEN şi cu propriul bilanţ, dă poziţia relativă: în 2024, cele 30.329 de firme din diviziunea 62 (servicii IT) au avut 70,58 miliarde lei cifră de afaceri, dar cele 100 de firme cu peste 250 de salariaţi au făcut 29,74 de miliarde, adică 42% — iar media pe firmă urcă de la 0,58 milioane în clasa 0-9 la 297 de milioane în clasa mare.
  • În Rev.1 sunt cinci niveluri, nu patru: se adaugă subsecţiunea — 26 de coduri de două litere, ca DD — pe care Rev.2 a desfiinţat-o. Secţiunile sunt 12, faţă de 16, iar a douăsprezecea, alte, e un rest agregat fără literă CAEN, marcat cu este_rest.
  • ⚠️ Valorile monetare din 2004 sunt publicate în mii lei ROL — sursa o scrie chiar în numele dimensiunii, „Mii lei, lei RON (începând cu 2005)". Sunt aduse aici la lei RON cu factorul 0,1, iar blocul publicat păstrează valoarea brută şi unitatea sursei. Verificat pe cifra de afaceri a industriei prelucrătoare: 137,9 miliarde lei RON în 2004 (după conversie) faţă de 149,5 în 2005 — serie continuă.
  • CAEN pe patru niveluri în Rev.2: 16 secţiuni, 77 de diviziuni, 237 de grupe, 531 de clase. Codul cerut se aduce la cel mai fin nivel publicat. Fără cod, nivel dă un nivel întreg; cu cod, nivel dă rândurile de sub el — caen=C&nivel=diviziune sunt diviziunile industriei prelucrătoare.
  • ✅ Clasele de mărime se însumează exact. Totalul e suma celor cinci — 0-9, 10-19, 20-49, 50-249 şi 250+ salariaţi — verificat pe 5.646 din 5.646 de grupuri comparabile în 2024 pe Rev.2 şi pe 23.539 din 23.539 pe Rev.1, fără nicio excepţie. Identitatea se rulează la fiecare cerere, dar numai unde sursa publică toate cinci clasele — şi trebuie aşa: excedentul brut şi rezultatul brut se compensează între clase, aşa că o sumă parţială poate depăşi în modul totalul (2005, clasa 2871: totalul e −896, iar cele două clase de mărime publicate (0-9 şi 250+) însumează −1.606.120).
  • ⚠️ Ierarhia CAEN NU e o partiţie, şi ruta nu o verifică aşa. Sursa suprimă celulele cu prea puţine întreprinderi, ca să nu poată fi identificată o firmă anume. Măsurat pe 2024, cu direcţia abaterii verificată: suma copiilor cade sub părinte în 18 din 208 secţiuni, 77 din 956 diviziuni şi 227 din 2.767 grupe — aproape toate în aceeaşi direcţie, ceea ce e semnătura suprimării, nu a unei erori. Abaterea maximă e de 45,7 miliarde de lei. Din acelaşi motiv, un cod poate lipsi cu totul, iar un indicator poate lipsi pentru un cod care altfel există.
  • ⚠️ Sursa scrie acelaşi cuvânt în două feluri. Rândurile de secţiune au diviziunea marcată TOTAL, cu majuscule, iar cele mai fine folosesc Total. O comparaţie sensibilă la majuscule ratează tot nivelul de secţiune — 21.087 de valori, adică toate cele şaisprezece secţiuni. Proiecţia le tratează pe amândouă.
  • Unsprezece indicatori sunt în lei, unul în număr de întreprinderi şi doi în număr de persoane; serii[].unitate o spune pentru fiecare, ca să nu fie adunate greşit.
  • Activitatea se cere ca pe toată platforma. caen primeşte orice cod CAEN, de orice nivel şi din orice revizie, iar ruta îl aduce la ce publică seria — urcând la părinte ori traducându-l prin corespondenţa oficială INS; meta.caen spune codul cerut, cel folosit şi dacă a fost urcat ori convertit. grupare e pentru agregatele sursei care nu sunt coduri CAEN.

La ce folosește

  • Poziţionarea unei firme faţă de media sectorului ei, pe cifră de afaceri sau marjă.
  • Structura unui sector pe clase de mărime: câte firme mari duc cât din piaţă.
  • Evoluţia investiţiilor sau a exporturilor directe într-o activitate anume.

Structura răspunsului

CâmpTipDescriere
data.de_la integer Începutul intervalului acoperit de răspuns.
data.pana_la integer Sfârşitul intervalului acoperit de răspuns, inclusiv.
data.filtre.versiune string Versiunea setului de date sau a artefactului din care vin valorile.
data.filtre.indicator array Indicatorul statistic la care se referă valoarea.
data.filtre.nivel string Nivelul din ierarhia clasificării — cu cât e mai adânc, cu atât e mai detaliat.
data.ani array Anii pentru care există valori.
data.serii[].caen string Codul CAEN al activităţii, în revizia seriei.
data.serii[].versiune string Clasificarea seriei; serii din versiuni diferite nu se compară cod cu cod.
data.serii[].nivel string sectiune, diviziune, grupa sau clasa — plus subsectiune în Rev.1. Nivelurile nu se însumează între ele.
data.serii[].sectiune string Secţiunea din clasificare — nivelul cel mai larg.
data.serii[].denumire string Denumirea exactă de la sursă, cu codul în faţă.
data.serii[].indicator string Indicatorul statistic la care se referă valoarea.
data.serii[].indicator_eticheta string
data.serii[].marime string Clasa de mărime folosită de sursă.
data.serii[].unitate string lei, numar sau persoane.
data.serii[].ani_publicati integer Anii pe care sursa i-a publicat efectiv pentru seria asta.
data.serii[].valori object Valorile seriei, pe perioade.
data.identitati object Verificarea claselor de mărime, plus nota despre suprimarea care rupe ierarhia CAEN.
data.identitati.identitate string Identitatea verificată — ce sumă trebuie să dea ce total.
data.identitati.nota_clase string
data.identitati.nota_ierarhie string Cum se citeşte ierarhia clasificării şi ce niveluri nu se adună între ele.
data.identitati.verificari integer Câte combinaţii au fost verificate.
data.identitati.inchise integer Câte verificări s-au închis în toleranţă.
data.identitati.abatere_maxima string Cea mai mare abatere întâlnită între suma componentelor şi total.
meta.sursa string Sursa oficială din care vin datele, cu licenţa ei acolo unde e cerută.
meta.versiune string Versiunea setului de date sau a artefactului din care vin valorile.
meta.acoperire.de_la integer Prima perioadă pentru care avem date.
meta.acoperire.pana_la integer Ultima perioadă pentru care avem date.
meta.serii_returnate integer Câte serii s-au întors efectiv, după filtre şi după plafonul de celule.
meta.coduri_pe_nivel.clasa integer Clasa din clasificare — nivelul cel mai detaliat.
meta.coduri_pe_nivel.diviziune integer
meta.coduri_pe_nivel.grupa integer
meta.coduri_pe_nivel.sectiune integer Secţiunea din clasificare — nivelul cel mai larg.
meta.nota_versiune string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_nivel string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_marime string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_suprimare string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_unitati string Ce trebuie ştiut despre unităţile de măsură din răspuns.
data.serii[].este_rest boolean Prezent doar pe secţiunea alte din Rev.1, care e un rest agregat, nu o activitate.
data.serii[].publicat object Prezent doar pe 2004: valoarea brută în mii lei ROL, unitatea sursei şi factorul aplicat.
meta.fara_date data e null, iar aici stă motivul. Proiecţia peste datele INS e goală. Ca la celelalte serii.
meta.fara_date_cod Cuvântul scurt şi STABIL al motivului, pentru clienţii care comută pe el în cod: fara_date e proză şi se poate reformula, ăsta nu.
meta.caen object Cum s-a înţeles parametrul caen: codul cerut, revizia în care s-a citit şi codul pe care l-a folosit ruta. La o listă de coduri, câte un obiect pe cod.
meta.caen.cerut string Codul CAEN trimis, normalizat (litere mari, fără puncte).
meta.caen.versiune_cerut string Revizia în care s-a citit codul trimis: cea din caen_versiune, altfel prima în care există.
meta.caen.folosit string Codul pe care l-a folosit seria: cel cerut, primul lui părinte publicat ori agregatul sursei care îl cuprinde (02-03).
meta.caen.nivel string Nivelul codului folosit — la rutele de firme, al codului cerut: sectiune, subsectiune, diviziune, grupa, clasa sau agregat.
meta.caen.denumire string Denumirea codului, din nomenclatorul CAEN.
meta.caen.versiune_serie string Revizia CAEN în care publică seria.
meta.caen.conversie boolean true când codul a fost tradus dintr-o revizie în alta prin corespondenţa oficială INS.
meta.caen.urcat boolean true când seria nu publică codul cerut şi s-a folosit un nivel superior.
meta.caen.sfera string[] Cheile de pe nivel de sub codul cerut, când caen vine cu un nivel mai fin (caen=C&nivel=diviziune).

Exemple de răspuns

GEThttps://oneapi.ro/api/financiar/v1/intreprinderi/indicatori?nivel=sectiune&indicator=cifra_afaceri&de_la=2020&pana_la=2023
{
    "data": {
        "de_la": 2020,
        "pana_la": 2023,
        "filtre": {
            "versiune": "rev2",
            "indicator": [
                "cifra_afaceri"
            ],
            "nivel": "sectiune"
        },
        "ani": [
            2020,
            2021,
            2022,
            2023
        ],
        "serii": [
            {
                "caen": "B",
                "versiune": "rev2",
                "nivel": "sectiune",
                "sectiune": "B",
                "denumire": "B  INDUSTRIA EXTRACTIVA",
                "indicator": "cifra_afaceri",
                "indicator_eticheta": "cifra de afaceri",
                "marime": "total",
                "unitate": "lei",
                "ani_publicati": 4,
                "valori": {
                    "2020": "25397242641",
                    "2021": "36875876517",
                    "2022": "26919841531",
                    "2023": "20182254386"
                }
            }
        ],
        "identitati": {
            "identitate": "clasa de mărime `total` = suma celor cinci clase",
            "nota_clase": "Rulată doar acolo unde sursa publică toate cinci clasele. Verificat pe toată proiecţia: 5.646 din 5.646 de grupuri în 2024 pe Rev.2 şi 23.539 din 23.539 pe Rev.1. Unde o clasă e suprimată, verificarea se sare — şi trebuie sărită: excedentul brut şi rezultatul brut se compensează între clase, aşa că o sumă parţială poate depăşi în modul totalul.",
            "nota_ierarhie": "Ierarhia CAEN NU se verifică: sursa suprimă celulele cu prea puţine întreprinderi, ca să nu poată fi identificată o firmă. Măsurat pe 2024, suma copiilor cade sub părinte în 18 din 208 secţiuni, 77 din 956 diviziuni şi 227 din 2.767 grupe — aproape toate în aceeaşi direcţie, ceea ce e semnătura suprimării, nu a unei erori.",
            "verificari": 64,
            "inchise": 64,
            "abatere_maxima": "0"
        }
    },
    "meta": {
        "sursa": "Institutul Naţional de Statistică — principalii indicatori economici şi financiari ai întreprinderilor (TEMPO, matricea INT109C).",
        "versiune": "rev2",
        "acoperire": {
            "de_la": 2008,
            "pana_la": 2024
        },
        "serii_returnate": 16,
        "coduri_pe_nivel": {
            "clasa": 531,
            "diviziune": 77,
            "grupa": 237,
            "sectiune": 16
        },
        "nota_versiune": "Cererea acoperă o singură clasificare. `rev2` (implicit) merge 2008-2024, `rev1` merge 2004-2007; nu se suprapun şi nu se lipesc, iar nomenclatoarele lor sunt diferite.",
        "nota_nivel": "Nivelul CAEN se deduce din forma codului: o literă e secţiune, iar 2, 3 sau 4 cifre sunt diviziunea, grupa şi clasa. În Rev.1, două litere sunt o subsecţiune, iar `alte` e secţiunea-rest. Codul poate fi din orice revizie: se aduce la cel mai fin nivel publicat (`meta.caen`). Cu `nivel` alături, `caen` devine sfera: `caen=C&nivel=diviziune` sunt diviziunile secţiunii C; fără `caen`, `nivel` dă toate codurile nivelului.",
        "nota_marime": "Fără `marime`, se întoarce doar clasa `total`. Verificat: totalul e suma exactă a celor cinci clase, 64 din 64 verificări în acest răspuns.",
        "nota_suprimare": "Ierarhia CAEN NU se verifică: sursa suprimă celulele cu prea puţine întreprinderi, ca să nu poată fi identificată o firmă. Măsurat pe 2024, suma copiilor cade sub părinte în 18 din 208 secţiuni, 77 din 956 diviziuni şi 227 din 2.767 grupe — aproape toate în aceeaşi direcţie, ceea ce e semnătura suprimării, nu a unei erori.",
        "nota_unitati": "Unsprezece indicatori sunt în lei, unul în număr de întreprinderi şi doi în număr de persoane. `serii[].unitate` o spune pentru fiecare."
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
404caen_nepublicatNici codul, nici părinţii lui nu sunt publicaţi în serie; detalii.disponibile dă cheile. grupare_nepublicata — gruparea nu e în serie; răspunsul dă lista.
422caen_inexistentCodul din caen nu există în nicio revizie CAEN; e o valoare de FILTRU greşită, deci 422, nu 404. caen_invalid — forma codului nu se potriveşte clasificării cerute (subsecţiunile şi alte există numai în rev1). Plus indicator, mărime, nivel ori versiune în afara listei, an în afara intervalului, sau interval_prea_lung peste 30 de ani. caen şi grupare trimise împreună, caen_versiune fără caen, ori un cod fără forma CAEN. nivel_peste_caen — nivel e deasupra codului din caen. nivel_in_alta_versiune — subsectiune cerut pe rev2.
429cota_depasitaCota lunară a planului a fost depăşită (vezi Retry-After).

Toate erorile au aceeași formă. eroare.cod e stabil și e cel după care trebuie să ramifici în cod — nu după textul din mesaj, care se poate schimba.

{
    "eroare": {
        "cod": "caen_inexistent",
        "mesaj": "Codul din caen nu există în nicio revizie CAEN; e o valoare de FILTRU greşită, deci 422, nu 404. caen_invalid — forma codului nu se potriveşte clasificării cerute (subsecţiunile şi alte există numai în rev1). Plus indicator, mărime, nivel ori versiune în afara listei, an în afara intervalului, sau interval_prea_lung peste 30 de ani. caen şi grupare trimise împreună, caen_versiune fără caen, ori un cod fără forma CAEN. nivel_peste_caen — nivel e deasupra codului din caen. nivel_in_alta_versiune — subsectiune cerut pe rev2.",
        "detalii": {
            "versiune": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}