Every company in Romania, in a single call.
A read-only API over the full register: 3,9 milioane companies with their trade-register identity, ANAF tax status, financial statements, public contracts, directors and sector context — all keyed on the VAT number.
You ask for the tax code and get a unified JSON profile. No scraping, no PDFs, no reconciling five different sources yourself.
{
"cui": 14399840,
"denumire": "Dante International SA",
"stare": "functiune",
"tva": true,
"caen_principal": "4754",
"sediu": { "judet": "București" },
"financiar": { "cifra_afaceri": 6100000000 }
}
// + tax status, procurement, people, sector context
- Companies (trade register)
- 3.909.449
- CAEN activities
- 19,2 mil.
- Public contracts
- 17,4 mil.
- Financial statements
- 15,7 mil.
- API routes
- 122
Five sources, one profile.
Every company brings together data that normally lives in separate registers.
Identity & register
Name, VAT number, registration code, legal form, registered office, status, incorporation date, branches and working points.
Tax status
VAT registration and its date, cash-accounting VAT, tax inactivity, split VAT, e-Invoice, the tax vector, debts and the tax calendar.
Financial statements
Annual balance sheets decoded through an indicator dictionary — turnover, profit, assets, liabilities, employees — with EUR conversion and inflation adjustment.
Public procurement
Contracts won: contracting authority, value, CPV, year — plus per-company aggregates and authority profiles.
People & network
Directors, shareholders, liquidators — and the graph of related companies through shared people, with path finding between two companies.
Sector context
More than 20 macro indicators for the company’s CAEN sector: wages, employment, turnover, investment, foreign trade, environment.
122 routes, one predictable pattern.
The same convention everywhere: offset pagination, filters on the query string, a JSON response with “data” and “meta”.
/firme/{cui}
Profile by VAT number
The unified profile of a company, or dedicated slices: contact, location, activities, tax, financials, people.
/firme
Search & filters
Fuzzy search by name plus filters on county, locality, CAEN, legal form, status and VAT registration.
/firme/{cui}/financiar
Financials
Balance sheets by year, decoded into named indicators; variants in EUR (NBR rate) and adjusted for inflation (CPI deflator).
/firme/{cui}/achizitii
Procurement
The company’s contracts with filters on year and type, plus an aggregate summary and a global search across the whole procurement dataset.
/firme/{cui}/conexe
People & graph
The company’s directors and shareholders, related companies through shared people, and the path between two companies in the graph.
/caen · /cpv
Classifications
CAEN (original edition + Rev.1–3) with tree and mappings, CPV, legal forms, statuses — as a complete reference.
Official public sources only.
Every field has a clear provenance. Nothing scraped from uncertain places.
Trade Register
Company identity, legal forms, people and branches — the core of the register.
The tax authority
Tax and VAT status, through the official ANAF API, with a history of changes.
Balance sheets
The annual financial statements filed, published as open data.
Procurement & funds
SEAP contracts and European funding, from the open data portals.
Macro context
Sector indicators, from the official TEMPO statistical database.
The company, placed in its sector.
Alongside its own data, every company comes with more than 20 macro indicators for its CAEN sector — from INS TEMPO, at division or section level.
Pay
Average net and gross earnings, hourly labour cost, employee compensation by sector.
Employment
Employee headcount, staff of local units, companies with employees, job vacancy rate, workplace accidents.
Sector structure
Active enterprises, turnover, gross investment and labour productivity per person.
Dynamics & foreign trade
Companies created and dissolved per year, exporting and importing companies, the value of exports.
Industrial output & environment
The value of goods sold, industrial exports and imports (for industrial sectors) and greenhouse gas emissions.
What it is good for.
Anywhere you have to find, verify or put in context a company in Romania.
Do not see your case? Write to us — the data is rich enough for most B2B flows.
One call, the whole profile.
A Bearer token and a GET. The response is clean JSON, ready to use.
# the full profile of a company by VAT number
curl "https://oneapi.ro/api/business/v1/firme/14399840" \
-H "Authorization: Bearer $ONEAPI_TOKEN"
# → 200 OK
{
"data": {
"cui": 14399840,
"denumire": "Dante International SA",
"forma_juridica": "SA",
"stare": "functiune",
"tva": true,
"caen_principal": "4754",
"sediu": { "judet": "București", "localitate": "București Sectorul 6" }
},
"meta": { "actualizat": "2026-08-01" }
}
Predictable errors
A missing or invalid VAT number → 404 with a clear error code. The same error shape across every route.
HTTP/1.1 404 Not Found
{
"eroare": {
"cod": "negasit",
"mesaj": "Firma [9999999999] negăsită."
}
}
Worth knowing.
More in the frequently asked questions and in the documentation.