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
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. Filtreleval_min/val_maxlucrează 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
}
}
GEThttps://oneapi.ro/api/business/v1/achizitii/top-castigatori?an=2024
{
"data": [
{
"castigator": "Hanwha Aerospace Co. Ltd",
"cui": 1942110000480,
"cui_romanesc": false,
"nr_contracte": 1,
"valoare_ron": 4602657510
}
],
"meta": {
"an": 2024,
"limita": 20
}
}
GEThttps://oneapi.ro/api/business/v1/achizitii/top-castigatori?cpv=03000000-1
{
"data": [
{
"castigator": "MATRA S.R.L.",
"cui": 6287579,
"cui_romanesc": true,
"nr_contracte": 11,
"valoare_ron": 2154051.2
}
],
"meta": {
"cpv": "03000000-1",
"limita": 20
}
}
GEThttps://oneapi.ro/api/business/v1/achizitii/top-castigatori?judet_castigator=CJ
{
"data": [
{
"castigator": "DELTAMED",
"cui": 9434372,
"cui_romanesc": true,
"nr_contracte": 12986,
"valoare_ron": 5654565666.83
}
],
"meta": {
"judet_castigator": "CJ",
"limita": 20
}
}
Coduri de eroare
| Cod | Slug | Când apare |
|---|---|---|
| 401 | neautentificat | Token lipsă, invalid, expirat sau revocat. |
| 403 | feature_indisponibil | Planul curent nu include funcţia de care ţine ruta. |
| 422 | validare | Un parametru nedeclarat ori o valoare care nu trece validarea (an, cpv). Câmpul vinovat e în detalii. |
| 429 | cota_depasita | Cota 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."
]
}
}
}