Romanian company data API: CUI lookup, ONRC and ANAF checks, CAEN export

Leadgen is a JSON API over Romania's official trade register. It holds 4,224,674 companies from the ONRC register of 19 October 2026, the 2008–2025 financial statements from the Ministry of Finance and ANAF fiscal data read on 2 November 2026.

Without a key you get 5 lookups a day. A free key gives you 50 lookups a day; it comes by email, no card.

Get a free keyAPI docs

Company data by CUI

One call returns the company record. Put the CUI (tax code) in query; the RO prefix works too. A CUI with a wrong check digit gets the error invalid_cui and is not counted.

curl -H "X-API-Key: lg_your_key" \
  "https://leadgen-api.adrianhomelab.com/lookup_business?query=2816464&fields=companyName,cui,registrationCode,legalForm,county,website,phone,status,anaf,latestFinancials,risk"

fields keeps only the fields you ask for. Without it you get the full record: address, registration date, every CAEN code, the directors and a link to the public record. Without a key, leave out the X-API-Key header.

The answer for DEDEMAN SRL

{
  "query": "2816464",
  "total": 1,
  "returned": 1,
  "results": [
    {
      "companyName": "DEDEMAN SRL",
      "cui": "2816464",
      "registrationCode": "J1992002621040",
      "legalForm": "SRL",
      "county": "Bacău",
      "website": "www.dedeman.ro",
      "status": [
        {
          "code": "1048",
          "name": "funcțiune"
        }
      ],
      "latestFinancials": {
        "year": 2025,
        "revenue": 13157835535,
        "netResult": 1635337205,
        "employees": 12702,
        "caen": "4752",
        "currency": "RON",
        "source": "mfp"
      },
      "anaf": {
        "mainCaen": "4752",
        "vatPayer": true,
        "eFactura": true,
        "inactive": false,
        "inactiveSince": null,
        "deregistered": null,
        "phone": "0234513330",
        "registration": "INREGISTRAT din data 27.01.1993",
        "fetchedAt": "2026-10-15T13:02:24Z",
        "source": "anaf"
      },
      "phone": "0234513330",
      "phoneSource": "ANAF, declared by the taxpayer",
      "risk": {
        "level": "ok",
        "label": "no distress signals",
        "reasons": [],
        "isLead": true,
        "notChecked": [
          "insolvency_bulletin",
          "anaf_debts",
          "court_cases",
          "shareholders"
        ]
      }
    }
  ],
  "source": "onrc",
  "attribution": "Source: ONRC and Ministry of Finance (data.gov.ro, CC BY 4.0; financial statements 2008–2010 under OGL-ROU-1.0) and ANAF, via Leadgen (leadgen.adrianhomelab.com)",
  "asOf": {
    "registry": "2026-09-02",
    "financialYear": 2025,
    "anaf": "2026-10-15",
    "snapshot": "firme-02-09-2026",
    "published": "2026-09-03",
    "source": "ONRC open data (data.gov.ro)"
  },
  "fields": [
    "companyName",
    "cui",
    "registrationCode",
    "legalForm",
    "county",
    "website",
    "phone",
    "status",
    "anaf",
    "latestFinancials",
    "risk"
  ]
}

A real answer, copied on 19 October 2026. The figures change when ONRC publishes a new register or the company files new accounts.

Checking a company with ONRC and ANAF

The same answer says whether the company is still active and what ANAF knows about it:

What we do not check: the insolvency bulletin (BPI), debts to ANAF, court cases and shareholders. The answer lists them in risk.notChecked. What the data covers.

Exporting companies by CAEN code and county

lookup_by_category returns the companies with a CAEN code, in one county if you name it. Only active companies by default, newest first. Narrow the list by legal form, revenue, employees, VAT and main activity. With format=csv you get a file that opens in Excel.

# electrical installation companies (CAEN 4321) in Cluj, as CSV
curl -H "X-API-Key: lg_your_key" -o firme-4321-cluj.csv \
  "https://leadgen-api.adrianhomelab.com/lookup_by_category?category=4321&county=Cluj&main_activity_only=true&format=csv"

Not writing code? The same list can be made in the browser: make a company list in the Leadgen app.

Limits and prices

The day resets at 00:00 UTC (02:00 or 03:00 in Romania).

Plans. Free: the company profile, status and risk, ANAF data, the latest year's figures and lists of up to 25 rows. Pro (€9/month, 500 lookups a day) adds the full 2008–2025 financial history, ratios, health score and peer percentiles, the revenue / headcount / VAT filters, CSV export and longer lists; Business (€29/month) gives 5,000 lookups a day. See all plans.

From Claude, Cursor or another MCP client

The same data is on an MCP server at https://leadgen-mcp.adrianhomelab.com/mcp. Without a key you get 30 lookups a day there; with a key the limits are the same, and the key goes in the Authorization header. Setup for each client.

Frequently asked questions

How do I check a company by CUI?

Call GET /lookup_business?query=<CUI>. The answer has the ONRC status, the ANAF data (VAT, e-Factura, inactivity), the latest filing and a risk level with its reasons. A CUI with a wrong check digit is not counted.

Where does the data come from?

The register comes from the dataset ONRC publishes on data.gov.ro. Financial statements come from the Ministry of Finance, fiscal status from ANAF's public web service. One exception: when you ask for contacts, we read the company's public website.

Can I export the companies in a CAEN code?

Yes. GET /lookup_by_category?category=<CAEN code>&county=<county>&format=csv returns a CSV, active companies only by default. If you do not write code, the same list can be made in the Leadgen app.

What does it cost?

Without a key you get 5 lookups a day, and 50 lookups with a free key. Pro has 500 lookups a day, Business 5,000 lookups. The prices are on the pricing page.

Source: ONRC and Ministry of Finance (data.gov.ro, CC BY 4.0) and ANAF. Are you in the registry?