oneapi
Sign in
Financiar v1 / Inflatie

Value of market services

What market services were worth, annually — 2,247 values, 1997–2024, from the matrices PSC101B/C, PSC102A/B, PSC103A and the annual indices PSC104A/B/C. It is the historical counterpart, in lei, of the monthly indices at /financiar/v1/servicii/indici.

⚠️ Two NACE revisions with code lists that do not translate into one another. caen_rev1 runs to 2008, caen_rev2 from 2008 onwards, and the categories differ both in number and in content — 14 classes against 10 services for households, 11 categories against 28 for enterprises. The series are not spliced.

⚠️ The two annual indices overlap over 1998–2002 without contradicting each other: they have DIFFERENT BASE YEARS. One has a fixed 1993 base, the other is chain-linked, with the previous year as base — in 1998 they give 108.9 and 88.3. baza separates them; put into the same series, they would be a contradiction of our own making.

⚠️ The denomination has THREE steps, declared by the source's unit, not by year: „Million lei" 1998–2000, „Billion lei" 2001–2004, „Million RON lei" from 2005. We bring everything to million RON lei. Verified on total services to households: 1,437 (1998) → 3,600 (2000) → 4,571 (2001) → 10,585 (2004) → 12,576 (2005) → 28,990 (2008), a continuous series even though the published figures jump between three scales. The raw figure stays in publicat.

⚠️ The values have a breakdown by form of ownership; the indices do not. Transport, postal and telecommunications services appear only in NACE Rev. 1, up to 2008.

GET
https://oneapi.ro/api/financiar/v1/servicii/valoare

Query parameters

NameTypeDescriptionAccepted values
masuraoptional string | null Optional: valoare (default, million RON) or indice (percent, households only). valoareindice
beneficiaroptional string | null Optional: populatie (default), intreprinderi, transport_posta_telecom (Rev.1 only). populatieintreprinderitransport_posta_telecom
revizieoptional string | null Optional: caen_rev2 (default) or caen_rev1. They do not join. caen_rev1caen_rev2
bazaoptional string | null Optional, only with masura=indice: 1993 or an_precedent. 1993an_precedent
proprietateoptional string | null Optional, only with masura=valoare: total (default), stat, privata. totalstatprivata
de_laoptional string | null Optional, YYYY, between 1997 and 2024. e.g. 2024-06-15
pana_laoptional string | null Optional, YYYY. e.g. 2024e.g. 2024-01-01
caen_versiuneoptional string | null Optional: the revision of the 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
caenlistoptional text Optional, codes separated by commas: any CAEN code — section (C), division (62), group, class (6201) — from any revision. It is brought to the category in the chosen revision, beneficiary and measure — division, group or sum of groups, matched by the nomenclature name; what was used is in meta.caen. e.g. 5510,5630
gruparelistoptional text Optional, separated by commas: the source aggregates that are not CAEN codes — total and the categories without a reliable code (alte_servicii…); the list, with cerere on each, is at /financiar/v1/servicii/valoare/nomenclator. Not sent together with caen. e.g. total

