Carburanti v1 / Carburanti
Compare across countries
The same fuel's price across several European markets in the same week — comparable, because the source publishes every country on the same calendar.
GET
https://oneapi.ro/api/carburanti/v1/compara
Query parameters
NameTypeDescriptionAccepted values
produsrequired
string
Product code. Required: a comparison across countries is made on a single product, because units differ (litres versus tonnes).
benzina95motorinamotorina_incalzirepacura_sulf_micpacura_sulf_maregpl
tarioptional
string | null
Comma-separated country codes. Accepts
EU / EA too. Defaults to RO,EU.
max 200 car.
dataoptional
string | null
Reference date,
YYYY-MM-DD. Defaults to the most recent week.
e.g. 2026-08-31
How it behaves
- Two known source inconsistencies, handled explicitly. (1) The bulletin has 2 rows with both prices at 0.00 (Slovakia, fuel oil, 2006-05-01) — missing data published as zero. We serve those as
nullrather than as a price, and build nothing on top of them. (2) In 32 rows, all fuel oil, the price WITH taxes is lower than the price WITHOUT, which would imply a negative tax: 30 on theEUaggregate and one each on BE and IE. Both prices are reported as published, but nothing is computed from them —taxe_din_pret_procentisnulland anatentionarefield appears. - All countries are compared in the same reference week — the last one published on or before the requested date. A country that did not report that week does not get an older price as a substitute; it appears in
negasite. Without this rule, the United Kingdom (which stopped in 2020) would show up in a comparison of today with prices six years old. - If you include
EUin the list, every result also getsfata_de_media_ue_procent. The average is not added automatically: it would not be right for a "country" you did not ask for to appear in the comparison. - Results are ordered ascending by the price with taxes, in euro — the only unit in which comparing across currencies makes sense.
What it is for
- Decide where a fleet refuels on an international route, comparing the official price in the countries crossed.
- Argue in a cost analysis why transport from one country is more expensive, showing the price and taxation gap.
- Report where Romania stands against the EU average, with a figure anyone can verify.
Response structure
All fields below live inside data.
FieldTypeDescription
produs
string
Produsul comparat.
ceruta
string
Data cerută.
saptamana
string
Săptămâna de referință folosită pentru toate țările.
rezultate[]
object
Aceeași structură ca un element din
data.produse[] la GET /preturi, ordonată crescător după preț.
rezultate[].fata_de_media_ue_procent
number
Abaterea față de media UE, în procente. Prezent doar dacă ai cerut și
EU.
negasite[]
string
Requested countries with no publication in the reference week. They are listed, not silently dropped.
sursa
object
Sursa și licența.
rezultate[].tara
string
The country code.
rezultate[].data
string
The week the price refers to (the bulletin's Monday).
rezultate[].produs
string
The product code.
rezultate[].denumire
string
The product name.
rezultate[].unitate
string
The unit the product is quoted in: 1,000 litres for road fuels, 1,000 kg for heavy fuel oil.
rezultate[].eur.cu_taxe
number
The price in euro, all taxes included, per quoted unit.
rezultate[].eur.fara_taxe
number
The price in euro, excluding taxes.
rezultate[].eur.pe_litru_cu_taxe
number
The same price brought to a litre —
null for products quoted per tonne.
rezultate[].eur.pe_litru_fara_taxe
number
The tax-free price, per litre.
rezultate[].national.moneda
string
The country's national currency at that date. It changes over time: states that adopted the euro have series in two currencies.
rezultate[].national.curs_eur_pe_unitate
number
The exchange rate the source used. When it is missing or 1.0, the country was already on the euro — that is how we derive the currency, not from a table.
rezultate[].national.cu_taxe
number
The price in national currency, with taxes.
rezultate[].national.fara_taxe
number
The price in national currency, without taxes.
rezultate[].national.pe_litru_cu_taxe
number
The national price per litre, with taxes.
rezultate[].national.pe_litru_fara_taxe
number
The national price per litre, without taxes.
rezultate[].taxe_din_pret_procent
number
What percentage of the final price is tax — the most quoted figure from a bulletin.
Response examples
GEThttps://oneapi.ro/api/carburanti/v1/compara?produs=motorina&tari=RO,BG,HU
{
"data": {
"produs": "motorina",
"ceruta": "2026-09-14",
"saptamana": "2026-09-14",
"rezultate": [
{
"tara": "BG",
"data": "2026-09-14",
"produs": "motorina",
"denumire": "Motorină auto",
"unitate": "1000l",
"eur": {
"cu_taxe": 1856.3,
"fara_taxe": 1216.6221,
"pe_litru_cu_taxe": 1.8563,
"pe_litru_fara_taxe": 1.2166
},
"national": null,
"taxe_din_pret_procent": 34.46,
"atentionare": null
}
],
"negasite": [],
"sursa": {
"nume": "European Commission — Weekly Oil Bulletin (DG ENER)",
"licenta": "CC BY 4.0 (Decizia 2011/833/UE)",
"observatie": "Prețuri medii naționale raportate de statele membre pentru săptămâna indicată, nu prețuri per stație de alimentare."
}
}
}
GEThttps://oneapi.ro/api/carburanti/v1/compara?produs=benzina95&tari=RO,EU,EA
{
"data": {
"produs": "benzina95",
"ceruta": "2026-09-14",
"saptamana": "2026-09-14",
"rezultate": [
{
"tara": "RO",
"data": "2026-09-14",
"produs": "benzina95",
"denumire": "Benzină Euro-super 95",
"unitate": "1000l",
"eur": {
"cu_taxe": 1888.8411,
"fara_taxe": 978.9606,
"pe_litru_cu_taxe": 1.8888,
"pe_litru_fara_taxe": 0.979
},
"national": {
"moneda": "RON",
"curs_eur_pe_unitate": 0.1902297976,
"cu_taxe": 9929.26,
"fara_taxe": 5146.2,
"pe_litru_cu_taxe": 9.9293,
"pe_litru_fara_taxe": 5.1462
},
"taxe_din_pret_procent": 48.17,
"atentionare": null,
"fata_de_media_ue_procent": -8.46
}
],
"negasite": [],
"sursa": {
"nume": "European Commission — Weekly Oil Bulletin (DG ENER)",
"licenta": "CC BY 4.0 (Decizia 2011/833/UE)",
"observatie": "Prețuri medii naționale raportate de statele membre pentru săptămâna indicată, nu prețuri per stație de alimentare."
}
}
}
GEThttps://oneapi.ro/api/carburanti/v1/compara?produs=motorina
{
"data": {
"produs": "motorina",
"ceruta": "2026-09-14",
"saptamana": "2026-09-14",
"rezultate": [
{
"tara": "RO",
"data": "2026-09-14",
"produs": "motorina",
"denumire": "Motorină auto",
"unitate": "1000l",
"eur": {
"cu_taxe": 1999.6937,
"fara_taxe": 1252.5434,
"pe_litru_cu_taxe": 1.9997,
"pe_litru_fara_taxe": 1.2525
},
"national": {
"moneda": "RON",
"curs_eur_pe_unitate": 0.1902297976,
"cu_taxe": 10511.99,
"fara_taxe": 6584.37,
"pe_litru_cu_taxe": 10.512,
"pe_litru_fara_taxe": 6.5844
},
"taxe_din_pret_procent": 37.36,
"atentionare": null,
"fata_de_media_ue_procent": -7.37
}
],
"negasite": [],
"sursa": {
"nume": "European Commission — Weekly Oil Bulletin (DG ENER)",
"licenta": "CC BY 4.0 (Decizia 2011/833/UE)",
"observatie": "Prețuri medii naționale raportate de statele membre pentru săptămâna indicată, nu prețuri per stație de alimentare."
}
}
}
GEThttps://oneapi.ro/api/carburanti/v1/compara?produs=motorina_incalzire
{
"data": {
"produs": "motorina_incalzire",
"ceruta": "2026-09-14",
"saptamana": "2026-09-14",
"rezultate": [
{
"tara": "RO",
"data": "2026-09-14",
"produs": "motorina_incalzire",
"denumire": "Motorină de încălzire",
"unitate": "1000l",
"eur": {
"cu_taxe": 1494.4377,
"fara_taxe": 1213.1677,
"pe_litru_cu_taxe": 1.4944,
"pe_litru_fara_taxe": 1.2132
},
"national": {
"moneda": "RON",
"curs_eur_pe_unitate": 0.1902297976,
"cu_taxe": 7855.96,
"fara_taxe": 6377.38,
"pe_litru_cu_taxe": 7.856,
"pe_litru_fara_taxe": 6.3774
},
"taxe_din_pret_procent": 18.82,
"atentionare": null,
"fata_de_media_ue_procent": -12.69
}
],
"negasite": [],
"sursa": {
"nume": "European Commission — Weekly Oil Bulletin (DG ENER)",
"licenta": "CC BY 4.0 (Decizia 2011/833/UE)",
"observatie": "Prețuri medii naționale raportate de statele membre pentru săptămâna indicată, nu prețuri per stație de alimentare."
}
}
}
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 | produs is missing, or tari contains an unknown code — the message names it. |
| 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 tari contains an unknown code — the message names it.",
"detalii": {
"produs": [
"The value sent does not satisfy the parameter rule."
]
}
}
}