ANAF API — company data, CAEN, BNR exchange rates and IBAN

REST API for public ANAF, ONRC and BNR data. Look up a company by CUI, retrieve balance sheets and financial data, search companies by name, check CAEN codes, the BNR exchange rate and treasury IBANs. Clean JSON responses — access with a Pro subscription.

Base: https://demoanaf.ro · Limit: 1,200 req/min (Pro key) · Format: { success, data, meta }

The free API tier has been retired

As of 21 August 2026, programmatic access to data via the API requires a Pro key (or per-request x402 payment for metered endpoints). Free-tier API keys no longer work. The web app remains free to use in a browser. See the Pro plan

Every API endpoint needs a Pro key (dmn_live_…) — that is why all of them carry the Pro tag. Those marked x402 also accept per-request payment without a subscription; the rest are subscription features that x402 cannot buy. The demoanaf.ro web app stays free in the browser.

What you can do with the API

  • • Look up a company by CUI (ONRC, VAT, directors)
  • • Balance sheets and financial data for 8 years
  • • Search companies by name (4M+ ONRC)
  • • CAEN Rev.3 codes and activity descriptions
  • • BNR exchange rate and currency conversion
  • • Treasury IBANs for tax payments

MCP connector (AI agents)

Connect Claude, ChatGPT or Cursor to DemoANAF public data and manage the Pro subscription from your chat.

Connection guide
OAuth 2.1 + PKCE

Authentication & limits

Programmatic API access requires a Pro key — the free tier was retired on 21 August 2026; metered endpoints also accept per-request x402 payment. A Pro key allows 1,200 requests/minute and bypasses IP blocks. Generate one in your Account.

TierLimit
Browser (web app, no key)300/min
Pro (API key)1200/min
MCP (token)30–60/min

Send the key as a header

X-API-Key: dmn_live_…
Authorization: Bearer dmn_live_…

Authenticated request example

curl -H "X-API-Key: dmn_live_…" https://demoanaf.ro/api/company/14399840

When you exceed the limit (429)

{ "success": false, "error": { "code": "RATE_LIMITED", "message": "…" } }

Company

GET/api/company/:cuiProx402
Cache: 24h

Full company information (ANAF data + directors, authorised CAEN, ONRC status)

Parameters: cui — 1–10 digits

curl https://demoanaf.ro/api/company/14399840
GET/api/company/:cui/financialsProx402
Cache: 7 days

Financial data for the last 8 years (single request)

Parameters: cui — 1–10 digits

curl https://demoanaf.ro/api/company/14399840/financials
GET/api/company/:cui/balance/:yearProx402
Cache: 7 days

Balance sheet for a specific year

Parameters: cui, year (YYYY)

curl https://demoanaf.ro/api/company/14399840/balance/2023
GET/api/company/:cui/relatedProx402
Cache: 24h

Related companies (shared administrators/shareholders or address)

Parameters: cui — 1–10 digits

curl https://demoanaf.ro/api/company/14399840/related
GET/api/company/:cui/seapProx402
Cache: cache.6h

SICAP preview for a company: latest contracts and direct purchases with totals

Parameters: cui — 1–10 digits

curl https://demoanaf.ro/api/company/14399840/seap
GET/api/company/:cui/decisionsProx402

Official Gazette (Monitorul Oficial) decisions for the company

Parameters: cui — 1–10 digits

curl https://demoanaf.ro/api/company/14399840/decisions
GET/api/company/:cui/timelineProx402

Company event timeline (registration, changes, MO mentions)

Parameters: cui — 1–10 digits

curl https://demoanaf.ro/api/company/14399840/timeline
GET/api/company/:cui/leaderboardProx402

The company's positions in the turnover, profit and headcount rankings

Parameters: cui — 1–10 digits

curl https://demoanaf.ro/api/company/14399840/leaderboard
GET/api/company/:cui/healthPro

Financial ratios, Altman Z′ score and solvency verdict

Parameters: cui — 1–10 digits

