oneapi
Autentificare
Financiar v1 / Inflatie

Structura câştigurilor pe ocupaţii

Cât câştigă fiecare grupă majoră de ocupaţii ISCO-08 — de la conducători la ocupaţii elementare
— pe activitate CAEN, sex şi formă de proprietate, anual din 2013. 162.102 valori.

E singurul loc din modul unde câştigul se vede pe ocupaţie, nu doar pe activitate. Vine din
ancheta de structură a câştigurilor şi acoperă doar salariaţii cu program complet plătiţi întreaga
lună — deci nu e media generală din /financiar/v1/salariati, ci una „curată", fără luni parţiale.

Trei indicatori, dintre care doi sunt medii. numar sunt persoane şi se însumează;
salariu_baza şi venit_brut sunt medii lunare în lei şi nu se adună — nici peste ocupaţii,
nici peste sexe, nici peste forme de proprietate.

✅ Verificat pe numărul de salariaţi, cu abatere zero: total = masculin + feminin (17.389 din
17.389
), total = publică + privată (13.222 din 13.222) şi total = suma celor nouă grupe
de ocupaţii (2.034 din 2.034). Pe salariu, aceeaşi identitate iese 0 din 6.141, cu suma
grupelor de 7,77 ori media — de aceea ruta nu o rulează acolo.

Diferenţa dintre cei doi indicatori de bani e chiar valoarea sporurilor. Venitul brut realizat
include primele, sporurile şi orele suplimentare; salariul de bază, nu. Raportul dintre ele vine
calculat pe fiecare serie, în raport_venit_baza. Pe total, în 2024: bază 6.553 lei, venit
8.374 lei — sporurile adaugă 28%. Media pe toate celulele e 1,307.

⚠️ În 56 din cele 54.034 de celule venitul iese SUB salariul de bază, cel mai jos la 0,674. Sunt
celule mici — 68 de salariaţi în medie — împrăştiate pe şase ani, cu vârf în 2013 (27 de cazuri) şi
2020 (13). Anii aceştia sunt marcaţi în raport_venit_baza.ani_sub_baza.

GET
https://oneapi.ro/api/financiar/v1/castiguri/structura

Parametri de interogare

NumeTipDescriereValori acceptate
indicatoropțional string | null Opţional: venit_brut (implicit), salariu_baza, numar. numarsalariu_bazavenit_brut
de_laopțional integer | null Opţional, an, din 2013. 2013 – 2100
pana_laopțional integer | null Opţional, an. 2013 – 2100
caenopțional string | null Opţional: orice cod CAEN — secţiune (C), diviziune (62), grupă, clasă (6201) — din orice revizie. Se aduce la secţiunea, diviziunea ori intervalul publicat (CAEN Rev.2); ce s-a folosit e în meta.caen. ex. 62
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 — total, industrie (B–E) ori intervalele (02-03, 62-63). Nu se trimite împreună cu caen. ex. 02-03ex. 38-39ex. 59-60
ocupatielistăopțional text Opţional: total (implicit) sau grupele majore ISCO-08, de la 1 la 9, separate prin virgulă. total123456789
sexlistăopțional text Opţional: total (implicit), masculin, feminin. totalmasculinfeminin
formalistăopțional text Opţional: total (implicit), publica, privata. totalpublicaprivata

