Properties
| Name | Type | Description |
|---|---|---|
| cui | string | |
| name | string | |
| registrationNumber | stringnull | |
| county | stringnull | |
| locality | stringnull | |
| registeredAddress | stringnull | Adresa completă a sediului social (ONRC primar, ANAF fallback). |
| registeredAt | stringnull | |
| ageYears | integernull | |
| caenCode | stringnull | |
| caenLabel | stringnull | |
| registrationState | stringnull | |
| inInsolvency | boolean | Firma e într-o PROCEDURĂ de insolvență/faliment/reorganizare/lichidare. NU include radierea — vezi struckOff. |
| struckOff | boolean | Firma e radiată din registrul comerțului, deci nu mai există juridic. Raportat separat: radierea e de obicei sfârșit normal de viață, nu o procedură în curs. |
| dissolved | boolean | Firma a încetat să existe FĂRĂ insolvență — absorbită prin fuziune/divizare, ori dizolvată de drept. Distinct de insolvență și de radiere. |
| stateKind | string | Starea reală din registru, normalizată. Sursa unică a etichetei afișate; „activa" înseamnă fără niciun semnal de stare. |
| vatRegistered | booleannull | |
| fiscallyInactive | booleannull | |
| largeTaxpayer | booleannull | Mare contribuabil (administrat de DGAMC) — semnal de mărime. |
| ownershipForm | stringnull | Forma de proprietate ANAF (ex. capital privat autohton/străin/de stat). |
| website | stringnull | |
| financials | array | |
| health | object | |
| credit | object | |
| representatives | array | |
| publicContracts | objectnull | |
| connections | objectnull | Firme la care apar persoane cu ACELAȘI NUME ca reprezentanții acestei firme. Nu e un grup corporativ confirmat. |
| dataAsOf | stringnull | Cea mai recentă citire a firmei: anafCheckedAt dacă există, altfel data ONRC. Pentru data fiecărei surse, vezi câmpurile de mai jos. |
| anafCheckedAt | stringnull | Când am citit ultima oară firma la ANAF. Indexul trece prin toate firmele în aproximativ o săptămână; o verificare (GET /api/v1/verify/{cui}) care citește sursele live o aduce la zi. |
| onrcAsOf | stringnull | Data snapshotului ONRC (Registrul Comerțului) din care vin datele de registru. ONRC publică lunar. null pentru firmele pe care ONRC nu le-a publicat încă. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/firmoscop-ro/json-schema/firmoscop-ro-company-profile-schema.json",
"title": "CompanyProfile",
"x-generated": "2026-11-08",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/_original/firmoscop-ro-api-openapi.json#/components/schemas/CompanyProfile",
"type": "object",
"properties": {
"cui": {
"type": "string"
},
"name": {
"type": "string"
},
"registrationNumber": {
"type": [
"string",
"null"
]
},
"county": {
"type": [
"string",
"null"
]
},
"locality": {
"type": [
"string",
"null"
]
},
"registeredAddress": {
"type": [
"string",
"null"
],
"description": "Adresa completă a sediului social (ONRC primar, ANAF fallback)."
},
"registeredAt": {
"type": [
"string",
"null"
],
"format": "date"
},
"ageYears": {
"type": [
"integer",
"null"
]
},
"caenCode": {
"type": [
"string",
"null"
]
},
"caenLabel": {
"type": [
"string",
"null"
]
},
"registrationState": {
"type": [
"string",
"null"
]
},
"inInsolvency": {
"type": "boolean",
"description": "Firma e într-o PROCEDURĂ de insolvență/faliment/reorganizare/lichidare. NU include radierea — vezi struckOff."
},
"struckOff": {
"type": "boolean",
"description": "Firma e radiată din registrul comerțului, deci nu mai există juridic. Raportat separat: radierea e de obicei sfârșit normal de viață, nu o procedură în curs."
},
"dissolved": {
"type": "boolean",
"description": "Firma a încetat să existe FĂRĂ insolvență — absorbită prin fuziune/divizare, ori dizolvată de drept. Distinct de insolvență și de radiere."
},
"stateKind": {
"type": "string",
"enum": [
"radiata",
"dizolvata-fuziune",
"dizolvata",
"faliment",
"reorganizare",
"lichidare",
"insolventa",
"activa"
],
"description": "Starea reală din registru, normalizată. Sursa unică a etichetei afișate; „activa\" înseamnă fără niciun semnal de stare."
},
"vatRegistered": {
"type": [
"boolean",
"null"
]
},
"fiscallyInactive": {
"type": [
"boolean",
"null"
]
},
"largeTaxpayer": {
"type": [
"boolean",
"null"
],
"description": "Mare contribuabil (administrat de DGAMC) — semnal de mărime."
},
"ownershipForm": {
"type": [
"string",
"null"
],
"description": "Forma de proprietate ANAF (ex. capital privat autohton/străin/de stat)."
},
"website": {
"type": [
"string",
"null"
]
},
"financials": {
"type": "array",
"items": {
"$ref": "#/$defs/FinancialYear"
}
},
"health": {
"$ref": "#/$defs/FinancialHealth"
},
"credit": {
"$ref": "#/$defs/CreditGuidance"
},
"representatives": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"role": {
"type": [
"string",
"null"
]
},
"otherCompanies": {
"type": "integer",
"description": "La câte ALTE firme apare acest NUME. Potrivirea e pe șir de caractere, fără identificator de persoană — pot fi mai mulți oameni diferiți."
},
"otherInsolvent": {
"type": "integer",
"description": "Câte dintre ele sunt într-o PROCEDURĂ de insolvență/faliment/reorganizare. Nu include radierile."
},
"otherStruckOff": {
"type": "integer",
"description": "Câte dintre ele sunt radiate. Raportat separat: radierea e de obicei sfârșit normal de viață, nu un semnal de risc."
}
}
}
},
"publicContracts": {
"type": [
"object",
"null"
],
"properties": {
"count": {
"type": "integer"
},
"totalValue": {
"type": "integer",
"description": "Suma contractelor REALE (de sine stătătoare + subsecvente), în lei. Plafoanele de acord-cadru NU sunt incluse — sunt valoarea maximă a acordului, nu bani încasați. La contractele câștigate în asociere, valoarea contractului e împărțită egal între câștigători (sursa nu spune cât revine fiecăruia)."
},
"frameworkCount": {
"type": "integer",
"description": "Câte locuri pe acorduri-cadru are firma."
},
"frameworkCeiling": {
"type": "integer",
"description": "Plafonul cumulat al acordurilor-cadru, în lei. NU se însumează cu totalValue — e o limită superioară partajată, nu venit."
},
"sharedCount": {
"type": "integer",
"description": "Câte dintre contracte au fost câștigate în asociere cu alte firme; la ele, partea firmei e estimată prin împărțire egală."
},
"lastDate": {
"type": [
"string",
"null"
]
},
"topAuthorities": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"connections": {
"type": [
"object",
"null"
],
"description": "Firme la care apar persoane cu ACELAȘI NUME ca reprezentanții acestei firme. Nu e un grup corporativ confirmat.",
"properties": {
"total": {
"type": "integer"
},
"insolvent": {
"type": "integer",
"description": "În procedură de insolvență."
},
"struckOff": {
"type": "integer",
"description": "Radiate. Separat de insolvență."
},
"commonNameWarning": {
"type": "boolean"
}
}
},
"dataAsOf": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "Cea mai recentă citire a firmei: anafCheckedAt dacă există, altfel data ONRC. Pentru data fiecărei surse, vezi câmpurile de mai jos."
},
"anafCheckedAt": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "Când am citit ultima oară firma la ANAF. Indexul trece prin toate firmele în aproximativ o săptămână; o verificare (GET /api/v1/verify/{cui}) care citește sursele live o aduce la zi."
},
"onrcAsOf": {
"type": [
"string",
"null"
],
"format": "date",
"description": "Data snapshotului ONRC (Registrul Comerțului) din care vin datele de registru. ONRC publică lunar. null pentru firmele pe care ONRC nu le-a publicat încă."
}
},
"$defs": {
"CreditGuidance": {
"type": "object",
"description": "Recomandare acțională de creditare, derivată din bonitate + semnale dure (insolvență, inactivitate fiscală). Orientativă, nu o garanție.",
"properties": {
"stance": {
"type": "string",
"enum": [
"termen",
"avans-partial",
"doar-avans"
],
"description": "Poziția recomandată față de un termen de plată."
},
"termDays": {
"type": [
"integer",
"null"
],
"description": "Termenul net sugerat, în zile. null = fără cont deschis (doar avans)."
},
"exposureRon": {
"type": [
"integer",
"null"
],
"description": "Plafonul de expunere orientativ (RON). null când nu se recomandă credit."
},
"summary": {
"type": "string",
"description": "Propoziție acțională, gata de afișat."
}
}
},
"FinancialHealth": {
"type": "object",
"description": "Scor de bonitate determinist, explicabil.",
"properties": {
"klass": {
"type": [
"string",
"null"
],
"enum": [
"Solidă",
"Stabilă",
"Fragilă",
"Critică"
]
},
"score": {
"type": [
"integer",
"null"
],
"description": "0–100"
}
}
},
"FinancialYear": {
"type": "object",
"properties": {
"year": {
"type": "integer"
},
"turnover": {
"type": [
"integer",
"null"
]
},
"netResult": {
"type": [
"integer",
"null"
]
},
"totalDebt": {
"type": [
"integer",
"null"
],
"description": "Datorii totale (bilanțul public MF nu separă curente de termen lung)."
},
"equity": {
"type": [
"integer",
"null"
]
},
"employees": {
"type": [
"integer",
"null"
]
},
"currentAssets": {
"type": [
"integer",
"null"
],
"description": "Active circulante (I2). Poate lipsi pentru bilanțurile ingestate mai devreme."
},
"fixedAssets": {
"type": [
"integer",
"null"
],
"description": "Active imobilizate (I1)."
},
"grossProfit": {
"type": [
"integer",
"null"
],
"description": "Profit/pierdere brut(ă) (I16/I17)."
},
"subscribedCapital": {
"type": [
"integer",
"null"
],
"description": "Capital subscris vărsat (I11)."
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/firmoscop-ro-company-profile"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.