Business v1 / Firme
Procurement summary
The aggregates of the company's public procurement: total value (RON/EUR) and contract count, plus breakdowns by year, by type, the top 5 contracting authorities and the top 5 CPV codes.
GET
https://oneapi.ro/api/business/v1/firme/{cui}/achizitii/sumar
Path parameters
NameTypeDescriptionExample
cuirequired
string
The company tax identification number, without the
RO prefix (e.g. 6719278).
Query parameters
This route accepts no query parameters.
How it behaves
- Not every contract has a declared value. Measured on 4 October 2026, across all 17.39 million rows: it is missing on 10.8% of contracts (312,587 rows), and almost never on direct awards (47 out of 13.68 million) or notices (52 out of 811,033). Any total is therefore the total of the rows that DO carry a figure, not of the whole set — for
tip=contracte, of nine tenths of them. Contract counts cover all rows. Theval_min/val_maxfilters work on the RON value, so they exclude rows without one. - The aggregates of the contracts the company has won: total in RON and EUR, breakdown by year and type, top contracting authorities and top CPV codes. The "overview" companion of the list at
/firme/{cui}/achizitii. - Sums count each contract once, with each winner's share. SEAP republishes the award notice on every update (1.19 M contract rows are republications), repeats the contract value on every lot (0.52 M) and puts the value of the WHOLE framework agreement on every winner (228,000 rows). Read raw, the 2021–2026 contracts added up to 7,059 billion lei and Farmexim to 248 billion; corrected, 1,212 billion and 14.6. Impossible values (a 125.9-billion air-traffic simulator, 1.59 billion of dairy at a child-protection directorate) are left out of sums.
What it is for
- Estimating a company's reliance on public money in a single call.
- A summary panel on the company record, without paging through the contract list.
- Identifying the authorities the company works with most often.
Response structure
All fields below live inside data.
FieldTypeDescription
total.nr_contracte
integer
The number of contracts.
total.valoare_ron
number | null
The value, in RON.
total.valoare_eur
number | null
The value, in euro.
pe_an[].an
integer
The reference year.
pe_an[].nr_contracte
integer
The number of contracts.
pe_an[].valoare_ron
number | null
The value, in RON.
pe_tip[].tip
string | null
The type.
pe_tip[].nr_contracte
integer
The number of contracts.
top_autoritati[].autoritate
string | null
The authority that maintains the register.
top_autoritati[].autoritate_cui
integer | null
The authority's tax ID, so you can open
/firme/{cui}/achizitii-autoritate; null where SEAP does not give it. Grouping stays by name, and the tax ID is the most frequent one for that name — the same authority appears spelled in dozens of ways across notices.
top_autoritati[].nr_contracte
integer
The number of contracts.
top_autoritati[].valoare_ron
number | null
The value, in RON.
top_cpv[].cpv
string | null
The CPV code of the subject.
top_cpv[].nr_contracte
integer
The number of contracts.
Response examples
GEThttps://oneapi.ro/api/business/v1/firme/6719278/achizitii/sumar
{
"data": {
"total": {
"nr_contracte": 776,
"valoare_ron": 78087.56,
"valoare_eur": null
},
"pe_an": [
{
"an": 2023,
"nr_contracte": 234,
"valoare_ron": 25541.43
}
],
"pe_tip": [
{
"tip": "notificari",
"nr_contracte": 776
}
],
"top_autoritati": [
{
"autoritate": "ORASUL DARMANESTI (PRIMARIA DARMANESTI)",
"autoritate_cui": 4352921,
"nr_contracte": 72,
"valoare_ron": 18582.71
}
],
"top_cpv": [
{
"cpv": "15800000-6",
"nr_contracte": 257
}
]
}
}
GEThttps://oneapi.ro/api/business/v1/firme/14399840/achizitii/sumar
{
"data": {
"total": {
"nr_contracte": 67306,
"valoare_ron": 2584466269.75,
"valoare_eur": 8895621.55
},
"pe_an": [
{
"an": 2020,
"nr_contracte": 14510,
"valoare_ron": 36451695.96
}
],
"pe_tip": [
{
"tip": "directe",
"nr_contracte": 66053
}
],
"top_autoritati": [
{
"autoritate": "OFICIUL NATIONAL PENTRU ACHIZITII CENTRALIZATE",
"autoritate_cui": 39983313,
"nr_contracte": 14,
"valoare_ron": 2098520255.42
}
],
"top_cpv": [
{
"cpv": "30213100-6",
"nr_contracte": 4348
}
]
}
}
GEThttps://oneapi.ro/api/business/v1/firme/2054341/achizitii/sumar
{
"data": {
"total": {
"nr_contracte": 0,
"valoare_ron": null,
"valoare_eur": null
},
"pe_an": [],
"pe_tip": [],
"top_autoritati": [],
"top_cpv": []
}
}
GEThttps://oneapi.ro/api/business/v1/firme/24890577/achizitii/sumar
{
"data": {
"total": {
"nr_contracte": 520,
"valoare_ron": 661222.1900000001,
"valoare_eur": null
},
"pe_an": [
{
"an": 2024,
"nr_contracte": 115,
"valoare_ron": 129445.68
}
],
"pe_tip": [
{
"tip": "directe",
"nr_contracte": 481
}
],
"top_autoritati": [
{
"autoritate": "SCOALA GENERALA \"VASKERTES\" Gheorgheni",
"autoritate_cui": 18907135,
"nr_contracte": 146,
"valoare_ron": 239192.61
}
],
"top_cpv": [
{
"cpv": "44423000-1",
"nr_contracte": 463
}
]
}
}
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. |
| 404 | negasit | The company with tax ID [{cui}] was not found. |
| 422 | validare | The route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored. |
| 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": "The route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored.",
"detalii": {
"cui": [
"The value sent does not satisfy the parameter rule."
]
}
}
}