Carburanti v1 / Carburanti
Construcția fiscală a prețului
Construcţia fiscală a preţului la pompă: de la preţul fără taxe, prin acciză, până la TVA — cât din ce plăteşti e taxă.
GET
https://oneapi.ro/api/carburanti/v1/taxe
Parametri de interogare
NumeTipDescriereValori acceptate
taraopțional
string | null
Codul de țară. Implicit
RO.
ATBEBGCYCZDEDKEEESFIFRGRHRHUIEITLTLULVMTNLPLPTROSESISKUK
produsobligatoriu
string
Codul produsului. Obligatoriu: accizele şi TVA-ul se publică pe produs, cu unităţi diferite.
benzina95motorinamotorina_incalzirepacura_sulf_micpacura_sulf_maregpl
dataopțional
string | null
Data pentru care vrei construcția,
AAAA-LL-ZZ. Implicit: cea mai recentă săptămână.
ex. 2026-08-31
Cum se comportă
- Calculul e în monedă națională, fiindcă acolo se aplică taxele: accizele sunt legiferate în lei, prețurile sunt publicate în euro, iar o adunare între ele fără conversie ar da un număr plauzibil și complet greșit.
- Ordinea e cea fiscală:
preț fără taxe+acciză+alte taxe indirecte=bază TVA, apoi × (1 + TVA) =preț cu taxe reconstruit. - Citește întâi
reconciliere. Acolo scrie cu ce abatere reconstrucția reproduce prețul efectiv publicat. Cândse_inchideefalse, defalcarea nu explică prețul — cel mai des fiindcă sursa datează o schimbare de acciză altfel decât o reflectă deja prețurile, sau fiindcă statul aplică o componentă nepublicată separat. În acel caz folosește prețul publicat, nu suma componentelor. accize_componenteapare doar la benzină și motorină, și doar din 2015 — sursa nu publică defalcarea bio/fosil pentru celelalte produse.- Taxele sunt „în vigoare de la": valoarea aplicabilă e ultima intrare cu data mai mică sau egală cu săptămâna prețului, nu una care coincide cu ea.
- Când sursa publică un preţ CU taxe mai mic decât cel FĂRĂ,
reconciliere.posibilaefalseşimotivspune exact asta. Fără regula asta, ruta dădea explicaţia generică („statul membru aplică o componentă nepublicată") — plauzibilă, dar greşită aici, şi cu un sfat care nu ţine: nu poţi „folosi preţul publicat" când tocmai preţul publicat e cel incoerent.
La ce folosește
- Arăți într-o notă de fundamentare cât din prețul la pompă e acciză și cât e TVA, cu temeiul și data intrării în vigoare.
- Estimezi impactul unei modificări de acciză asupra prețului final, pornind de la structura reală, nu de la o presupunere.
- Verifici dacă prețul practicat de un furnizor e plauzibil față de componenta fiscală obligatorie.
Structura răspunsului
Toate câmpurile de mai jos sunt în data.
CâmpTipDescriere
tara
string
Țara.
produs
string
Produsul.
denumire
string
Denumirea lizibilă a produsului.
saptamana
string
Săptămâna de preț folosită.
ceruta
string
Data cerută.
moneda
string
Moneda în care sunt toate sumele din răspuns.
unitate
string
1000l sau t.
curs_eur_pe_unitate
number
Cursul folosit la conversie.
null în zona euro.
constructie.pret_fara_taxe
number
Prețul fără taxe, în monedă națională pe unitate.
constructie.acciza
object
Acciza aplicată, cu data de la care e în vigoare.
constructie.acciza.valoare
number
Acciza pe unitate.
constructie.acciza.in_vigoare_de_la
string
De când se aplică acest nivel de acciză.
constructie.alte_taxe_indirecte
object
Alte taxe indirecte, cu data intrării în vigoare.
constructie.alte_taxe_indirecte.valoare
number
Alte taxe indirecte pe unitate. La România e 0 din 2009.
constructie.alte_taxe_indirecte.in_vigoare_de_la
string
De când se aplică.
constructie.baza_tva
number
Suma peste care se aplică TVA.
constructie.tva
object
Cota, valoarea și data de la care e în vigoare.
constructie.tva.procent
number
Cota de TVA.
constructie.tva.valoare
number
TVA-ul rezultat, pe unitate.
constructie.tva.in_vigoare_de_la
string
De când se aplică această cotă.
constructie.pret_cu_taxe_reconstruit
number
Rezultatul construcției. Compară-l cu
reconciliere.pret_publicat.
pe_litru.fara_taxe
number
Aceleași componente, pe litru. Lipsește la produsele pe tonă.
pe_litru.acciza
number
Acciza pe litru.
pe_litru.tva
number
TVA pe litru.
pe_litru.cu_taxe
number
Prețul publicat, pe litru.
reconciliere.posibila
boolean
false dacă lipsesc componente pentru perioada cerută.
reconciliere.pret_publicat
number
Prețul efectiv publicat, în monedă națională pe unitate.
reconciliere.abatere_procent
number
Cu cât diferă reconstrucția de prețul publicat.
reconciliere.se_inchide
boolean
true sub 1% abatere. Când e false, nu folosi suma componentelor.
reconciliere.observatie
string
Explicația în clar a rezultatului reconcilierii.
accize_componente.in_vigoare_de_la
string
De când e valabilă defalcarea bio/fosil.
accize_componente.total
number
Acciza totală din defalcare.
accize_componente.bio
object
Partea de biocarburant din acciză: valoarea și ponderea.
accize_componente.bio.acciza
number
Partea de acciză aferentă componentei bio.
accize_componente.bio.procent
number
Ponderea componentei bio.
accize_componente.fosil
object
Partea fosilă din acciză: valoarea și ponderea.
accize_componente.fosil.acciza
number
Partea de acciză aferentă componentei fosile.
accize_componente.fosil.procent
number
Ponderea componentei fosile.
sursa
object
Sursa și licența.
Exemple de răspuns
GEThttps://oneapi.ro/api/carburanti/v1/taxe?produs=benzina95
{
"data": {
"tara": "RO",
"produs": "benzina95",
"denumire": "Benzină Euro-super 95",
"saptamana": "2026-09-14",
"ceruta": "2026-09-14",
"moneda": "RON",
"unitate": "1000l",
"curs_eur_pe_unitate": 0.1902297976,
"constructie": {
"pret_fara_taxe": 5146.2,
"acciza": {
"valoare": 3059.8,
"in_vigoare_de_la": "2026-01-01"
},
"alte_taxe_indirecte": {
"valoare": 0,
"in_vigoare_de_la": "2009-01-07"
},
"baza_tva": 8206,
"tva": {
"procent": 21,
"valoare": 1723.26,
"in_vigoare_de_la": "2025-08-01"
},
"pret_cu_taxe_reconstruit": 9929.26
},
"pe_litru": {
"fara_taxe": 5.1462,
"acciza": 3.0598,
"tva": 1.7233,
"cu_taxe": 9.9293
},
"reconciliere": {
"posibila": true,
"pret_publicat": 9929.26,
"abatere_procent": 0,
"se_inchide": true,
"observatie": "Defalcarea reproduce prețul publicat; diferența rămasă vine din rotunjiri și din medierea săptămânală."
},
"accize_componente": {
"in_vigoare_de_la": "2024-02-19",
"total": 2019.6,
"bio": {
"acciza": 0,
"procent": 0
},
"fosil": {
"acciza": 2019.6,
"procent": 100
}
},
"sursa": {
"nume": "European Commission — Weekly Oil Bulletin (DG ENER)",
"licenta": "CC BY 4.0 (Decizia 2011/833/UE)"
}
}
}
GEThttps://oneapi.ro/api/carburanti/v1/taxe?produs=motorina&data=2022-03-14
{
"data": {
"tara": "RO",
"produs": "motorina",
"denumire": "Motorină auto",
"saptamana": "2022-03-14",
"ceruta": "2022-03-14",
"moneda": "RON",
"unitate": "1000l",
"curs_eur_pe_unitate": 0.2020610224,
"constructie": {
"pret_fara_taxe": 5056.1,
"acciza": {
"valoare": 1734.66,
"in_vigoare_de_la": "2022-01-01"
},
"alte_taxe_indirecte": {
"valoare": 0,
"in_vigoare_de_la": "2009-01-07"
},
"baza_tva": 6790.76,
"tva": {
"procent": 19,
"valoare": 1290.24,
"in_vigoare_de_la": "2017-01-01"
},
"pret_cu_taxe_reconstruit": 8081
},
"pe_litru": {
"fara_taxe": 5.0561,
"acciza": 1.7347,
"tva": 1.2902,
"cu_taxe": 8.081
},
"reconciliere": {
"posibila": true,
"pret_publicat": 8081.02,
"abatere_procent": 0,
"se_inchide": true,
"observatie": "Defalcarea reproduce prețul publicat; diferența rămasă vine din rotunjiri și din medierea săptămânală."
},
"accize_componente": {
"in_vigoare_de_la": "2022-03-14",
"total": 1734.66,
"bio": {
"acciza": 0,
"procent": 0
},
"fosil": {
"acciza": 1734.66,
"procent": 100
}
},
"sursa": {
"nume": "European Commission — Weekly Oil Bulletin (DG ENER)",
"licenta": "CC BY 4.0 (Decizia 2011/833/UE)"
}
}
}
GEThttps://oneapi.ro/api/carburanti/v1/taxe?produs=motorina
{
"data": {
"tara": "RO",
"produs": "motorina",
"denumire": "Motorină auto",
"saptamana": "2026-09-14",
"ceruta": "2026-09-14",
"moneda": "RON",
"unitate": "1000l",
"curs_eur_pe_unitate": 0.1902297976,
"constructie": {
"pret_fara_taxe": 6584.37,
"acciza": {
"valoare": 2103.22,
"in_vigoare_de_la": "2026-09-07"
},
"alte_taxe_indirecte": {
"valoare": 0,
"in_vigoare_de_la": "2009-01-07"
},
"baza_tva": 8687.59,
"tva": {
"procent": 21,
"valoare": 1824.39,
"in_vigoare_de_la": "2025-08-01"
},
"pret_cu_taxe_reconstruit": 10511.98
},
"pe_litru": {
"fara_taxe": 6.5844,
"acciza": 2.1032,
"tva": 1.8244,
"cu_taxe": 10.512
},
"reconciliere": {
"posibila": true,
"pret_publicat": 10511.99,
"abatere_procent": 0,
"se_inchide": true,
"observatie": "Defalcarea reproduce prețul publicat; diferența rămasă vine din rotunjiri și din medierea săptămânală."
},
"accize_componente": {
"in_vigoare_de_la": "2024-02-19",
"total": 1850.95,
"bio": {
"acciza": 0,
"procent": 0
},
"fosil": {
"acciza": 1850.95,
"procent": 100
}
},
"sursa": {
"nume": "European Commission — Weekly Oil Bulletin (DG ENER)",
"licenta": "CC BY 4.0 (Decizia 2011/833/UE)"
}
}
}
GEThttps://oneapi.ro/api/carburanti/v1/taxe?produs=motorina_incalzire
{
"data": {
"tara": "RO",
"produs": "motorina_incalzire",
"denumire": "Motorină de încălzire",
"saptamana": "2026-09-14",
"ceruta": "2026-09-14",
"moneda": "RON",
"unitate": "1000l",
"curs_eur_pe_unitate": 0.1902297976,
"constructie": {
"pret_fara_taxe": 6377.38,
"acciza": {
"valoare": 115.15,
"in_vigoare_de_la": "2026-01-01"
},
"alte_taxe_indirecte": {
"valoare": 0,
"in_vigoare_de_la": "2009-01-07"
},
"baza_tva": 6492.53,
"tva": {
"procent": 21,
"valoare": 1363.43,
"in_vigoare_de_la": "2025-08-01"
},
"pret_cu_taxe_reconstruit": 7855.96
},
"pe_litru": {
"fara_taxe": 6.3774,
"acciza": 0.1152,
"tva": 1.3634,
"cu_taxe": 7.856
},
"reconciliere": {
"posibila": true,
"pret_publicat": 7855.96,
"abatere_procent": 0,
"se_inchide": true,
"observatie": "Defalcarea reproduce prețul publicat; diferența rămasă vine din rotunjiri și din medierea săptămânală."
},
"accize_componente": null,
"sursa": {
"nume": "European Commission — Weekly Oil Bulletin (DG ENER)",
"licenta": "CC BY 4.0 (Decizia 2011/833/UE)"
}
}
}
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. |
| 404 | negasit | Nu există date pentru țara, produsul și data cerute. |
| 422 | validare | Lipsește produs, sau parametri în format greșit. |
| 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": "Lipsește produs, sau parametri în format greșit.",
"detalii": {
"tara": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}