Business v1 / Firme
Contact details
The company's contact details (phone, fax, e-invoicing, tax domicile, tax office) from ANAF.
GET
https://oneapi.ro/api/business/v1/firme/{cui}/contact
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
- The website, emails and phones the company publishes on its own site are at
/firme/{cui}/web(Pro plan). - The company's public contact details, as they appear in the sources. Coverage varies — many companies have no published phone or e-mail.
- ⚠️ A company that is in the register but has no ANAF tax record answers
200withdata: nullandmeta.fara_date, NOT404— 15,785 cases out of 3,909,449 (0.4%).404is reserved for tax IDs that do not exist in the register. Until 30 Sep 2026 both returned the same404, so a client could not tell a real404from "has no contact details".
What it is for
- Autofilling phone and e-mail when creating a customer in a CRM.
- Enriching a lead list with published contact details.
- Checking that the contact details you hold match the public ones.
Response structure
All fields below live inside data.
FieldTypeDescription
cui
integer
The tax ID.
telefon
string | null
The phone number in the ANAF record.
fax
string | null
The fax number in the ANAF record.
e_factura
boolean
Enrolled in e-Invoicing.
domiciliu_fiscal
string | null
The fiscal domicile, in the form ANAF publishes.
organ_fiscal
string | null
The tax office the company belongs to.
Response examples
GEThttps://oneapi.ro/api/business/v1/firme/6719278/contact
{
"data": {
"cui": 6719278,
"telefon": "0212246677",
"fax": null,
"e_factura": false,
"domiciliu_fiscal": "MUNICIPIUL BUCUREŞTI, Sector 6 Mun. Bucureşti, Bld. Timişoara, nr. 26",
"organ_fiscal": "Direcţia Generală de Administrare a Marilor Contribuabili"
}
}
GEThttps://oneapi.ro/api/business/v1/firme/14399840/contact
{
"data": {
"cui": 14399840,
"telefon": null,
"fax": null,
"e_factura": false,
"domiciliu_fiscal": "MUNICIPIUL BUCUREŞTI, Sector 2 Mun. Bucureşti, Str. Gara Herăstrău, nr. 6",
"organ_fiscal": "Direcţia Generală de Administrare a Marilor Contribuabili"
}
}
GEThttps://oneapi.ro/api/business/v1/firme/2054341/contact
{
"data": {
"cui": 2054341,
"telefon": "0233743401",
"fax": "0233744490",
"e_factura": false,
"domiciliu_fiscal": "IAŞI, Mun. Iaşi, Aleea Strugurilor, nr. 98",
"organ_fiscal": "Administraţia Judeţeană a Finanţelor Publice Iaşi"
}
}
GEThttps://oneapi.ro/api/business/v1/firme/24890577/contact
{
"data": {
"cui": 24890577,
"telefon": "0744397587",
"fax": null,
"e_factura": true,
"domiciliu_fiscal": "HARGHITA, Mun. Gheorgheni, Str. Pompierilor, nr. 118",
"organ_fiscal": "Unitatea Fiscală Municipală Gheorgheni"
}
}
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 in the Trade Register. "Exists, but has no contact details" is NOT a 404 — it is a 200 with meta.fara_date. |
| 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."
]
}
}
}