curl https://demoanaf.ro/api/company/14399840/health
GET/api/company/:cui/networkPro

Officer network: who runs the company and their other firms

Parameters: cui — 1–10 digits

curl https://demoanaf.ro/api/company/14399840/network
POST/api/company/batchProx402

Batch lookup (max 100 CUIs)

Parameters: body: { cuis: string[] }

Search & people

GET/api/searchProx402

Search company by name across more than 4 million ONRC companies

Parameters: q (text), limit (1–50, default 20)

curl https://demoanaf.ro/api/search?q=emag
GET/api/search/allProx402

Unified search across companies, people and records

Parameters: q (text), limit (1–50, default 20)

curl https://demoanaf.ro/api/search/all?q=emag
GET/api/search/peoplePro

Search people (administrators/shareholders) by name — requires Pro

Parameters: q (text), limit (1–50, default 20)

curl https://demoanaf.ro/api/search/people?q=popescu
GET/api/person/:idProx402

A person's profile: roles held and associated companies

Parameters: id — the person identifier

curl https://demoanaf.ro/api/person/123
GET/api/person/:id/companiesProx402

Companies where the person holds a role (administrator, shareholder, representative)

Parameters: id — the person identifier

curl https://demoanaf.ro/api/person/123/companies

Public procurement (SICAP)

GET/api/sicap/tenders/searchProx402

Search SICAP public-procurement notices (99k+ notices)

Parameters: q — text, notice number, CPV code or CUI; cpv, authorityCui, from (YYYY-MM-DD), limit (1–50), offset

curl https://demoanaf.ro/api/sicap/tenders/search?q=montaj
GET/api/sicap/tender/:noticeProx402

A procurement notice, with the state of its documentation

Parameters: notice — the notice number (e.g. CN1084791)

curl https://demoanaf.ro/api/sicap/tender/CN1084791
GET/api/sicap/proceduresProx402

Most recent procedures with available documentation

curl https://demoanaf.ro/api/sicap/procedures
GET/api/sicap/company/:cui/proceduresProx402

A contracting authority's / company's procurement procedures

Parameters: cui — 1–10 digits

curl https://demoanaf.ro/api/sicap/company/14399840/procedures
GET/api/sicap/procedure/:notice/documentsProx402

A procedure's document list (document metadata; the content requires Pro)

Parameters: notice — the notice number (e.g. CN1084791)

curl https://demoanaf.ro/api/sicap/procedure/CN1084791/documents
GET/api/sicap/procedure/:notice/signersProx402

Document signers and cryptographic signature verification; the signer's identity requires Pro

Parameters: notice — the notice number (e.g. CN1084791)

curl https://demoanaf.ro/api/sicap/procedure/CN1084791/signers
GET/api/sicap/procedure/:notice/searchPro

Search within a procedure's document text

Parameters: q — search terms

curl https://demoanaf.ro/api/sicap/procedure/CN1084791/search?q=montaj
GET/api/sicap/procedure/:notice/changesPro

Changes between documentation versions

Parameters: notice — the notice number (e.g. CN1084791)

GET/api/sicap/procedure/:notice/bundlePro

Download all of a procedure's documents, unsealed

Parameters: notice — the notice number (e.g. CN1084791)

GET/api/sicap/document/:id/textPro

Extracted text of one document

Parameters: id — the document identifier

GET/api/sicap/document/:id/downloadPro

Download one unsealed document

Parameters: id — the document identifier

Public procurement data (SICAP) — Pro

GET/api/seap/company/:cui/contractsPro

SICAP contracts for a company, newest first, up to 200 per page

Parameters: cui; role (authority|supplier|both), dateFrom, dateTo (YYYY-MM-DD), cpv, limit (1–200), offset

curl https://demoanaf.ro/api/seap/company/14399840/contracts?role=supplier&limit=50
GET/api/seap/company/:cui/contracts/checkPro

Whether a company appears in SICAP contracts: counts as authority and supplier, latest contract date

Parameters: cui — 1–10 digits

