oneapi
Sign in
Business v1 / Căutare universală

Universal search

Searches a term simultaneously in companies (by name) and people (by name) and returns a preview (top 5 of each) plus the totals. For complete paginated lists: /firme/cauta and /persoane/cauta.

GET
https://oneapi.ro/api/business/v1/cauta

Query parameters

NameTypeDescriptionAccepted values
qoptional string | null The text searched. e.g. digitale.g. farmaciee.g. Mega Image

How it behaves

  • A search across companies and people at once: the top few of each plus the totals. Convenient for a single search bar, where the user does not know in advance whether they are typing a company or a person name.

What it is for

  • A single search bar, when the user does not know whether they are typing a company or a person.
  • An autocomplete endpoint for interfaces, with results from both domains.
  • Quickly triaging an ambiguous term before going to the specialised route.

Response structure

All fields below live inside data.

FieldTypeDescription
firme.total integer The total.
firme.rezultate[].cui integer The tax ID.
firme.rezultate[].denumire string The name.
firme.rezultate[].cod_inmatriculare string The trade register order number (J…).
firme.rezultate[].forma_juridica string Legal form (SRL, SA, PFA…).
firme.rezultate[].stare string The company status, as an object: denumire is the raw ONRC text (107 distinct values in use), categorie is our classification into 7 buckets — activa, suspendata, dizolvata, lichidare, radiata, insolventa, alta — which is what you filter or group by. cod is the ONRC code of the status.
firme.rezultate[].data_inmatriculare string The trade register incorporation date.
firme.rezultate[].sediu.judet string The county of the registered office.
firme.rezultate[].sediu.localitate string The locality of the registered office.
firme.rezultate[].sediu.cod_siruta integer The locality SIRUTA code — chainable to /api/locations/v1.
firme.rezultate[].caen_principal.cod string The primary CAEN code.
firme.rezultate[].caen_principal.denumire string The name of the primary activity.
firme.rezultate[].fiscal.tva boolean VAT-registered.
firme.rezultate[].fiscal.inactiv boolean Declared fiscally inactive.
firme.rezultate[].fiscal.e_factura boolean Enrolled in e-Invoicing.
firme.rezultate[].financiar object | null The latest filed balance sheet (year, turnover, net profit, employees); null for companies without one — sole traders, new companies —, not zero.
firme.rezultate[].financiar.an integer The balance-sheet year.
firme.rezultate[].financiar.cifra_afaceri number | null Net turnover, in lei.
firme.rezultate[].financiar.profit_net number | null Net profit, in lei; negative = loss.
firme.rezultate[].financiar.salariati integer | null The average number of employees.
persoane.total integer The total.
persoane.rezultate[].id integer The internal identifier.
persoane.rezultate[].nume string The name.
persoane.rezultate[].localitate string The locality.
persoane.rezultate[].judet string The county.
persoane.rezultate[].nr_firme integer The number of companies.

Response examples

GEThttps://oneapi.ro/api/business/v1/cauta?q=digital
{
    "data": {
        "firme": {
            "total": 6105,
            "rezultate": [
                {
                    "cui": 32917762,
                    "denumire": "DIGITAL 1 VENTURES DEVELOPMENT SRL",
                    "cod_inmatriculare": "J12/957/2014",
                    "forma_juridica": "SRL",
                    "stare": {
                        "cod": "1084",
                        "denumire": "radiată",
                        "categorie": "radiata"
                    },
                    "data_inmatriculare": "2014-03-13",
                    "sediu": {
                        "judet": "Cluj",
                        "localitate": "Cluj-Napoca",
                        "cod_siruta": 54984
                    },
                    "caen_principal": {
                        "cod": "6201",
                        "denumire": "Activități de realizare a soft-ului la comandă (software orientat client)"
                    },
                    "fiscal": {
                        "tva": true,
                        "inactiv": false,
                        "e_factura": false
                    },
                    "financiar": {
                        "an": 2025,
                        "cifra_afaceri": 83990,
                        "profit_net": 3947,
                        "salariati": 1
                    }
                }
            ]
        },
        "persoane": {
            "total": 12,
            "rezultate": [
                {
                    "id": 15029226,
                    "identificator": "5a53ec65-c6ba-50bf-b9da-9413dd3d7d42",
                    "nume": "DIGITAL CODECRAFT S.R.L.",
                    "localitate": "Constanţa",
                    "judet": "Constanţa",
                    "nr_firme": 0
                }
            ]
        }
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403feature_indisponibilThe current plan does not include the feature the route depends on.
422validareAn undeclared parameter or a value that fails validation (q). The offending field is in detalii.
422q_scurtThe search term must have at least 3 characters.
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": "An undeclared parameter or a value that fails validation (q). The offending field is in detalii.",
        "detalii": {
            "q": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}