Cum se comportă

  • Cât câştigă fiecare grupă majoră de ocupaţii ISCO-08 — de la conducători la ocupaţii elementare — pe activitate CAEN, sex şi formă de proprietate, anual din 2013 până în 2024. 162.102 valori din matricea TEMPO FOM121A.
  • E singurul loc din modul unde câştigul se vede pe ocupaţie, nu doar pe activitate. Vine din ancheta de structură a câştigurilor şi acoperă doar salariaţii cu program complet care au fost plătiţi întreaga lună — deci nu e media generală din /financiar/v1/salariati, ci una „curată", fără luni parţiale.
  • Ce arată datele, pe toate activităţile în 2024: specialiştii îi depăşesc pe conducători — 12.365 lei venit brut faţă de 12.250 — iar media generală e 8.374 lei. La celălalt capăt, ocupaţiile elementare 5.367 lei şi lucrătorii în servicii 5.196.
  • Trei indicatori, dintre care doi sunt medii. numar sunt persoane şi se însumează; salariu_baza şi venit_brut sunt medii lunare în lei şi nu se adună — nici peste ocupaţii, nici peste sexe, nici peste forme de proprietate.
  • ✅ Verificat pe numărul de salariaţi, cu abatere zero: total = masculin + feminin (17.389 din 17.389), total = publică + privată (13.222 din 13.222) şi total = suma celor nouă grupe de ocupaţii (2.034 din 2.034). Pe salariu, aceeaşi identitate iese 0 din 6.141, cu suma grupelor de 7,77 ori media — de aceea ruta nu o rulează acolo, ci întoarce identitati.aplicabile = false cu motivul.
  • Diferenţa dintre cei doi indicatori de bani e chiar valoarea sporurilor. Venitul brut realizat include primele, sporurile şi orele suplimentare; salariul de bază, nu. Raportul vine calculat pe fiecare serie, în raport_venit_baza: pe total, în 2024, bază 6.553 lei şi venit 8.374 lei, adică sporurile adaugă 28%. Media pe toate celulele proiecţiei e 1,307.
  • ⚠️ În 56 din cele 54.034 de celule venitul iese SUB salariul de bază, cel mai jos la 0,674. Sunt celule mici — 68 de salariaţi în medie — împrăştiate pe şase ani, cu vârf în 2013 (27 de cazuri) şi 2020 (13). Exemplu: lucrătorii în servicii din transporturile aeriene publice, bărbaţi, în 2020 — bază 3.262 lei, venit 2.198. Anii aceştia sunt marcaţi în raport_venit_baza.ani_sub_baza.
  • Ocupaţiile sunt codificate cu grupele majore ISCO-08, de la 1 la 9, fiindcă sursa le scrie în clar iar un slug din denumire ar trece de o sută de caractere. denumire_ocupatie le spune în cuvinte.
  • 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

  • Cât se plăteşte o ocupaţie într-un sector anume — reper pentru o grilă de salarizare.
  • Cât din câştig vine din sporuri şi prime, nu din salariul de bază.
  • Diferenţa de câştig între sectorul public şi cel privat, pe aceeaşi ocupaţie.

Structura răspunsului

