oneapi
Autentificare
Financiar v1 / Inflatie

Ocuparea şi orele lucrate din conturile naţionale

Populaţia ocupată şi orele lucrate aşa cum le măsoară conturile naţionale — anual şi
trimestrial
, din 1995, pe 11 ramuri şi trei statute profesionale.

⚠️ Seria anuală şi cea trimestrială stau în aceleaşi matrici, pe aceeaşi dată de trimestrul I.
Ruta cere periodicitate şi nu le amestecă niciodată: amestecate, ambele identităţi par stricate
exact în trimestrul I.

⚠️ Ruptură de metodologie la 2004: SEC 95 acoperă 1995-2003, SEC 2010 acoperă 2004 → prezent.
Câmpul sistem le desparte; nu se lipesc.

GET
https://oneapi.ro/api/financiar/v1/ocupare-conturi

Parametri de interogare

NumeTipDescriereValori acceptate
clasificareopțional string | null Opţional: rev2 (implicit) ori rev1. Rev.1 e numai anuală, 1999-2008. rev1rev2
periodicitateopțional string | null Opţional: anual (implicit) ori trimestrial. anualtrimestrial
sistemopțional string | null Opţional: sec95 (1995-2003) ori sec2010 (din 2004). Fără el, ies amândouă, marcate. sec95sec2010
de_laopțional integer | null Opţional, an, din 1995. 1995 – 2100
pana_laopțional integer | null Opţional, an. 1995 – 2100
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
indicatorlistăopțional text Opţional: ocupare, ore_lucrate. ocupareore_lucrate
caenlistăopțional text Opţional, coduri separate prin virgulă: orice cod CAEN — secţiune (C), diviziune (62), grupă, clasă (6201) — din orice revizie. Se aduce la în rev2 ramura A10 care îl cuprinde (C → industrie); în rev1 secţiunea, subsecţiunea ori diviziunea publicată; ce s-a folosit e în meta.caen. ex. 2410,62
gruparelistăopțional text Opţional, separate prin virgulă: agregatele sursei care nu sunt coduri CAEN — total, celelalte (Rev.1) ori ramurile-sumă A10 cerute direct (industrie, comert_transport_horeca…). Nu se trimite împreună cu caen. ex. administratie_educatie_sanatateex. comert_transport_horecaex. industrie
statutlistăopțional text Opţional: total, salariati, cont_propriu. totalsalariaticont_propriu

Cum se comportă

  • Populaţia ocupată şi orele lucrate aşa cum le măsoară conturile naţionale — 12.174 de valori, din matricile TEMPO CON108A/B/C şi CON109A/B/C. Doi indicatori × 11 ramuri × trei statute profesionale, anual şi trimestrial, din 1995-T1 până în 2026-T1.
  • Nu e acelaşi lucru cu /financiar/v1/populatie-ocupata, care vine din ancheta forţei de muncă. Aici e conceptul din conturi, cel care se leagă direct de valoarea adăugată — şi care e numitorul productivităţii de la /financiar/v1/productivitate.
  • ⚠️ Seria anuală şi cea trimestrială stau în aceleaşi matrici, pe aceeaşi dată de trimestrul I; se deosebesc doar prin granularitatea de la sursă. Ruta cere periodicitate şi nu le amestecă niciodată. Amestecate, ambele identităţi par stricate exact acolo: total = salariati + cont_propriu iese 187 din 253 în trimestrul I şi 242 din 242 în T2, T3 şi T4, iar total = suma celor zece ramuri ratează exact în cele 22 de trimestre I, cu o diferenţă aproape egală cu totalul. Despărţite, se închid amândouă 100%.
  • ✅ total = salariati + cont_propriu: 979/979 şi 396/396 trimestrial, 242/242 şi 99/99 anual, la fel pe orele lucrate.
  • ✅ Activitatea total = suma celor zece ramuri: 267/267 şi 108/108 trimestrial, 66/66 şi 27/27 anual. Suma se calculează din bază, ca să poată fi verificată şi când răspunsul nu poartă toate ramurile.
  • ⚠️ Ruptură de metodologie la 2004. sec95 acoperă 1995-2003, sec2010 acoperă 2004 → prezent. Seriile nu se lipesc peste ruptură; câmpul sistem le desparte, iar când răspunsul le cuprinde pe amândouă, meta o spune.
  • ⚠️ CAEN Rev.1 amestecă niveluri în clar — cele 32 de activităţi sunt secţiuni (a, c, d), subsecţiuni (ca, da…dn), diviziuni răzleţe (05, 25, 55, 80, 85), plus „Celelalte activităţi" şi totalul. Identitatea totalului nu se rulează acolo — măsurat, ar ieşi 0 din 30 — iar nivel_activitate spune ce e fiecare rând. Rev.1 e publicată numai anual, pentru 1999-2008.
  • Cele zece ramuri Rev.2 folosesc aceleaşi sluguri ca /financiar/v1/pib/judete şi /financiar/v1/conturi-regionale, deci ocuparea unei ramuri se pune direct lângă PIB-ul şi salariile ei.
  • 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

  • Numărul de ore lucrate într-o ramură, trimestru de trimestru.
  • Ponderea lucrătorilor pe cont propriu într-o ramură — cea mai mare e la agricultură.
  • Numitorul pentru productivitate şi pentru costul unitar al muncii.
  • Comparaţia dintre conceptul din conturi şi cel din ancheta forţei de muncă.