How it behaves

  • What market services were worth, annually — 2,247 values, 1997-2024, from TEMPO matrices PSC101B/C, PSC102A/B, PSC103A and the annual indices PSC104A/B/C. This is the historical counterpart, in lei, of the monthly indices at /financiar/v1/servicii/indici.
  • ⚠️ Two CAEN revisions with nomenclatures that do not translate into one another. caen_rev1 runs to 2008, caen_rev2 from 2008 on, and the categories differ in both count and content — 14 classes against 10 services for households, 11 categories against 28 for enterprises. The series do not join across 2008.
  • ⚠️ Not every Rev.1 row sits on the same level. “Transporturi terestre” includes rail, and “Tranzactii imobiliare” includes property management: the total closes on every year and ownership form (33/33) only without them. That is why they carry nivel = subcategorie; and “Transporturi, depozitare si comunicatii - total” is total, not a category. The categorie rows sum exactly to the total.
  • ⚠️ The two annual indices overlap on 1998-2002 without contradicting each other: they have DIFFERENT BASE YEARS. PSC104A is a fixed-base index on 1993, PSC104B is a chain index on the previous year — in 1998 they give 108.9 and 88.3, figures describing different things. baza separates them; put in one series they would be a contradiction of our making, not the source's.
  • ⚠️ The denomination has THREE steps, declared by the source unit rather than inferred from the year: "Milioane lei" 1998-2000, "Miliarde lei" 2001-2004, "Milioane lei RON" from 2005. Everything is brought to million RON (× 0.0001 and × 0.1). Checked on total household services: 1,437 (1998) → 3,600 (2000) → 4,571 (2001) → 10,585 (2004) → 12,576 (2005) → 28,990 (2008) — a continuous series, even though the published figures jump between three incompatible scales. The raw figure stays in publicat.
  • ⚠️ Values carry an ownership breakdown, indices do not. Where all three appear they do close: stat + privata = total across all 469 pairs checked (2008: 637.8 + 16,227.7 = 16,865.5 million lei). And transport, postal and telecom services appear only in CAEN Rev.1, up to 2008. And the breakdown does not last as long as the total: in CAEN Rev.2 the source publishes ownership forms only up to 2010, while the total runs to 2024. The coverage reported in refusals accounts for this.
  • Not to be confused with /financiar/v1/servicii-anual, which is international trade in services. This is the domestic market.
  • Activity is requested the same way across the platform. caen takes 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.caen states the requested code, the one used and whether it was climbed or converted. grupare is for the source aggregates that are not CAEN codes.

What it is for

  • What household services were worth in a given year, in comparable lei.
  • The shift of services from the state sector to the private one, measured in lei.
  • Historical background in absolute values for the monthly indices that start in 2005.

Response structure

FieldTypeDescription
data.masura string The measure reported — what the value actually counts or sums.
data.beneficiar string The beneficiary the value refers to.
data.descriere_beneficiar string
data.revizie string Source revision the values come from; revisions are not comparable with one another.
data.proprietate string Form of ownership.
data.granularitate string How fine the time step of the values is.
data.unitate string milioane lei RON for values, procente for indices.
data.de_la integer Start of the interval the response covers.
data.pana_la integer End of the interval the response covers, inclusive.
data.filtre.masura string The measure reported — what the value actually counts or sums.
data.filtre.beneficiar string The beneficiary the value refers to.
data.filtre.revizie string Source revision the values come from; revisions are not comparable with one another.
data.filtre.proprietate string Form of ownership.
data.ani array Years for which values exist.
data.serii[].categorie string Category in the source classification.
data.serii[].denumire string The name, exactly as the source publishes it.
data.serii[].nivel string total, categorie or subcategorie. Only categories add up to the total; a subcategorie is already contained in a category — rail inside “Transporturi terestre” (Rev.1, transport) and property management inside “Tranzactii imobiliare” (Rev.1, enterprises).
data.serii[].ani_publicati integer Years the source actually published for this series.
data.serii[].valori object The values of the series, by period.
meta.sursa string The official source the data comes from, with its licence where one is required.
meta.acoperire.de_la string The first period we have data for.
meta.acoperire.pana_la string The last period we have data for.
meta.serii_returnate integer How many series were actually returned, after filters and the cell ceiling.
meta.nota_revizie string What changed at the last source revision and what is no longer comparable.
meta.nota_baza string What the index base is and when it changes.
meta.nota_implicit string Which value was used when the parameter was not sent.
meta.nota_lunar string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_lista string What the list contains and what it does not — its limits.
data.serii[].publicat Present only for pre-2005 years: the raw figure, the source unit and the factor applied.
data.baza Present only for indices; states what the figure is measured against.
meta.fara_date data is null and this says why. The projection over INS data is empty. As for the other series.
meta.fara_date_cod The short, STABLE word for the reason, for clients that branch on it in code: fara_date is prose and may be rephrased, this is not.
meta.caen[] object[] How the 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.
meta.caen[].cerut string The CAEN code sent, normalised (upper case, no dots).
meta.caen[].versiune_cerut string The revision the code sent was read in: the one in caen_versiune, otherwise the first it exists in.
meta.caen[].folosit string The code the series used: the requested one, its first published parent or the source aggregate that contains it (02-03).
meta.caen[].cod string The CAEN code the key used stands for, when the series names its activities differently (agricultura = 01) or the key is an aggregate (62-63).
meta.caen[].nivel string The level of the code used — on company routes, of the requested code: sectiune, subsectiune, diviziune, grupa, clasa or agregat.
meta.caen[].denumire string The name of the code, from the CAEN nomenclature.
meta.caen[].versiune_serie string The CAEN revision the series is published in.
meta.caen[].conversie boolean true when the code was translated from one revision to another through the official INS correspondence.
meta.caen[].urcat boolean true when the series does not publish the requested code and a higher level was used.