curl https://demoanaf.ro/api/seap/company/14399840/contracts/check
GET/api/seap/company/:cui/direct-purchasesPro

SICAP direct purchases for a company, with source and freshness metadata

Parameters: cui; role (authority|supplier|both), dateFrom, dateTo (YYYY-MM-DD), cpv, limit (1–200), offset

curl https://demoanaf.ro/api/seap/company/14399840/direct-purchases
GET/api/seap/company/:cui/direct-purchase-awardsPro

SICAP direct-purchase award notices for a company

Parameters: cui; role (authority|supplier|both), dateFrom, dateTo (YYYY-MM-DD), cpv, limit (1–200), offset

curl https://demoanaf.ro/api/seap/company/14399840/direct-purchase-awards
GET/api/seap/company/:cui/tendersPro

Tender initiation announcements published by a contracting authority

Parameters: cui; limit (1–200), offset

curl https://demoanaf.ro/api/seap/company/4267117/tenders
GET/api/seap/company/:cui/supplier-issuesPro

SICAP supplier-performance reports (documente constatatoare) for a supplier

Parameters: cui; onlyDamages (true|false), limit (1–200), offset

curl https://demoanaf.ro/api/seap/company/14399840/supplier-issues?onlyDamages=true
GET/api/seap/supplier-issues/:ackDocIdPro

One supplier-performance report in full

Parameters: ackDocId — the report identifier from supplier-issues

GET/api/seap/contracts/:numberPro

One SICAP contract by contract number (parties, value, CPV, procedure, lots)

Parameters: number — URL-encoded contract number (1/32435 → 1%2F32435)

curl https://demoanaf.ro/api/seap/contracts/1%2F32435
GET/api/seap/cpv/:cpv/contractsPro

SICAP contract rows for a CPV code prefix

Parameters: cpv (1–12 digit prefix); supplierCity (contracts only), dateFrom, dateTo, limit (1–200), offset

curl https://demoanaf.ro/api/seap/cpv/33183100/contracts?dateFrom=2025-01-01
GET/api/seap/cpv/:cpv/direct-purchasesPro

SICAP direct purchases for a CPV code prefix

Parameters: cpv (1–12 digit prefix); supplierCity (contracts only), dateFrom, dateTo, limit (1–200), offset

curl https://demoanaf.ro/api/seap/cpv/33183100/direct-purchases
GET/api/seap/cpv/:cpv/direct-purchase-awardsPro

SICAP direct-purchase award notices for a CPV code prefix

Parameters: cpv (1–12 digit prefix); supplierCity (contracts only), dateFrom, dateTo, limit (1–200), offset

curl https://demoanaf.ro/api/seap/cpv/33183100/direct-purchase-awards
GET/api/seap/cpv/:cpv/top-suppliersPro

ep.seap-cpv-top.description

Parameters: cpv; supplierCity, dateFrom, dateTo, limit (1–100)

curl https://demoanaf.ro/api/seap/cpv/33183100/top-suppliers?limit=20
GET/api/seap/cpv/:cpv/analysisPro

ep.seap-cpv-analysis.description

Parameters: cpv; dateFrom, dateTo

curl https://demoanaf.ro/api/seap/cpv/33183100/analysis

Statistics & rankings

GET/api/statisticaProx402
Cache: 24h

Market-level aggregates and indicators

curl https://demoanaf.ro/api/statistica
GET/api/statistica/top-companiesProx402

Top companies by year, metric and slice (national/county/CAEN)

Parameters: year, metric (cifra|profit|angajati), slice (national|judet|caen), limit

curl https://demoanaf.ro/api/statistica/top-companies?year=2023&metric=cifra&slice=national
GET/api/statistica/leaderboard-yearsProx402

Years available in the rankings

curl https://demoanaf.ro/api/statistica/leaderboard-years
GET/api/statistica/advanced-rankingsPro

Advanced rankings with financial indicators

Parameters: year

curl https://demoanaf.ro/api/statistica/advanced-rankings?year=2023

Public data