Structura răspunsului

CâmpTipDescriere
data.clasificare string Clasificarea după care sunt împărţite valorile.
data.periodicitate string
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 array Filtrele aplicate efectiv, aşa cum le-a înţeles ruta — util când o valoare a fost normalizată.
data.perioade array Ani la periodicitate anuală, AAAA-Tn la cea trimestrială.
data.serii[].indicator string Indicatorul statistic la care se referă valoarea.
data.serii[].unitate string Unitatea de măsură a valorilor. Citeşte-o înainte de a le pune pe un grafic sau de a le aduna.
data.serii[].clasificare string Clasificarea după care sunt împărţite valorile.
data.serii[].sistem string sec95 ori sec2010 — nu se lipesc peste 2004.
data.serii[].statut string Starea în care se află elementul la sursă.
data.serii[].activitate string Activitatea economică la care se referă valoarea.
data.serii[].denumire_activitate string
data.serii[].nivel_activitate string În Rev.1: sectiune, subsectiune, diviziune, rest. Nu se adună între ele.
data.serii[].perioade_publicate integer Câte perioade a publicat efectiv sursa.
data.serii[].valori object Valorile seriei, pe perioade.
data.identitati.toleranta string Cât se acceptă ca abatere înainte ca identitatea să fie considerată neînchisă — rotunjirea sursei, nu o eroare.
data.identitati.statut.identitate string Identitatea verificată — ce sumă trebuie să dea ce total.
data.identitati.statut.nota string Precizare despre cum se citesc datele — o capcană, o convenţie sau o limită a sursei.
data.identitati.statut.verificari integer Câte combinaţii au fost verificate.
data.identitati.statut.inchise integer Câte verificări s-au închis în toleranţă.
data.identitati.ramuri.identitate string Identitatea verificată — ce sumă trebuie să dea ce total.
data.identitati.ramuri.nota string Precizare despre cum se citesc datele — o capcană, o convenţie sau o limită a sursei.
data.identitati.ramuri.verificari integer Câte combinaţii au fost verificate.
data.identitati.ramuri.inchise integer Câte verificări s-au închis în toleranţă.
data.identitati.nota_periodicitate string De ce ruta nu amestecă niciodată seria anuală cu cea trimestrială.
meta.sursa string Sursa oficială din care vin datele, cu licenţa ei acolo unde e cerută.
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.nota_periodicitate string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_sisteme string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_identitate string Cum se verifică identitatea de mai sus şi ce înseamnă când nu se închide.
meta.nota_productivitate string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.fara_date data e null, iar aici stă motivul. Proiecţia peste datele INS e goală pe combinaţia cerută. Lista e la /ocupare-conturi/activitati. 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[].cod string Codul CAEN pe care îl reprezintă cheia folosită, când seria îşi numeşte activităţile altfel (agricultura = 01) ori când cheia e un agregat (62-63).
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.

Exemple de răspuns

