Energie v1 / Piaţa de energie
Fluxurile fizice pe graniţe
Fluxurile fizice pe fiecare graniţă, cu importul, exportul şi soldul calculat. Cu vecin se cere o singură graniţă, cu directie doar un sens.
GET
https://oneapi.ro/api/energie/v1/piata/schimburi
Parametri de interogare
NumeTipDescriereValori acceptate
de_laopțional
string | null
Începutul ferestrei. Implicit acum 7 zile.
ex. 2026-09-01
pana_laopțional
string | null
Sfârşitul ferestrei. Implicit acum.
ex. 2026-09-06
zonaopțional
string | null
Codul EIC al zonei de ofertare. Implicit România. Singura zonă importată azi e
10YRO-TEL------P; orice altă valoare dă 422, nu o serie goală. Lista e în /piata/acoperire, la zone_ofertare.
10YRO-TEL------P
vecinopțional
string | null
Codul de ţară al unei graniţe:
HU, BG, RS, UA, MD.
max 2 car.
directieopțional
string | null
import sau export.
importexport
per_paginaopțional
text
Câte intervale pe pagină, până la 2000.
ex. 500
paginaopțional
text
Pagina, numărată de la 1.
ex. 1
Cum se comportă
- Istoricul are un gol, şi el se vede la
/piata/acoperire. Seria începe în 2015, dar importul de istoric e încă în curs: în prezent lipsesc ~28-30 de luni (2015-03 → 2017-08). O cerere care cade în gol întoarce200cu listă goală — ceea ce NU înseamnă că piaţa n-a avut activitate, ci că perioada n-a fost adusă încă. Câmpulgoluridin acoperire listează exact lunile care lipsesc, calculat din date, deci se micşorează singur pe măsură ce istoricul se completează. - Fluxurile fizice pe cele cinci graniţe ale zonei — Ungaria, Bulgaria, Serbia, Ucraina şi Republica Moldova — pe ambele direcţii.
- Sursa nu publică un sold, ci două serii pozitive per graniţă. Soldul e calculat aici (import − export) şi vine cu
directie_netaîn clar, ca să nu depinzi de semn. E altceva decât zonasen, unde Transelectrica publică un sold deja semnat, pe fiecare dintre cele 24 de puncte fizice de interconexiune. - Rezoluţia diferă de la o graniţă la alta. Ungaria publică la sfert de oră, restul la oră — de aceea seriile nu se pot aduna interval cu interval, iar agregarea din
pe_granitaşisoldse face pe energie (putere × durată), unde pasul nu mai contează. pe_granitaşisoldse calculează pe toată fereastra şi pe toate graniţele, indiferent de filtrele paginii — altfel soldul ar depinde de ce ai cerut să vezi.
La ce folosește
- Vezi din ce ţări a intrat energie şi spre care a ieşit, pe o zi sau pe o lună.
- Închizi bilanţul: producţia şi consumul nu sunt egale, iar diferenţa e exact schimbul.
- Urmăreşti dacă ţara a fost pe net importatoare într-o perioadă şi cu cât.
Structura răspunsului
CâmpTipDescriere
data.serie[].valoare_mw
number
Fluxul fizic, putere medie pe interval, mereu pozitiv.
data.serie[].directie
string
import sau export.
data.pe_granita[].sold_mwh
number
Soldul graniţei: import − export.
data.sold.directie_neta
string
import, export ori echilibru.
data.filtru_vecin
null
Graniţa pe care s-a filtrat seria, dacă s-a cerut una.
data.filtru_directie
null
Direcţia pe care s-a filtrat seria, dacă s-a cerut una.
data.pe_granita[].vecin
string
Codul de ţară al graniţei.
data.pe_granita[].vecin_denumire
string
Denumirea vecinului.
data.pe_granita[].vecin_eic
string
Codul EIC al zonei vecine — identitatea reală, fiindcă o ţară poate avea mai multe zone de ofertare.
data.pe_granita[].rezolutie_min
integer
Pasul la care publică graniţa asta. Diferă de la o graniţă la alta.
data.pe_granita[].import_mwh
number
Energia intrată prin graniţă în fereastră.
data.pe_granita[].export_mwh
number
Energia ieşită prin graniţă în fereastră.
data.pe_granita[].import_putere_medie_mw
number
Puterea medie la import, ponderată cu durata.
data.pe_granita[].export_putere_medie_mw
number
Puterea medie la export, ponderată cu durata.
data.pe_granita[].directie_neta
string
Citirea în clar a semnului:
import, export sau echilibru.
data.pe_granita[].intervale
integer
Câte intervale au intrat în agregat, pe ambele direcţii.
data.sold.import_mwh
number
Energia totală intrată în zonă, pe toate graniţele.
data.sold.export_mwh
number
Energia totală ieşită din zonă.
data.sold.sold_mwh
number
Soldul zonei: import − export.
data.serie[].moment
string
Începutul intervalului, în UTC.
data.fara_date
null
Prezent (nenul) DOAR când seria e goală, şi spune DE CE:
motiv e dupa_acoperire (fereastra cerută e după ultimul punct importat), inainte_de_acoperire sau gol_in_acoperire (lipsă în mijlocul istoricului). acoperire dă capetele reale ale seriei. ⚠️ O serie goală NU înseamnă că piaţa n-a avut activitate.
data.serie[].rezolutie_min
integer
Durata intervalului, în minute.
data.serie[].vecin
string
Codul de ţară al graniţei.
data.serie[].vecin_denumire
string
Denumirea vecinului.
data.serie[].vecin_eic
string
Codul EIC al zonei vecine.
data.observatie
string
De ce fluxul e pe direcţie şi nu ca sold, şi de ce seriile nu se adună interval cu interval.
data.sursa
object
ENTSO-E Transparency Platform, cu atribuirea obligatorie.
meta.paginare.pagina
integer
Pagina curentă, numărată de la 1.
meta.paginare.per_pagina
integer
Câte înregistrări are o pagină.
meta.paginare.total
integer
Totalul înregistrărilor care se potrivesc, dincolo de pagina curentă.
meta.paginare.pagini
integer
Câte pagini are lista.
Exemple de răspuns
GEThttps://oneapi.ro/api/energie/v1/piata/schimburi
{
"data": {
"zona": "10YRO-TEL------P",
"de_la": "2026-09-29 20: 39: 53",
"pana_la": "2026-10-06 20: 39: 53",
"filtru_vecin": null,
"filtru_directie": null,
"fara_date": null,
"pe_granita": [
{
"vecin": "BG",
"vecin_denumire": "Bulgaria",
"vecin_eic": "10YCA-BULGARIA-R",
"rezolutie_min": 60,
"import_mwh": 133302.2,
"export_mwh": 15671.3,
"import_putere_medie_mw": 1101.7,
"export_putere_medie_mw": 129.5,
"intervale": 242,
"sold_mwh": 117630.9,
"directie_neta": "import"
}
],
"sold": {
"import_mwh": 159706.9,
"export_mwh": 84351.4,
"sold_mwh": 75355.5,
"directie_neta": "import"
},
"serie": [
{
"moment": "2026-09-29T20: 45: 00+03: 00",
"rezolutie_min": 15,
"vecin": "HU",
"vecin_denumire": "Ungaria",
"vecin_eic": "10YHU-MAVIR----U",
"directie": "export",
"valoare_mw": 144.089
}
],
"observatie": "Fluxul fizic e publicat pe DIRECŢIE, nu ca sold: fiecare graniţă are două serii, ambele pozitive, iar soldul se calculează (import − export). Rezoluţia diferă de la o graniţă la alta — Ungaria publică la sfert de oră, restul la oră — deci seriile NU se pot aduna interval cu interval; agregarea din `pe_granita` şi `sold` se face pe energie.",
"sursa": {
"nume": "ENTSO-E Transparency Platform",
"url": "https://transparency.entsoe.eu",
"atribuire": "Date din ENTSO-E Transparency Platform.",
"licenta": "Reutilizare permisă cu ATRIBUIRE obligatorie către Transparency Platform. Drepturile nu sunt sublicențiabile.",
"observatie": "Zona `piata` e seria oficială europeană; zona `sen` e instantaneul Transelectrica. Au surse, pași și definiții diferite — cifrele lor nu se compară direct."
}
},
"meta": {
"paginare": {
"pagina": 1,
"per_pagina": 500,
"total": 1602,
"pagini": 4
}
}
}
GEThttps://oneapi.ro/api/energie/v1/piata/schimburi?vecin=BG&directie=import
{
"data": {
"zona": "10YRO-TEL------P",
"de_la": "2026-09-29 20: 39: 53",
"pana_la": "2026-10-06 20: 39: 53",
"filtru_vecin": "BG",
"filtru_directie": "import",
"fara_date": null,
"pe_granita": [
{
"vecin": "BG",
"vecin_denumire": "Bulgaria",
"vecin_eic": "10YCA-BULGARIA-R",
"rezolutie_min": 60,
"import_mwh": 133302.2,
"export_mwh": 15671.3,
"import_putere_medie_mw": 1101.7,
"export_putere_medie_mw": 129.5,
"intervale": 242,
"sold_mwh": 117630.9,
"directie_neta": "import"
}
],
"sold": {
"import_mwh": 159706.9,
"export_mwh": 84351.4,
"sold_mwh": 75355.5,
"directie_neta": "import"
},
"serie": [
{
"moment": "2026-09-29T21: 00: 00+03: 00",
"rezolutie_min": 60,
"vecin": "BG",
"vecin_denumire": "Bulgaria",
"vecin_eic": "10YCA-BULGARIA-R",
"directie": "import",
"valoare_mw": 1708.64
}
],
"observatie": "Fluxul fizic e publicat pe DIRECŢIE, nu ca sold: fiecare graniţă are două serii, ambele pozitive, iar soldul se calculează (import − export). Rezoluţia diferă de la o graniţă la alta — Ungaria publică la sfert de oră, restul la oră — deci seriile NU se pot aduna interval cu interval; agregarea din `pe_granita` şi `sold` se face pe energie.",
"sursa": {
"nume": "ENTSO-E Transparency Platform",
"url": "https://transparency.entsoe.eu",
"atribuire": "Date din ENTSO-E Transparency Platform.",
"licenta": "Reutilizare permisă cu ATRIBUIRE obligatorie către Transparency Platform. Drepturile nu sunt sublicențiabile.",
"observatie": "Zona `piata` e seria oficială europeană; zona `sen` e instantaneul Transelectrica. Au surse, pași și definiții diferite — cifrele lor nu se compară direct."
}
},
"meta": {
"paginare": {
"pagina": 1,
"per_pagina": 500,
"total": 121,
"pagini": 1
}
}
}
GEThttps://oneapi.ro/api/energie/v1/piata/schimburi?vecin=HU&directie=export
{
"data": {
"zona": "10YRO-TEL------P",
"de_la": "2026-09-29 20: 39: 53",
"pana_la": "2026-10-06 20: 39: 53",
"filtru_vecin": "HU",
"filtru_directie": "export",
"fara_date": null,
"pe_granita": [
{
"vecin": "BG",
"vecin_denumire": "Bulgaria",
"vecin_eic": "10YCA-BULGARIA-R",
"rezolutie_min": 60,
"import_mwh": 133302.2,
"export_mwh": 15671.3,
"import_putere_medie_mw": 1101.7,
"export_putere_medie_mw": 129.5,
"intervale": 242,
"sold_mwh": 117630.9,
"directie_neta": "import"
}
],
"sold": {
"import_mwh": 159706.9,
"export_mwh": 84351.4,
"sold_mwh": 75355.5,
"directie_neta": "import"
},
"serie": [
{
"moment": "2026-09-29T20: 45: 00+03: 00",
"rezolutie_min": 15,
"vecin": "HU",
"vecin_denumire": "Ungaria",
"vecin_eic": "10YHU-MAVIR----U",
"directie": "export",
"valoare_mw": 144.089
}
],
"observatie": "Fluxul fizic e publicat pe DIRECŢIE, nu ca sold: fiecare graniţă are două serii, ambele pozitive, iar soldul se calculează (import − export). Rezoluţia diferă de la o graniţă la alta — Ungaria publică la sfert de oră, restul la oră — deci seriile NU se pot aduna interval cu interval; agregarea din `pe_granita` şi `sold` se face pe energie.",
"sursa": {
"nume": "ENTSO-E Transparency Platform",
"url": "https://transparency.entsoe.eu",
"atribuire": "Date din ENTSO-E Transparency Platform.",
"licenta": "Reutilizare permisă cu ATRIBUIRE obligatorie către Transparency Platform. Drepturile nu sunt sublicențiabile.",
"observatie": "Zona `piata` e seria oficială europeană; zona `sen` e instantaneul Transelectrica. Au surse, pași și definiții diferite — cifrele lor nu se compară direct."
}
},
"meta": {
"paginare": {
"pagina": 1,
"per_pagina": 500,
"total": 486,
"pagini": 1
}
}
}
GEThttps://oneapi.ro/api/energie/v1/piata/schimburi?directie=import&de_la=2026-10-01&pana_la=2026-10-02
{
"data": {
"zona": "10YRO-TEL------P",
"de_la": "2026-09-30 21: 00: 00",
"pana_la": "2026-10-01 21: 00: 00",
"filtru_vecin": null,
"filtru_directie": "import",
"fara_date": null,
"pe_granita": [
{
"vecin": "BG",
"vecin_denumire": "Bulgaria",
"vecin_eic": "10YCA-BULGARIA-R",
"rezolutie_min": 60,
"import_mwh": 25126.2,
"export_mwh": 3849.8,
"import_putere_medie_mw": 1005,
"export_putere_medie_mw": 154,
"intervale": 50,
"sold_mwh": 21276.4,
"directie_neta": "import"
}
],
"sold": {
"import_mwh": 30360.8,
"export_mwh": 20297.8,
"sold_mwh": 10063,
"directie_neta": "import"
},
"serie": [
{
"moment": "2026-09-30T21: 00: 00+03: 00",
"rezolutie_min": 60,
"vecin": "BG",
"vecin_denumire": "Bulgaria",
"vecin_eic": "10YCA-BULGARIA-R",
"directie": "import",
"valoare_mw": 1827.92
}
],
"observatie": "Fluxul fizic e publicat pe DIRECŢIE, nu ca sold: fiecare graniţă are două serii, ambele pozitive, iar soldul se calculează (import − export). Rezoluţia diferă de la o graniţă la alta — Ungaria publică la sfert de oră, restul la oră — deci seriile NU se pot aduna interval cu interval; agregarea din `pe_granita` şi `sold` se face pe energie.",
"sursa": {
"nume": "ENTSO-E Transparency Platform",
"url": "https://transparency.entsoe.eu",
"atribuire": "Date din ENTSO-E Transparency Platform.",
"licenta": "Reutilizare permisă cu ATRIBUIRE obligatorie către Transparency Platform. Drepturile nu sunt sublicențiabile.",
"observatie": "Zona `piata` e seria oficială europeană; zona `sen` e instantaneul Transelectrica. Au surse, pași și definiții diferite — cifrele lor nu se compară direct."
}
},
"meta": {
"paginare": {
"pagina": 1,
"per_pagina": 500,
"total": 173,
"pagini": 1
}
}
}
Coduri de eroare
| Cod | Slug | Când apare |
|---|---|---|
| 401 | neautentificat | Token lipsă, invalid, expirat sau revocat. |
| 403 | feature_indisponibil | Planul curent nu include funcţia de care ţine ruta. |
| 422 | validare | Graniţa cerută nu există ori direcţia nu e import/export. |
| 429 | cota_depasita | Cota 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": "validare",
"mesaj": "Graniţa cerută nu există ori direcţia nu e import/export.",
"detalii": {
"de_la": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}