Energie v1 / Sistemul energetic (SEN)
Series of observations
The moments are NOT evenly spaced — read the note in the response before computing averages.
GET
https://oneapi.ro/api/energie/v1/sen/serie
Query parameters
NameTypeDescriptionAccepted values
de_laoptional
string | null
First moment included. Accepts any recognised date format.
e.g. 2026-09-04 00:00:00
pana_laoptional
string | null
Last moment included.
e.g. 2026-09-04 23:59:59
limitaoptional
integer | null
How many observations to return, maximum 1000. Defaults to 100.
1 – 1000
How it behaves
- The series is made of observations at irregular moments: they accumulate when the import runs, not at a fixed interval. The averages here are averages over observations, not over time, and cannot be converted into energy (MWh) without a constant-step series.
- For regular, constant-step series with long history, the right source is the ENTSO-E Transparency Platform — not this one. That zone of the module is built separately.
- Ordering is descending by moment.
acoperirestates how many observations exist and what interval they cover.
What it is for
- Chart generation and consumption across the accumulated observations.
- Track how the renewable share moves from one reading to the next.
- Check what interval the data covers before building on it.
Response structure
All fields below live inside data.
FieldTypeDescription
inregistrari
integer
Câte observații conține răspunsul.
serie[].momentul
string
Momentul observației, în UTC.
serie[].sistem
object
Generation, consumption, balance and renewable share at that moment.
serie[].sistem.productie_mw
integer
Producția totală a sistemului, în MW.
serie[].sistem.consum_mw
integer
Consumul total, în MW.
serie[].sistem.sold_mw
integer
Soldul schimburilor: NEGATIV = România exportă net, pozitiv = importă net.
serie[].sistem.directie_sold
string
export, import sau echilibru — citirea în clar a semnului.
serie[].sistem.regenerabil_procent
number
Ponderea hidro + eolian + fotovoltaic + biomasă în suma surselor citite.
serie[].productie_pe_sursa[]
array
The per-source breakdown of generation for that reading.
serie[].productie_pe_sursa[].cod
string
Codul sursei (
carbune_mw, fotovoltaic_mw…).
serie[].productie_pe_sursa[].denumire
string
Denumirea lizibilă.
serie[].productie_pe_sursa[].regenerabila
boolean
Dacă intră în ponderea regenerabilelor.
serie[].productie_pe_sursa[].valoare_mw
integer
Producția din acea sursă, în MW. Poate fi NEGATIVĂ la eolian.
acoperire.observatii
integer
Câte observații sunt în total în bază.
acoperire.prima
string
Cea mai veche observație.
acoperire.ultima
string
Cea mai recentă observație.
acoperire.regenerabil_mediu_procent
number
Media ponderii regenerabilelor peste toate observațiile.
acoperire.productie_minima_mw
integer
Cea mai mică producție observată.
acoperire.productie_maxima_mw
integer
Cea mai mare producție observată.
acoperire.consum_minim_mw
integer
Cel mai mic consum observat.
acoperire.consum_maxim_mw
integer
Cel mai mare consum observat.
observatie
string
Avertismentul despre observații neechidistante.
sursa
object
The data source, with its licence and notes.
sursa.nume
string
Sursa datelor.
sursa.url
string
Pagina sursei.
sursa.observatie
string
Temeiul publicării și precizarea că sursa nu publică termeni de reutilizare pentru acest flux.
Response examples
GEThttps://oneapi.ro/api/energie/v1/sen/serie?limita=50
{
"data": {
"inregistrari": 13,
"serie": [
{
"momentul": "2026-09-04 12: 13: 29+03",
"sistem": {
"productie_mw": 5152,
"consum_mw": 4754,
"sold_mw": -398,
"directie_sold": "export",
"regenerabil_procent": 68.8
},
"productie_pe_sursa": [
{
"cod": "carbune_mw",
"denumire": "Cărbune",
"regenerabila": false,
"valoare_mw": 640
}
]
}
],
"acoperire": {
"observatii": 13,
"prima": "2026-09-04 11: 59: 46+03",
"ultima": "2026-09-04 12: 13: 29+03",
"regenerabil_mediu_procent": 69.13,
"productie_minima_mw": 5145,
"productie_maxima_mw": 5258,
"consum_minim_mw": 4713,
"consum_maxim_mw": 4817
},
"observatie": "Seria e formată din OBSERVAȚII, la momente neechidistante — se acumulează când rulează importul, nu la interval fix. Mediile de aici sunt medii peste observații, nu medii în timp, și NU se pot converti în energie (MWh) fără o serie la pas constant. Pentru serii regulate și istoric, sursa potrivită e ENTSO-E.",
"sursa": {
"nume": "Transelectrica — harta operativă a Sistemului Energetic Național",
"url": "https://www.transelectrica.ro/",
"observatie": "Date de transparență publicate în temeiul Regulamentului (UE) 543/2013. Transelectrica nu publică termeni de reutilizare pentru acest flux."
}
}
}
GEThttps://oneapi.ro/api/energie/v1/sen/serie?de_la=2026-09-04%2000:00:00&pana_la=2026-09-04%2012:00:00
{
"data": {
"inregistrari": 1,
"serie": [
{
"momentul": "2026-09-04 11: 59: 46+03",
"sistem": {
"productie_mw": 5158,
"consum_mw": 4817,
"sold_mw": -340,
"directie_sold": "export",
"regenerabil_procent": 68.86
},
"productie_pe_sursa": [
{
"cod": "carbune_mw",
"denumire": "Cărbune",
"regenerabila": false,
"valoare_mw": 638
}
]
}
],
"acoperire": {
"observatii": 13,
"prima": "2026-09-04 11: 59: 46+03",
"ultima": "2026-09-04 12: 13: 29+03",
"regenerabil_mediu_procent": 69.13,
"productie_minima_mw": 5145,
"productie_maxima_mw": 5258,
"consum_minim_mw": 4713,
"consum_maxim_mw": 4817
},
"observatie": "Seria e formată din OBSERVAȚII, la momente neechidistante — se acumulează când rulează importul, nu la interval fix. Mediile de aici sunt medii peste observații, nu medii în timp, și NU se pot converti în energie (MWh) fără o serie la pas constant. Pentru serii regulate și istoric, sursa potrivită e ENTSO-E.",
"sursa": {
"nume": "Transelectrica — harta operativă a Sistemului Energetic Național",
"url": "https://www.transelectrica.ro/",
"observatie": "Date de transparență publicate în temeiul Regulamentului (UE) 543/2013. Transelectrica nu publică termeni de reutilizare pentru acest flux."
}
}
}
GEThttps://oneapi.ro/api/energie/v1/sen/serie?pana_la=2024-06-15
{
"data": {
"inregistrari": 0,
"serie": [],
"acoperire": {
"observatii": 13,
"prima": "2026-09-04 11: 59: 46+03",
"ultima": "2026-09-04 12: 13: 29+03",
"regenerabil_mediu_procent": 69.13,
"productie_minima_mw": 5145,
"productie_maxima_mw": 5258,
"consum_minim_mw": 4713,
"consum_maxim_mw": 4817
},
"observatie": "Seria e formată din OBSERVAȚII, la momente neechidistante — se acumulează când rulează importul, nu la interval fix. Mediile de aici sunt medii peste observații, nu medii în timp, și NU se pot converti în energie (MWh) fără o serie la pas constant. Pentru serii regulate și istoric, sursa potrivită e ENTSO-E.",
"sursa": {
"nume": "Transelectrica — harta operativă a Sistemului Energetic Național",
"url": "https://www.transelectrica.ro/",
"observatie": "Date de transparență publicate în temeiul Regulamentului (UE) 543/2013. Transelectrica nu publică termeni de reutilizare pentru acest flux."
}
}
}
Error codes
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Token missing, invalid, expired or revoked. |
| 403 | feature_indisponibil | The current plan does not include the feature the route depends on. |
| 422 | validare | pana_la precedes de_la, or limita exceeds 1000. |
| 429 | cota_depasita | The 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": "validare",
"mesaj": "pana_la precedes de_la, or limita exceeds 1000.",
"detalii": {
"de_la": [
"The value sent does not satisfy the parameter rule."
]
}
}
}