Business v1 / Firme
Company by trade-register no.
Finds the company by its trade register number (e.g. J40/123/2005) and returns its profile.
GET
https://oneapi.ro/api/business/v1/firme/dupa-reg-com/{cod}
Path parameters
NameTypeDescriptionExample
codrequired
string
Trade register number (e.g.
J39/600/2006).
Query parameters
This route accepts no query parameters.
How it behaves
- Finds the company by its Trade Registry order number (e.g.
J40/1234/2000) and returns the profile. The number contains slashes, so it is passed as-is in the path.
What it is for
- Identifying a company when the document you hold carries only the J number.
- Reconciling a legacy database keyed on the trade register number.
- Checking that the J number and tax ID match, in a contract.
Response structure
All fields below live inside data.
FieldTypeDescription
cui
integer
The tax ID.
denumire
string | null
The name.
cod_inmatriculare
string | null
The trade register order number (J…).
euid
string | null
The European Unique Identifier of the company.
forma_juridica
string | null
Legal form (SRL, SA, PFA…).
stare
string | null
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.
data_inmatriculare
string | null
The trade register incorporation date.
sediu.raw[]
string | integer
The registered office address as the source writes it, field by field; empty keys are omitted.
sediu.rezolvat.localitate_id
integer
The internal locality id in Locations.
sediu.rezolvat.localitate
string
The locality.
sediu.rezolvat.cod_siruta
integer | null
The locality SIRUTA code — chainable to /api/locations/v1.
sediu.rezolvat.uat
string | null
The administrative-territorial unit.
sediu.rezolvat.judet
string | null
The county.
sediu.rezolvat.regiune
string | null
The development region.
sediu.rezolvat.cod_nuts
string | null
The NUTS code of the territorial unit.
sediu.rezolvat.populatie
integer | null
The locality population (census).
sediu.rezolvat.strada_id
integer | null
The street id in Locations — chainable to /api/locations/v1/strazi/{id}.
sediu.rezolvat.strada
string | null
The street.
sediu.rezolvat.potrivire[]
string
How confident the link to the register is, for locality and for street.
sediu.rezolvat.coordonate.lat
number
Latitude, in decimal degrees (WGS 84).
sediu.rezolvat.coordonate.lng
number
Longitude, in decimal degrees (WGS 84).
sediu.rezolvat.coordonate.precizie
string
⚠️ How fine the point is, in four steps that are NOT interchangeable:
numar (the OSM address point, matched exactly on the house number in the register — 1,308,114 companies), numar_aproximativ (the same kind of point, matched only on the integer part: "4A" placed at "4" — 115,040 companies), strada (street centroid) and localitate (the rest). Only drop a pin for the first two; a pin on strada claims a precision we do not have.
caen_principal.cod
string
The primary CAEN code.
caen_principal.denumire
string | null
The name of the primary activity.
caen_principal.versiune
string
The CAEN revision the code is expressed in.
fiscal.platitor_tva
boolean
VAT-registered as of the last sync.
fiscal.tva_la_incasare
boolean
Applies VAT on collection.
fiscal.split_tva
boolean
Applies split VAT.
fiscal.inactiv_fiscal
boolean
Declared fiscally inactive.
fiscal.e_factura
boolean
Enrolled in e-Invoicing.
fiscal.radiata
boolean
The company is struck off.
prezente[]
mixed
Which other datasets the company appears in (financials, procurement, registers…).
Response examples
GEThttps://oneapi.ro/api/business/v1/firme/dupa-reg-com/J40/7734/1992
{
"data": {
"cui": 3790028,
"denumire": "TAI PAN 15 LTD IMPORT EXPORT SRL",
"cod_inmatriculare": "J40/7734/1992",
"euid": "ROONRC.J40/7734/1992",
"forma_juridica": "SRL",
"stare": {
"cod": "1084",
"denumire": "radiată",
"categorie": "radiata"
},
"data_inmatriculare": "1992-03-31",
"sediu": {
"raw": {
"judet": "Bucureşti",
"localitate": "Bucureşti Sectorul 5",
"strada": "Str. SEBASTIAN",
"numar": "11",
"bloc": "S30",
"scara": "A",
"etaj": "8",
"apartament": "25",
"sector": 5,
"cod_postal": "63052"
},
"rezolvat": {
"localitate_id": 13754,
"localitate": "București Sectorul 5",
"cod_siruta": 179187,
"uat": "București",
"judet": "București",
"regiune": "București-Ilfov",
"cod_nuts": "RO321",
"populatie": 240288,
"strada_id": null,
"strada": null,
"potrivire": {
"loc": "exact",
"str": "none"
},
"coordonate": {
"lat": 44.435278,
"lng": 26.102778,
"precizie": "localitate"
}
}
},
"caen_principal": null,
"fiscal": {
"platitor_tva": false,
"tva_la_incasare": false,
"split_tva": false,
"inactiv_fiscal": false,
"e_factura": false,
"radiata": false
},
"prezente": {
"nr_persoane": 0,
"ani_financiar": [],
"nr_achizitii": 0,
"registre": []
}
}
}
GEThttps://oneapi.ro/api/business/v1/firme/dupa-reg-com/J2022007141126
{
"data": {
"cui": 47254471,
"denumire": "01 CODE S.R.L.",
"cod_inmatriculare": "J2022007141126",
"euid": "ROONRC.J2022007141126",
"forma_juridica": "SRL",
"stare": {
"cod": "1048",
"denumire": "funcțiune",
"categorie": "activa"
},
"data_inmatriculare": "2022-11-28",
"sediu": {
"raw": {
"judet": "Cluj",
"localitate": "Municipiul Cluj-Napoca",
"strada": "PARÂNG",
"numar": "1",
"bloc": "A",
"scara": "1",
"etaj": "IX",
"apartament": "33",
"cod_postal": "400552"
},
"rezolvat": {
"localitate_id": 4423,
"localitate": "Cluj-Napoca",
"cod_siruta": 54984,
"uat": "Cluj-Napoca",
"judet": "Cluj",
"regiune": "Nord-Vest",
"cod_nuts": "RO113",
"populatie": 286598,
"strada_id": 14625,
"strada": "Parâng",
"potrivire": {
"loc": "exact",
"str": "exact"
},
"coordonate": {
"lat": 46.753792,
"lng": 23.553694,
"precizie": "numar"
}
}
},
"caen_principal": {
"cod": "6210",
"denumire": "Activități de realizare a soft-ului la comandă (software orientat client)",
"versiune": "CAEN Rev.3"
},
"fiscal": {
"platitor_tva": true,
"tva_la_incasare": false,
"split_tva": false,
"inactiv_fiscal": false,
"e_factura": false,
"radiata": false
},
"prezente": {
"nr_persoane": 1,
"ani_financiar": [
2022,
2023,
2024,
2025
],
"nr_achizitii": 0,
"registre": []
}
}
}
GEThttps://oneapi.ro/api/business/v1/firme/dupa-reg-com/J27/24/1991
{
"data": {
"cui": 2054341,
"denumire": "SMIRODAVA S.A.",
"cod_inmatriculare": "J27/24/1991",
"euid": "ROONRC.J27/24/1991",
"forma_juridica": "SA",
"stare": {
"cod": "1084",
"denumire": "radiată",
"categorie": "radiata"
},
"data_inmatriculare": "1991-01-22",
"sediu": {
"raw": {
"judet": "Neamţ",
"localitate": "Municipiul Roman",
"strada": "B-dul REPUBLICII",
"numar": "123-125",
"sector": 0,
"cod_postal": "5550"
},
"rezolvat": {
"localitate_id": 9302,
"localitate": "Roman",
"cod_siruta": 120879,
"uat": "Roman",
"judet": "Neamț",
"regiune": "Nord-Est",
"cod_nuts": "RO214",
"populatie": 48644,
"strada_id": 142741,
"strada": "Republicii",
"potrivire": {
"loc": "exact",
"str": "exact"
},
"coordonate": {
"lat": 46.924989,
"lng": 26.943953,
"precizie": "numar"
}
}
},
"caen_principal": {
"cod": "1410",
"denumire": "Fabricarea articolelor de îmbrăcăminte prin tricotare sau croșetare",
"versiune": "CAEN Rev.3"
},
"fiscal": {
"platitor_tva": true,
"tva_la_incasare": false,
"split_tva": false,
"inactiv_fiscal": false,
"e_factura": false,
"radiata": false
},
"prezente": {
"nr_persoane": 3,
"ani_financiar": [
2008,
2009,
2010,
2011,
2012,
2013,
2014,
2015,
2016,
2017,
2018,
2019,
2020,
2021,
2022,
2023,
2024,
2025
],
"nr_achizitii": 0,
"registre": [
"mcpds_sponsorizari"
]
}
}
}
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 | No company with the registration number [{cod}]. |
| 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": {
"cod": [
"The value sent does not satisfy the parameter rule."
]
}
}
}