oneapi
Sign in
Energie v1 / Balanţe energetice

Fuels for thermoelectric generation

What is burned for thermal electricity: the fuel mix (percentages) and the specific consumption of fuel (kg of oil equivalent). 330 values, annually 1992–2024 (IND116A, IND120A).

⚠️ Lignit is an „of which" inside Carbuni, not a fuel alongside it. Published only in 2014 and 2015 — 38.7% and 40.1%, against 46.0% and 45.0% for coal — so it is contained within it. Summed with the others, it would be counted twice. nivel marks it as din_care.

⚠️ The gap between the total and the components widens over time. Total, of which: is 100% by construction, but the published components covered 98.6% in 1992 and only 62.2% in 2023 — today more than a third of thermal generation rests on fuels the source no longer breaks out.

⚠️ For consum_specific, the total is not the sum of the components but a weighted average — 213.8 kg oe in 2024, against 775.8 if the components are added up. Only structura behaves as a decomposition.

GET
https://oneapi.ro/api/energie/v1/balante/combustibili

Query parameters

NameTypeDescriptionAccepted values
masuraoptional string | null structura (default, percent) or consum_specific (kg of oil equivalent). consum_specificstructura
combustibiloptional string | null The slug of a fuel from the nomenclature. e.g. carbuni
de_laoptional string | null First year included, from 1992. e.g. 2010
pana_laoptional string | null Last year included. e.g. 2024

How it behaves

  • What is burned for thermoelectric energy: the fuel mix (percent) and the specific consumption of fuel (kg of oil equivalent). 330 values, annual 1992-2024 (IND116A, IND120A).
  • lignit is "of which" inside carbuni, not a fuel beside it. Published only in 2014 and 2015 — 38.7% and 40.1%, against 46.0% and 45.0% for coal — so it is contained within it. Summed with the others, it would be counted twice. nivel=din_care marks it.
  • The gap between the total and the components widens over time. Total, din care: is 100% by construction, but the published components covered 98.6% of the mix in 1992 and only 62.2% in 2023. It is not a fixed share left undetailed but a coverage that thins out: today more than a third of thermoelectric generation rests on fuels the source no longer breaks out.
  • For consum_specific the total is not the sum of the components but a weighted average — 213.8 kg of oil equivalent in 2024, against 775.8 for the components added up. It is the specific consumption of each fuel, so adding them is meaningless. Only structura behaves as a decomposition.

What it is for

  • See how the coal share of thermoelectric generation fell.
  • Track thermal plant efficiency through specific fuel consumption.

Response structure

FieldTypeDescription
data.masura string structura ori consum_specific.
data.serii[].combustibil string Slugul combustibilului.
data.serii[].nivel string total, component ori din_care — ultimul e lignitul, cuprins în cărbuni.
data.serii[].valori object An → valoare, ca text zecimal.
data.granularitate string The series step. For balances it is always anual: INS publishes the balance once a year.
data.de_la integer First year in the response.
data.pana_la integer Last year in the response.
data.filtre object The filters actually applied, so you can see what was read from the request.
data.ani array The years covered, in order — the keys inside valori.
data.serii[].um The unit-of-measure code.
data.serii[].um_denumire string The unit of measure spelled out. Read it: series in the same response can use different units, and adding them would mean nothing.
data.serii[].ani_publicati integer How many years carry an actual value. The difference from the length of ani is the gaps in INS publication.
meta.sursa string The INS dataset the series comes from, with the source matrix.
meta.acoperire object The year range available in the database for this zone, regardless of the filter requested.
meta.serii_returnate integer How many series are in the response.
data.descriere_masura string What the chosen measure means.
data.serii[].combustibil_denumire string The fuel name.
meta.nota_lignit string Why lignite appears separately from "coal" and how the two relate.
meta.nota_total string Which rows are totals.
meta.nota_sen string The relationship with the real-time data in the sen zone.
meta.nota_lista string Where the fuel codes are.

Response examples

GEThttps://oneapi.ro/api/energie/v1/balante/combustibili?de_la=2015
{
    "data": {
        "masura": "structura",
        "descriere_masura": "ponderea fiecărui combustibil în producţia termoelectrică, în procente",
        "granularitate": "anual",
        "de_la": 2015,
        "pana_la": 2024,
        "filtre": {
            "masura": "structura"
        },
        "ani": [
            2015,
            2016,
            2017,
            2018,
            2019,
            2020,
            2021,
            2022,
            2023,
            2024
        ],
        "serii": [
            {
                "combustibil": "carbuni",
                "combustibil_denumire": "Carbuni",
                "nivel": "component",
                "um_denumire": "Procente",
                "ani_publicati": 10,
                "valori": {
                    "2015": "45",
                    "2016": "41.6",
                    "2017": "42.1",
                    "2018": "40.4",
                    "2019": "38.8",
                    "2020": "29.7",
                    "2021": "32",
                    "2022": "31.7",
                    "2023": "27.3",
                    "2024": "24.3"
                }
            }
        ]
    },
    "meta": {
        "sursa": "Institutul Naţional de Statistică — balanţele energetice (TEMPO, matricile IND107A-IND121A).",
        "acoperire": {
            "de_la": "1992-01-01",
            "pana_la": "2024-01-01"
        },
        "serii_returnate": 6,
        "nota_lignit": "⚠️ `lignit` e „din care\" din `carbuni`, publicat doar în 2014 şi 2015. `nivel=din_care` îl marchează — însumat cu ceilalţi, s-ar număra de două ori.",
        "nota_total": "⚠️ Componentele publicate acopereau 98,6% din structură în 1992 şi doar 62,2% în 2023 — golul se lărgeşte în timp. Iar la `consum_specific` totalul e o medie ponderată, nu o sumă: 213,8 kg ep în 2024, faţă de 775,8 cât dau componentele adunate.",
        "nota_sen": "Sunt date statistice anuale. Starea instantanee a sistemului, de la Transelectrica, e la /energie/v1/sen — altă natură, nu se compară.",
        "nota_lista": "Nomenclatoarele zonei: /energie/v1/balante/nomenclator."
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403feature_indisponibilThe current plan does not include the feature the route depends on.
404necunoscutThe fuel does not appear in the nomenclature.
404in_afara_acopeririiThe requested range falls outside the published years.
422raspuns_prea_mareOver 20,000 cells.
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": "raspuns_prea_mare",
        "mesaj": "Over 20,000 cells.",
        "detalii": {
            "masura": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}