Response examples

GEThttps://oneapi.ro/api/financiar/v1/servicii/valoare?per_pagina=3
{
    "data": {
        "masura": "valoare",
        "beneficiar": "populatie",
        "descriere_beneficiar": "servicii de piaţă prestate populaţiei",
        "revizie": "caen_rev2",
        "proprietate": "total",
        "granularitate": "anual",
        "unitate": "milioane lei RON",
        "de_la": 2008,
        "pana_la": 2024,
        "filtre": {
            "masura": "valoare",
            "beneficiar": "populatie",
            "revizie": "caen_rev2",
            "proprietate": "total"
        },
        "ani": [
            2008,
            2009,
            2010,
            2011,
            2012,
            2013,
            2014,
            2015,
            2016,
            2017,
            2018,
            2019,
            2020,
            2021,
            2022,
            2023,
            2024
        ],
        "serii": [
            {
                "categorie": "activitati_ale_agentiilor_turistice_si_ale_tur_operatorilor",
                "denumire": "Activitati ale agentiilor turistice si ale tur-operatorilor",
                "nivel": "categorie",
                "ani_publicati": 17,
                "valori": {
                    "2008": "3575.8",
                    "2009": "2810.3",
                    "2010": "2918.2",
                    "2011": "3318",
                    "2012": "3923.4",
                    "2013": "3976",
                    "2014": "4225.2",
                    "2015": "4635.8",
                    "2016": "3761.5",
                    "2017": "3842.4",
                    "2018": "3955.8",
                    "2019": "4506.7",
                    "2020": "2124.8",
                    "2021": "3648.9",
                    "2022": "6074.7",
                    "2023": "7224.4",
                    "2024": "8871.8"
                }
            }
        ]
    },
    "meta": {
        "sursa": "Institutul Naţional de Statistică — valoarea serviciilor de piaţă şi indicii lor anuali (TEMPO, matricile PSC101B/C, PSC102A/B, PSC103A, PSC104A/B/C).",
        "acoperire": {
            "de_la": "2008-01-01",
            "pana_la": "2024-01-01"
        },
        "serii_returnate": 10,
        "nota_revizie": "⚠️ Nomenclatoarele celor două revizii CAEN nu se traduc unul în altul. Seriile nu se lipesc peste 2008.",
        "nota_baza": "⚠️ Cei doi indici anuali se suprapun pe 1998-2002 fiindcă au ani de bază diferiţi — unul fix 1993, celălalt în lanţ. Nu e o contradicţie a sursei.",
        "nota_implicit": "Implicite: proprietate.",
        "nota_lunar": "Pentru conjunctura lunară, cu bază 2021, sunt indicii de la /financiar/v1/servicii/indici.",
        "nota_lista": "Nomenclatorul fiecărei revizii: /financiar/v1/servicii/valoare/nomenclator."
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatMissing or invalid token.
403feature_indisponibilfinanciar.indici is not in the current plan.
404caen_nepublicatNeither 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.
422caen_inexistentThe code in caen exists in no CAEN revision; it is a bad FILTER value, hence 422, not 404. proprietate_inaplicabila / baza_inaplicabila — the parameter does not match the chosen measure. raspuns_prea_mare — over 20,000 cells. caen and grupare sent together, caen_versiune without caen, or a code that is not CAEN-shaped. masura_indisponibila — indices exist for households only.
429cota_depasitaThe 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. proprietate_inaplicabila / baza_inaplicabila — the parameter does not match the chosen measure. raspuns_prea_mare — over 20,000 cells. caen and grupare sent together, caen_versiune without caen, or a code that is not CAEN-shaped. masura_indisponibila — indices exist for households only.",
        "detalii": {
            "masura": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}