oneapi
Autentificare
Carburanti v1 / Carburanti

Compară între țări

Preţul aceluiaşi carburant în mai multe pieţe europene, în aceeaşi săptămână — comparabil, fiindcă sursa publică toate ţările pe acelaşi calendar.

GET
https://oneapi.ro/api/carburanti/v1/compara

Parametri de interogare

NumeTipDescriereValori acceptate
produsobligatoriu string Codul produsului. Obligatoriu: o comparaţie între ţări se face pe un singur produs, fiindcă unităţile diferă (litri faţă de tone). benzina95motorinamotorina_incalzirepacura_sulf_micpacura_sulf_maregpl
tariopțional string | null Coduri de țară separate prin virgulă. Acceptă și EU / EA. Implicit RO,EU. max 200 car.
dataopțional string | null Data de referință, AAAA-LL-ZZ. Implicit: cea mai recentă săptămână. ex. 2026-08-31

Cum se comportă

  • Două incoerenţe cunoscute ale sursei, tratate explicit. (1) Buletinul are 2 rânduri cu ambele preţuri 0,00 (Slovacia, păcură, 2006-05-01) — o lipsă de date publicată ca zero. Le servim ca null, nu ca preţ, şi nu construim nimic peste ele. (2) La 32 de rânduri, toate pe păcură, preţul CU taxe e mai mic decât cel FĂRĂ, ceea ce ar da o taxă negativă: 30 pe agregatul EU şi câte unul pe BE şi IE. Cele două preţuri se redau ca atare, dar nu calculăm nimic peste ele — taxe_din_pret_procent e null şi apare un câmp atentionare.
  • Toate țările se compară în aceeași săptămână de referință — ultima publicată în serie la sau înainte de data cerută. O țară care n-a raportat în acea săptămână nu primește un preț mai vechi ca înlocuitor, ci apare în negasite. Fără regula asta, Marea Britanie (care s-a oprit în 2020) ar fi apărut într-o comparație de azi cu prețuri de acum șase ani.
  • Dacă incluzi EU în listă, fiecare rezultat primește și fata_de_media_ue_procent. Media nu se adaugă din oficiu: n-ar fi corect să apară în comparație o „țară" pe care n-ai cerut-o.
  • Rezultatele sunt ordonate crescător după prețul cu taxe, în euro — singura unitate în care comparația între monede diferite are sens.

La ce folosește

  • Decizi unde alimentează flota pe o rută internațională, comparând prețul oficial din țările traversate.
  • Argumentezi într-o analiză de cost de ce transportul dintr-o țară e mai scump, arătând diferența de preț și de taxare.
  • Raportezi poziția României față de media UE, cu o cifră pe care o poate verifica oricine.

Structura răspunsului

Toate câmpurile de mai jos sunt în data.

CâmpTipDescriere
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 Țările cerute care n-au publicare în săptămâna de referință. Sunt listate, nu omise tăcut.
sursa object Sursa și licența.
rezultate[].tara string Codul țării.
rezultate[].data string Săptămâna la care se referă prețul (luni-ul buletinului).
rezultate[].produs string Codul produsului.
rezultate[].denumire string Denumirea produsului.
rezultate[].unitate string Unitatea în care e cotat produsul: 1.000 de litri la carburanți, 1.000 kg la păcură.
rezultate[].eur.cu_taxe number Prețul în euro, cu toate taxele incluse, pe unitatea de cotare.
rezultate[].eur.fara_taxe number Prețul în euro, fără taxe.
rezultate[].eur.pe_litru_cu_taxe number Același preț adus la litru — null la produsele cotate pe tonă.
rezultate[].eur.pe_litru_fara_taxe number Prețul fără taxe, pe litru.
rezultate[].national.moneda string Moneda națională a țării la data respectivă. Se schimbă în timp: statele care au adoptat euro au serii în două monede.
rezultate[].national.curs_eur_pe_unitate number Cursul folosit de sursă la conversie. Când lipsește sau e 1,0, țara era deja în euro — de acolo deducem moneda, nu dintr-un tabel.
rezultate[].national.cu_taxe number Prețul în moneda națională, cu taxe.
rezultate[].national.fara_taxe number Prețul în moneda națională, fără taxe.
rezultate[].national.pe_litru_cu_taxe number Prețul național pe litru, cu taxe.
rezultate[].national.pe_litru_fara_taxe number Prețul național pe litru, fără taxe.
rezultate[].taxe_din_pret_procent number Cât la sută din prețul final sunt taxe — cifra cea mai citată dintr-un buletin.

Exemple de răspuns

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."
        }
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
422validareLipsește produs, sau tari conține un cod necunoscut — mesajul spune exact care.
429cota_depasitaCota 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 tari conține un cod necunoscut — mesajul spune exact care.",
        "detalii": {
            "produs": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}