GEThttps://oneapi.ro/api/financiar/v1/ocupare-conturi?per_pagina=3
{
    "data": {
        "clasificare": "rev2",
        "periodicitate": "anual",
        "de_la": 1995,
        "pana_la": 2025,
        "filtre": [],
        "perioade": [
            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": [
            {
                "indicator": "ocupare",
                "unitate": "mii persoane",
                "clasificare": "rev2",
                "sistem": "sec95",
                "statut": "cont_propriu",
                "activitate": "administratie_educatie_sanatate",
                "denumire_activitate": "ADMINISTRATIE PUBLICA SI APARARE; ASIGURARI SOCIALE DIN SISTEMUL PUBLIC; INVATAMANT; SANATATE SI ASISTENTA SOCIALA",
                "nivel_activitate": "ramura",
                "perioade_publicate": 9,
                "valori": {
                    "1995": "10.9",
                    "1996": "10.1",
                    "1997": "10.6",
                    "1998": "10.9",
                    "1999": "11",
                    "2000": "11",
                    "2001": "10.8",
                    "2002": "8.5",
                    "2003": "9.1",
                    "2004": null,
                    "2005": null,
                    "2006": null,
                    "2007": null,
                    "2008": null,
                    "2009": null,
                    "2010": null,
                    "2011": null,
                    "2012": null,
                    "2013": null,
                    "2014": null,
                    "2015": null,
                    "2016": null,
                    "2017": null,
                    "2018": null,
                    "2019": null,
                    "2020": null,
                    "2021": null,
                    "2022": null,
                    "2023": null,
                    "2024": null,
                    "2025": null
                }
            }
        ],
        "identitati": {
            "toleranta": "0.5",
            "statut": {
                "identitate": "`total` = `salariati` + `cont_propriu`",
                "nota": "Verificat pe toată proiecţia, cu seriile despărţite pe periodicitate: 979/979 şi 396/396 trimestrial, 242/242 şi 99/99 anual, la fel pe orele lucrate. Amestecate, ar ieşi 187 din 253 în trimestrul I.",
                "verificari": 682,
                "inchise": 682
            },
            "ramuri": {
                "identitate": "activitatea `total` = suma celor zece ramuri",
                "nota": "Verificat pe toată proiecţia: 267/267 şi 108/108 trimestrial, 66/66 şi 27/27 anual. Suma se calculează din bază. Amestecate cu seria anuală, ar rata exact în cele 22 de trimestre I.",
                "verificari": 186,
                "inchise": 186
            },
            "nota_periodicitate": "Seria anuală şi cea trimestrială stau în aceleaşi matrici, pe aceeaşi dată de trimestrul I. Ruta nu le amestecă niciodată — amestecate, ambele identităţi par stricate exact în trimestrul I."
        }
    },
    "meta": {
        "sursa": "Institutul Naţional de Statistică — populaţia ocupată şi orele lucrate din conturile naţionale (TEMPO, matricile CON108A/B/C şi CON109A/B/C).",
        "acoperire": {
            "de_la": 1995,
            "pana_la": 2025
        },
        "serii_returnate": 132,
        "nota_periodicitate": "Seria anuală şi cea trimestrială stau în aceleaşi matrici, pe aceeaşi dată de trimestrul I. Ruta nu le amestecă niciodată — amestecate, ambele identităţi par stricate exact în trimestrul I.",
        "nota_sisteme": "Răspunsul acoperă ambele sisteme (sec95, sec2010): SEC 95 până în 2003 şi SEC 2010 din 2004. Seriile NU se lipesc peste ruptură.",
        "nota_identitate": "Verificat pe acest răspuns: totalul e suma celor două statute în 682 din 682 celule.",
        "nota_productivitate": "Aceleaşi ramuri, cu productivitatea muncii: /financiar/v1/productivitate."
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă sau invalid.
403feature_indisponibilfinanciar.indici nu e în planul curent.
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. raspuns_prea_mare — peste 20.000 de celule. Plus clasificare, periodicitate, sistem, indicator, activitate, statut ori an în afara formei aşteptate. caen şi grupare trimise împreună, caen_versiune fără caen, ori un cod fără forma CAEN. combinatie_nepublicata — Rev.1 nu e publicată trimestrial.
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. raspuns_prea_mare — peste 20.000 de celule. Plus clasificare, periodicitate, sistem, indicator, activitate, statut ori an în afara formei aşteptate. caen şi grupare trimise împreună, caen_versiune fără caen, ori un cod fără forma CAEN. combinatie_nepublicata — Rev.1 nu e publicată trimestrial.",
        "detalii": {
            "clasificare": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}