GET/api/firme/:judetProx402
Cache: 24h

Companies in a county

Parameters: judet — county name (e.g. cluj)

curl https://demoanaf.ro/api/firme/cluj
GET/api/firme/:judet/:orasProx402
Cache: 24h

Companies in a city

Parameters: judet, oras (e.g. cluj/cluj-napoca)

curl https://demoanaf.ro/api/firme/cluj/cluj-napoca
GET/api/decisions/:idProx402

A single Official Gazette decision record

Parameters: id — the decision identifier

curl https://demoanaf.ro/api/decisions/123
GET/api/benchmarks/liveProx402
Cache: 24h

Live sector benchmarks (CAEN medians)

curl https://demoanaf.ro/api/benchmarks/live

BNR exchange rates

GET/api/ratesProx402
Cache: 12h

Today's BNR exchange rates (~34 currencies)

curl https://demoanaf.ro/api/rates
GET/api/rates/historyProx402
Cache: 12h

BNR rates for the last 10 days

curl https://demoanaf.ro/api/rates/history
GET/api/rates/convertProx402
Cache: 12h

Currency conversion at BNR rate

Parameters: from, to (3 letters), amount

curl https://demoanaf.ro/api/rates/convert?from=EUR&to=RON&amount=100

CAEN codes

GET/api/caenProx402
Cache: static

Search CAEN Rev.3 codes (651 codes)

Parameters: q (text), section (A–U)

curl https://demoanaf.ro/api/caen?q=software
GET/api/caen/:codeProx402
Cache: static

CAEN code details (activity description)

Parameters: code (4 digits)

curl https://demoanaf.ro/api/caen/6201
GET/api/caen/:code/hubProx402
Cache: static

A CAEN code hub page: representative companies and statistics

Parameters: code (4 digits)

curl https://demoanaf.ro/api/caen/6201/hub

Treasury IBAN

GET/api/ibanProx402
Cache: static

Search treasury IBANs for tax payments

Parameters: q (text), treasury (treasury code)

curl https://demoanaf.ro/api/iban?q=TVA&treasury=700

ANAF press releases

GET/api/pressProx402
Cache: 30 min

Latest ANAF press releases

curl https://demoanaf.ro/api/press
GET/api/press/pdfProx402
Cache: 24h

Extract text from an ANAF press-release PDF

Parameters: url (PDF URL from static.anaf.ro)

GET/api/press-articlesProx402
Cache: 30 min

Indexed press articles

curl https://demoanaf.ro/api/press-articles
GET/api/press-articles/:slugProx402
Cache: 30 min

A press article by slug

Parameters: slug — the article identifier

curl https://demoanaf.ro/api/press-articles/exemplu-slug

System

GET/api/healthProx402

Service status (ANAF, BNR)

curl https://demoanaf.ro/api/health

Frequently asked questions

No — the API’s free tier was retired on 21 August 2026. Programmatic access requires an active Pro subscription: generate an API key (dmn_live_…) from your Account, with a limit of 1,200 requests per minute and no IP blocks. The demoanaf.ro web app remains free to use in a browser.

Company lookup by CUI (ONRC data, VAT status, directors), balance sheets and financial data for 8 years, company search by name, CAEN Rev.3 codes, BNR exchange rates and treasury IBANs.

With an HTTP GET request, for example: curl https://demoanaf.ro/api/company/14399840. The response is JSON in the form { success, data, meta }.

Data comes from public sources (ANAF, ONRC, BNR) and is served from cache for speed. Each endpoint has its own freshness window, ranging from a few minutes to a few days.

Yes. Use /api/search?q=... to search by name across more than 4 million ONRC companies and /api/caen?q=... for CAEN Rev.3 codes.

From Account → API Keys, if you have an active Pro subscription. The key (dmn_live_…) is sent as an X-API-Key header or Authorization: Bearer, and raises the limit to 1,200 requests/min with no IP blocks.

See also: company search · BNR exchange rates · CAEN codes · treasury IBAN · DemoANAF Pro