Carburanti v1 / Carburanti
Country ranking
The countries ranked by a fuel's price in a given week: where it is cheapest and where dearest, with the gap from the average.
GET
https://oneapi.ro/api/carburanti/v1/clasament
Query parameters
NameTypeDescriptionAccepted values
produsrequired
string
Product code. Required: a ranking orders countries by the price of a single product.
benzina95motorinamotorina_incalzirepacura_sulf_micpacura_sulf_maregpl
dataoptional
string | null
Reference date,
YYYY-MM-DD. Defaults to the most recent week.
e.g. 2026-08-31
ordineoptional
string | null
crescator (cheapest first, the default) or descrescator.
crescatordescrescator
limitaoptional
integer | null
How many countries to return, maximum 30. Defaults to 30, i.e. all of them.
1 – 30
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. - The
EUandEAaverages are excluded from the ranking: they are not countries, and a "cheapest" list where an average competes with a country would mean nothing. - As with the comparison, all countries come from the same reference week. Whoever did not report in it is simply absent from the ranking.
- Ordering is by the price with taxes, in euro.
What it is for
- Find where diesel is cheapest in the EU in a given week, for planning refuelling on long routes.
- Illustrate in an article or report where a country sits in the European ranking, with the source visible.
Response structure
All fields below live inside data.
FieldTypeDescription
produs
string
Produsul clasat.
ceruta
string
Data cerută.
saptamana
string
Săptămâna de referință.
ordine
string
Ordinea aplicată.
rezultate[].pozitie
integer
Poziția în clasament, de la 1.
rezultate[]
object
Restul câmpurilor sunt ca la un element din
data.produse[] la GET /preturi.
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
integer
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
integer
The price in national currency, with taxes.
rezultate[].national.fara_taxe
integer
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/clasament?produs=motorina&limita=5
{
"data": {
"produs": "motorina",
"ceruta": "2026-09-14",
"saptamana": "2026-09-14",
"ordine": "crescator",
"rezultate": [
{
"pozitie": 1,
"tara": "MT",
"data": "2026-09-14",
"produs": "motorina",
"denumire": "Motorină auto",
"unitate": "1000l",
"eur": {
"cu_taxe": 1210,
"fara_taxe": 553.02,
"pe_litru_cu_taxe": 1.21,
"pe_litru_fara_taxe": 0.553
},
"national": null,
"taxe_din_pret_procent": 54.3,
"atentionare": null
}
],
"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/clasament?produs=benzina95&ordine=descrescator&limita=5
{
"data": {
"produs": "benzina95",
"ceruta": "2026-09-14",
"saptamana": "2026-09-14",
"ordine": "descrescator",
"rezultate": [
{
"pozitie": 1,
"tara": "DK",
"data": "2026-09-14",
"produs": "benzina95",
"denumire": "Benzină Euro-super 95",
"unitate": "1000l",
"eur": {
"cu_taxe": 2564.4456,
"fara_taxe": 1334.1271,
"pe_litru_cu_taxe": 2.5644,
"pe_litru_fara_taxe": 1.3341
},
"national": {
"moneda": "DKK",
"curs_eur_pe_unitate": 0.1337738954,
"cu_taxe": 19170,
"fara_taxe": 9973,
"pe_litru_cu_taxe": 19.17,
"pe_litru_fara_taxe": 9.973
},
"taxe_din_pret_procent": 47.98,
"atentionare": null
}
],
"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/clasament?produs=benzina95
{
"data": {
"produs": "benzina95",
"ceruta": "2026-09-14",
"saptamana": "2026-09-14",
"ordine": "crescator",
"rezultate": [
{
"pozitie": 1,
"tara": "MT",
"data": "2026-09-14",
"produs": "benzina95",
"denumire": "Benzină Euro-super 95",
"unitate": "1000l",
"eur": {
"cu_taxe": 1340,
"fara_taxe": 586.21,
"pe_litru_cu_taxe": 1.34,
"pe_litru_fara_taxe": 0.5862
},
"national": null,
"taxe_din_pret_procent": 56.25,
"atentionare": null
}
],
"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/clasament?produs=motorina_incalzire
{
"data": {
"produs": "motorina_incalzire",
"ceruta": "2026-09-14",
"saptamana": "2026-09-14",
"ordine": "crescator",
"rezultate": [
{
"pozitie": 1,
"tara": "MT",
"data": "2026-09-14",
"produs": "motorina_incalzire",
"denumire": "Motorină de încălzire",
"unitate": "1000l",
"eur": {
"cu_taxe": 1000,
"fara_taxe": 615.37,
"pe_litru_cu_taxe": 1,
"pe_litru_fara_taxe": 0.6154
},
"national": null,
"taxe_din_pret_procent": 38.46,
"atentionare": null
}
],
"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 ordine is neither crescator nor descrescator. |
| 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 ordine is neither crescator nor descrescator.",
"detalii": {
"produs": [
"The value sent does not satisfy the parameter rule."
]
}
}
}