CâmpTipDescriere
data.indicator string Indicatorul statistic la care se referă valoarea.
data.denumire string Denumirea, aşa cum o publică sursa.
data.natura string numar sau medie — decide dacă seriile se pot însuma.
data.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.de_la integer Începutul intervalului acoperit de răspuns.
data.pana_la integer Sfârşitul intervalului acoperit de răspuns, inclusiv.
data.filtre.ocupatie array
data.filtre.sex array Sexul persoanelor la care se referă valoarea.
data.filtre.forma array Forma juridică ori forma de organizare.
data.ani array Anii pentru care există valori.
data.serii[].caen string Codul CAEN al activităţii, în revizia seriei.
data.serii[].nivel string Nivelul din ierarhia clasificării — cu cât e mai adânc, cu atât e mai detaliat.
data.serii[].denumire string Denumirea, aşa cum o publică sursa.
data.serii[].ocupatie string Grupa majoră ISCO-08, 1–9, sau total.
data.serii[].denumire_ocupatie string
data.serii[].sex string Sexul persoanelor la care se referă valoarea.
data.serii[].forma string Forma juridică ori forma de organizare.
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[].ani_publicati integer Anii pe care sursa i-a publicat efectiv pentru seria asta.
data.serii[].valori object Valorile seriei, pe perioade.
data.serii[].raport_venit_baza object Venitul brut împărţit la salariul de bază — cât adaugă sporurile.
data.serii[].raport_venit_baza.nota string Precizare despre cum se citesc datele — o capcană, o convenţie sau o limită a sursei.
data.serii[].raport_venit_baza.valori object Valorile seriei, pe perioade.
data.identitati.aplicabile boolean false pe indicatorii de tip medie, cu motivul şi cifrele.
data.identitati.motiv string
data.identitati.nota string Precizare despre cum se citesc datele — o capcană, o convenţie sau o limită a sursei.
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_populatie string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_natura 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_sporuri string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_ocupatii string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
data.serii[].raport_venit_baza.ani_sub_baza Anii în care venitul iese sub salariul de bază.
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.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/castiguri/structura?per_pagina=3
{
    "data": {
        "indicator": "venit_brut",
        "denumire": "Venitul brut realizat",
        "natura": "medie",
        "unitate": "lei pe lună",
        "de_la": 2013,
        "pana_la": 2024,
        "filtre": {
            "ocupatie": [
                "total"
            ],
            "sex": [
                "total"
            ],
            "forma": [
                "total"
            ]
        },
        "ani": [
            2013,
            2015,
            2016,
            2017,
            2018,
            2019,
            2020,
            2021,
            2022,
            2023,
            2024
        ],
        "serii": [
            {
                "caen": "01",
                "nivel": "diviziune",
                "denumire": "01 Agricultura, vanatoare si servicii anexe",
                "ocupatie": "total",
                "denumire_ocupatie": "Toate ocupaţiile",
                "sex": "total",
                "forma": "total",
                "unitate": "lei pe lună",
                "ani_publicati": 11,
                "valori": {
                    "2013": "1539",
                    "2015": "1875",
                    "2016": "2162",
                    "2017": "2491",
                    "2018": "3301",
                    "2019": "3728",
                    "2020": "3948",
                    "2021": "4247",
                    "2022": "4748",
                    "2023": "4989",
                    "2024": "5718"
                },
                "raport_venit_baza": {
                    "nota": "Venitul brut realizat împărţit la salariul brut de bază: cât adaugă sporurile, primele şi orele suplimentare.",
                    "valori": {
                        "2013": "1.192",
                        "2015": "1.188",
                        "2016": "1.204",
                        "2017": "1.214",
                        "2018": "1.210",
                        "2019": "1.223",
                        "2020": "1.210",
                        "2021": "1.232",
                        "2022": "1.189",
                        "2023": "1.163",
                        "2024": "1.193"
                    }
                }
            }
        ],
        "identitati": {
            "aplicabile": false,
            "motiv": "indicatorul_e_medie",
            "nota": "Salariul de bază şi venitul brut sunt medii, nu totaluri: nu se adună nici peste ocupaţii, nici peste sexe, nici peste forme de proprietate. Măsurat, suma celor nouă grupe de ocupaţii iese de 7,77 ori media, iar identitatea se închide în 0 din 6.141 de celule. Pentru identităţi verificabile, cere `indicator=numar`."
        }
    },
    "meta": {
        "sursa": "Institutul Naţional de Statistică — ancheta de structură a câştigurilor salariale (TEMPO, matricea FOM121A).",
        "acoperire": {
            "de_la": 2013,
            "pana_la": 2024
        },
        "serii_returnate": 67,
        "nota_populatie": "Ancheta acoperă doar salariaţii cu program complet care au fost plătiţi întreaga lună — de aceea cifrele diferă de mediile generale din /financiar/v1/salariati.",
        "nota_natura": "Numărul de salariaţi se însumează; salariul de bază şi venitul brut sunt medii şi nu se adună pe nicio dimensiune.",
        "nota_identitate": "Salariul de bază şi venitul brut sunt medii, nu totaluri: nu se adună nici peste ocupaţii, nici peste sexe, nici peste forme de proprietate. Măsurat, suma celor nouă grupe de ocupaţii iese de 7,77 ori media, iar identitatea se închide în 0 din 6.141 de celule. Pentru identităţi verificabile, cere `indicator=numar`.",
        "nota_sporuri": "Diferenţa dintre venitul brut realizat şi salariul de bază e valoarea sporurilor, primelor şi orelor suplimentare. `raport_venit_baza` o dă calculată, iar `ani_sub_baza` marchează anii în care venitul iese sub bază.",
        "nota_ocupatii": "Ocupaţiile sunt grupele majore ISCO-08, codificate `1`–`9`; `denumire_ocupatie` le spune în cuvinte."
    }
}

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. prea_multe_serii — peste 1.200; toate ocupaţiile × sexe × forme depăşesc singure limita. interval_prea_lung — peste 20 de ani. Plus indicator, ocupaţie, sex ori formă în afara listei. caen şi grupare trimise împreună, caen_versiune fără caen, ori un cod fără forma CAEN.
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. prea_multe_serii — peste 1.200; toate ocupaţiile × sexe × forme depăşesc singure limita. interval_prea_lung — peste 20 de ani. Plus indicator, ocupaţie, sex ori formă în afara listei. caen şi grupare trimise împreună, caen_versiune fără caen, ori un cod fără forma CAEN.",
        "detalii": {
            "indicator": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}