oneapi
Autentificare
Business v1 / Achiziții publice

Top câştigători

Clasamentul câștigătorilor de contracte publice după valoarea totală. Filtre: ?an=, ?cpv=.

GET
https://oneapi.ro/api/business/v1/achizitii/top-castigatori

Parametri de interogare

NumeTipDescriereValori acceptate
judet_autoritateopțional string | null Judeţul AUTORITĂŢII care cumpără — „cât s-a cheltuit acolo”. Nu-l confunda cu judet_castigator. max 64 car.
judet_castigatoropțional string | null Judeţul FIRMEI care încasează — „cât au încasat firmele de acolo”. Nu-l confunda cu judet_autoritate. max 64 car.
anopțional integer | null Anul contractelor; fără el, clasamentul acoperă toată seria. ex. 2024
cpvopțional string | null Codul CPV al obiectului, ca să vezi clasamentul dintr-o singură categorie. ex. 03000000-1
autoritate_cuiopțional integer | null „De la cine cumpără instituţia asta", însumat pe furnizor. Fără el, răspunsul la întrebarea
aia exista doar ca listă fixă de cinci rânduri pe fişa autorităţii — la Ministerul
Finanţelor sunt 1.398 de poziţii şi 1,35 miliarde de lei, deci cinci furnizori nu descriu
unde s-au dus banii.
1
limitaopțional integer | null Câte rânduri întoarce clasamentul, 1–200. Implicit, cât întoarce ruta fără el. 1 – 200

Cum se comportă

  • Nu toate contractele au valoare declarată. Măsurat pe 4 octombrie 2026, pe toate cele 17,39 milioane de rânduri: lipseşte la 10,8% din contracte (312.587 rânduri), şi aproape niciodată la achiziţii directe (47 din 13,68 milioane) sau la notificări (52 din 811.033). Orice sumă e deci a rândurilor care AU cifră, nu a întregului — la tip=contracte, a nouă zecimi din ele. Numărul de contracte le acoperă pe toate. Filtrele val_min/val_max lucrează pe valoarea în lei, deci exclud rândurile fără valoare.
  • Clasamentul firmelor după valoarea contractelor publice câştigate. Filtrabil pe an şi CPV, pentru top-uri pe sector.
  • Sumele numără fiecare contract o singură dată şi cu partea fiecărui câştigător. SEAP republică anunţul de atribuire la fiecare actualizare (1,19 M de rânduri de contracte sunt republicări), repetă valoarea contractului pe fiecare lot (0,52 M) şi pune valoarea ÎNTREGULUI acord-cadru pe fiecare câştigător (228.000 de rânduri). Citite brut, contractele 2021–2026 însumau 7.059 de miliarde de lei, iar Farmexim 248 de miliarde; corectat, 1.212 miliarde şi 14,6. Valorile imposibile (un simulator de trafic aerian de 125,9 miliarde, lactate de 1,59 miliarde la un DGASPC) nu intră în sume.

La ce folosește

  • Identificarea jucătorilor dominanţi dintr-un sector de achiziţii.
  • Un clasament pentru jurnalism de date, filtrat pe an şi CPV.
  • Găsirea potenţialilor parteneri sau concurenţi înainte de a licita.

Structura răspunsului

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

CâmpTipDescriere
castigator string Firma câştigătoare.
cui integer Codul fiscal.
nr_contracte integer Numărul de contracte.
valoare_ron number | null Valoarea, în lei.

Exemple de răspuns

GEThttps://oneapi.ro/api/business/v1/achizitii/top-castigatori
{
    "data": [
        {
            "castigator": "ALLIANCE HEALTHCARE ROMANIA",
            "cui": 8955860,
            "cui_romanesc": true,
            "nr_contracte": 103581,
            "valoare_ron": 22574958360.69
        }
    ],
    "meta": {
        "limita": 20
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
422validareUn parametru nedeclarat ori o valoare care nu trece validarea (an, cpv). Câmpul vinovat e în detalii.
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": "Un parametru nedeclarat ori o valoare care nu trece validarea (an, cpv). Câmpul vinovat e în detalii.",
        "detalii": {
            "judet_autoritate": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}