oneapi
Sign in
Business v1 / Fonduri europene

Kohesio beneficiaries

The beneficiaries of Kohesio projects, with the budget each attracted. The names come as the platform publishes them, so not all are linked to a Romanian tax ID.

GET
https://oneapi.ro/api/business/v1/fonduri/kohesio/beneficiari

Query parameters

NameTypeDescriptionAccepted values
qoptional string | null Searches the beneficiary name, 2–120 characters. max 120 car.
tara_codoptional string | null Ţara e cea publicată de sursă acolo unde o publică; vezi tara_sursa din răspuns, care spune
dacă e un fapt de la sursă sau implicitul. Filtrul pe o ţară pe care sursa n-o declară ar da
rezultate care par certe şi nu sunt — de aceea răspunsul poartă provenienţa lângă valoare.
max 2 car.
cuioptional integer | null The tax ID of the company the beneficiary is linked to, digits only. 1
legatoptional boolean | null true only beneficiaries linked to a company, false only the unlinked ones.

How it behaves

  • The beneficiaries of Kohesio projects, with the associated projects and amounts.
  • The ranking is by total budget, descending. The five beneficiaries without a budget come LAST, not first — otherwise „the largest beneficiaries" would have opened with three entries carrying no amount.
  • ⚠️ It overlaps with /firme/{cui}/fonduri: both describe European funds in Romania for 2014–2023, from different sources and without a common key. Measured: 2,563 of the 12,100 distinct names here (21.2%) appear IDENTICALLY in the national data too. Added up without deduplication, the same money is counted twice.
  • ⚠️ Kohesio publishes no tax ID, neither for the beneficiary nor for the project. Since 13 Oct 2026 beneficiaries are nonetheless linked to companies, by matching on NAME: the cui field gives the company, and potrivire states how certain the link is (exact, probabil, manual) or why it is missing (ambiguu, none, or extern for beneficiaries with no project in Romania). Linked: 9,377 of 12,124 (77.3%). Filter with cui=, or with legat=false for those left unlinked. „What European funds did this company get" is answered from /firme/{cui}/fonduri (the national source) and /firme/{cui}/kohesio (the European one).

What it is for

  • Identifying the largest cohesion-fund beneficiaries.
  • Checking whether a partner appears in European projects.
  • Analysing how concentrated funds are among a few beneficiaries.

Response structure

FieldTypeDescription
data[].kohesio_id string | null The beneficiary identifier in Kohesio (Q…). It is the key that links back to data[].beneficiari[] on the projects at /fonduri/kohesio.
data[].nume string The name.
data[].cui integer | null The tax ID of the company the beneficiary is linked to, or null if it could not be linked. ⚠️ It does NOT come from the source: it is the result of a name match — read potrivire next to it.
data[].potrivire string | null How certain the link to the company is: exact (identical name, unique in the company register), probabil (close, confirmed by location), manual (verified by a human), ambiguu (several companies with the same name — deliberately left unlinked), none (no match), extern (a beneficiary with no project in Romania, so no company to match).
data[].buget_eur number | null The total budget of the beneficiary's projects, in euro.
data[].buget_ue_eur number | null The share funded from European funds, in euro, across all of the beneficiary's projects.
data[].nr_proiecte integer The number of projects.
data[].tara_cod string | null The country code (ISO 3166-1 alpha-2), or null. Kohesio publishes the beneficiary country ONLY for the top 1,000 (tara_sursa: "oficial"); for the other 11,124 the field is null, because the source does not publish it — rather than a default that looks like a fact.
data[].tara_sursa string | null oficial = the country is published by Kohesio for this beneficiary (1,000 out of 12,124), so tara_cod is a fact from the source. null = the source does not publish it, and tara_cod is null too. Until 2 Oct 2026 the column was NOT NULL, so all 12,124 carried the RO default — Italian beneficiaries included.
meta.paginare.pagina integer Pagina curentă.
meta.paginare.per_pagina integer Rezultate pe pagină.
meta.paginare.total integer Total rezultate.
meta.paginare.pagini integer Număr de pagini.

Response examples

GEThttps://oneapi.ro/api/business/v1/fonduri/kohesio/beneficiari?q=primaria
{
    "data": [
        {
            "kohesio_id": "Q3117695",
            "nume": "MUNICIPIUL TG - JIU/PRIMARIA",
            "buget_eur": 39519685.51,
            "buget_ue_eur": 33591732.84,
            "nr_proiecte": 13,
            "tara_cod": "RO",
            "tara_sursa": "oficial"
        }
    ],
    "meta": {
        "paginare": {
            "pagina": 1,
            "per_pagina": 20,
            "total": 21,
            "pagini": 2
        }
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403feature_indisponibilThe current plan does not include the feature the route depends on.
422validareThe route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored.
429cota_depasitaThe 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": {
            "q": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}