Carburanti v1 / Carburanti
Tax build-up of the price
The tax build-up of the pump price: from the pre-tax price through excise duty to VAT — how much of what you pay is tax.
GET
https://oneapi.ro/api/carburanti/v1/taxe
Query parameters
NameTypeDescriptionAccepted values
taraoptional
string | null
Country code. Defaults to
RO.
ATBEBGCYCZDEDKEEESFIFRGRHRHUIEITLTLULVMTNLPLPTROSESISKUK
produsrequired
string
Product code. Required: excise and VAT are published per product, with different units.
benzina95motorinamotorina_incalzirepacura_sulf_micpacura_sulf_maregpl
dataoptional
string | null
The date you want the build-up for,
YYYY-MM-DD. Defaults to the most recent week.
e.g. 2026-08-31
How it behaves
- When the source publishes a price WITH taxes lower than the one WITHOUT,
reconciliere.posibilaisfalseandmotivsays exactly that. Without this rule the route gave the generic explanation ("the member state applies an unpublished component") — plausible, but wrong here, and with advice that does not hold: you cannot "use the published price" when the published price is the inconsistent one. - The calculation is in national currency, because that is where the taxes apply: excise duties are legislated in the national currency, prices are published in euro, and adding them without conversion would give a plausible and entirely wrong number.
- The order is the fiscal one:
pre-tax price+excise+other indirect taxes=VAT base, then × (1 + VAT) =reconstructed price with taxes. - Read
reconcilierefirst. It states how closely the reconstruction reproduces the actually published price. Whense_inchideisfalse, the breakdown does not explain the price — most often because the source dates an excise change differently from how the prices already reflect it, or because the state applies a component not published separately. In that case use the published price, not the sum of the components. accize_componenteappears only for petrol and diesel, and only from 2015 — the source does not publish the bio/fossil split for the other products.- Taxes are "in force from": the applicable value is the last entry dated on or before the price week, not one that coincides with it.
What it is for
- Show in a briefing note how much of the pump price is excise duty and how much is VAT, with the effective date of each.
- Estimate the impact of an excise change on the final price, starting from the real structure rather than a guess.
- Check whether a supplier price is plausible against the mandatory tax component.
Response structure
All fields below live inside data.
FieldTypeDescription
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
The excise applied, with the date it took effect.
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
Other indirect taxes, with their effective date.
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
The rate, the amount and the date it took effect.
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
The biofuel part of the excise: amount and share.
accize_componente.bio.acciza
number
Partea de acciză aferentă componentei bio.
accize_componente.bio.procent
number
Ponderea componentei bio.
accize_componente.fosil
object
The fossil part of the excise: amount and share.
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.
Response examples
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)"
}
}
}
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. |
| 404 | negasit | No data for the requested country, product and date. |
| 422 | validare | produs is missing, or parameters are malformed. |
| 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": "produs is missing, or parameters are malformed.",
"detalii": {
"tara": [
"The value sent does not satisfy the parameter rule."
]
}
}
}