Romanian Financial Statements by CUI (bilanțuri)
Pricing
from $10.00 / 1,000 statement extracteds
Romanian Financial Statements by CUI (bilanțuri)
Fetch official Romanian financial statements (bilanțuri / situații financiare) per CUI from the Ministry of Finance public webservice. Returns cifra de afaceri, net profit, total assets, liabilities and headcount per filing year.
Pricing
from $10.00 / 1,000 statement extracteds
Rating
0.0
(0)
Developer
Oaida Adrian
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Romanian Financial Statements by CUI (bilanțuri) — Official ANAF Data
Romanian company financial statements (bilanț) by CUI/CIF, from the official ANAF / Ministry of Finance webservice: turnover (cifra de afaceri), net profit, total assets, liabilities and employee count per year, 2014 onward.
For: KYC and due-diligence, credit and investor-screening teams that need official turnover, profit and headcount for a Romanian company by its CUI/CIF.
Try it: {"cui": "14399840", "years": [2022, 2023, 2024]}
| Company (CUI) | Year | Turnover (RON) | Net profit (RON) | Total assets (RON) | Employees |
|---|---|---|---|---|---|
| Dante International SA (14399840) | 2024 | 8,992,961,799 | −191,463,916 | 5,011,184,480 | 3,191 |
| Dante International SA (14399840) | 2023 | 7,719,798,207 | 119,060,358 | 5,192,212,868 | 3,231 |
| Dante International SA (14399840) | 2022 | 7,146,878,062 | 123,725,110 | 3,895,296,093 | 3,309 |
Real output, fetched 15 Oct 2026 from webservicesp.anaf.ro. Every record carries its source URL.
Price: $0.01 per statement, plus a $0.01 run start per CUI at the default 1 GB memory. About $15 per 1,000 statements (500 CUIs × 2 years: $10.00 in statements + 500 × $0.01 in starts).
Saved you a trip to mfinante.gov.ro? A short review on the Apify Store helps others find it.
What you get
- 🇷🇴 Official source — data extracted by ANAF from the annual financial statements deposited by every Romanian company
- 💰 Key figures per year — turnover (cifra de afaceri), net profit (negative = loss), total assets, liabilities (datorii)
- 👥 Headcount — average number of employees (număr mediu de salariați)
- 🏷️ Identity — CUI, company name as registered, filing type and year
- 🔗 Provenance — source URL for every record
Input
{"cui": "RO1590082","years": [2023, 2024],"output": "json"}
| Field | Type | Default | Description |
|---|---|---|---|
cui | string | 1590082 | Romanian fiscal code, with or without the RO prefix |
years | array | last 2 years | Financial years to fetch (ANAF keeps ~6–10 years of filings) |
output | string | json | Output format: json, csv, xlsx (csv/xlsx via Console export) |
Output
One dataset item per filing year:
{"cui": "1590082","company_name": "OMV PETROM SA","year": 2024,"filing_type": "annual","turnover": 29692697896,"net_profit": 4143914310,"total_assets": 56329651371,"liabilities": 8682417713,"employees": 7207,"filing_date": "","source_url": "https://webservicesp.anaf.ro/bilant?an=2024&cui=1590082"}
All monetary values are in Romanian lei (RON). net_profit is negative when the company filed a loss. A CUI with no filed statement for a requested year is simply skipped; if no year returns data the run fails with a clear message.
Worked example
Due-diligence check on a large Romanian energy company. Input {"cui": "1590082", "years": [2023, 2024]} returns:
| Year | Turnover (RON) | Net profit (RON) | Total assets (RON) | Employees |
|---|---|---|---|---|
| 2024 | 29,692,697,896 | 4,143,914,310 | 56,329,651,371 | 7,207 |
| 2023 | 33,828,196,866 | 3,944,059,894 | — | — |
Both records carry the source_url pointing at the ANAF webservice so the numbers are independently verifiable. The same shape works for a micro-SRL (e.g. CUI 22886901 returns its 20-indicator statement including loss cases).
Use cases
- Due diligence / KYC — the single most-demanded Romanian data point: pull turnover, profit and balance-sheet size before onboarding a supplier or partner
- Credit & risk assessment — track revenue trajectory and losses across years; headcount as a size proxy
- Investor screening — pre-filter Romanian targets by revenue band and asset size
- Compliance — official-filing provenance (Ministry of Finance source URL on every record)
- Market mapping — enrich a CUI list with the financial dimension for segmentation
Run it on a schedule or from your code
curl -X POST "https://api.apify.com/v2/acts/darknezz~ro-financial-statements/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"cui": "RO1590082", "years": [2023, 2024]}'
From Python with the official SDK:
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("darknezz/ro-financial-statements").call(run_input={"cui": "RO1590082", "years": [2023, 2024]})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["year"], item["turnover"], item["net_profit"])
For a CUI list, use the SDK's call_multi to fan out one run per company:
inputs = [{"cui": cui, "years": [2023, 2024]} for cui in ["RO1590082", "22886901", "18189442"]]runs = client.actor("darknezz/ro-financial-statements").call_multi(run_inputs=inputs)for run in runs:for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["cui"], item["year"], item["net_profit"])
Pricing
Pay-per-event:
| Event | Price |
|---|---|
statement-extracted (one per company-year) | $0.01 |
apify-actor-start (per run, per GB of memory) | $0.01 at the default 1 GB |
- The Actor takes one CUI per run, so you pay one start fee per company.
- 1,000 statements: about $15.00 at 2 years per CUI (500 runs). With 5 years per CUI it is about $12.00 (200 runs).
- The start fee scales with memory: a run raised to 4 GB starts at $0.04, which would make the 2-years-per-CUI case about $30 per 1,000.
- The default 1 GB was verified on 15 Oct 2026 (run
QyqBCtK2M5EupSeEG: SUCCEEDED, peak memory 60 MB).
FAQ
Is this the official data? Yes — the webservice (webservicesp.anaf.ro/bilant) is the Ministry of Finance/ANAF public API that powers the mfinante.gov.ro balance-sheet portal. Records carry the source URL for auditability.
Why are some fields empty? The webservice returns the 20 extracted annual indicators (I1–I20); it does not expose the filing date or a full/simplified form flag, so filing_date is left empty and filing_type is annual.
How many years are available? The public dataset covers roughly the last decade (from 2014). Requesting an older or not-yet-filed year is skipped gracefully.
Can I query multiple companies? One CUI per run — loop the Actor over your CUI list, or use the Apify SDK's call_multi for parallel runs (see the snippet above).
Do I need the RO prefix? No — 1590082 and RO1590082 are both accepted and normalised to the same record.
How fresh is the data? The ANAF webservice is updated as annual statements are filed and processed — the 2024 statements of large filers appear in the same year; smaller companies file later. The Actor fetches live on every run, so there is no cached snapshot.
Is this legal? The data is public by law (OMFP 1420/2021) — every Romanian company's annual statement is published for public inspection. You are responsible for how you use the data downstream.
Limitations
- One CUI per run by design — fan out with
call_multifor batches. filing_dateand full/simplified flag are not exposed by the webservice (always""/annual).- Years before ~2014 are not in the public dataset and are skipped.
- ANAF throttles roughly 1 request/second — the Actor paces itself with retries/backoff; very large CUI lists should be spread over time.
- An invalid CUI (or one with no filed statements at all) fails the run with a clear, actionable error instead of returning an empty success.
Related Romanian company data tools
| Step | Tool | Input → output |
|---|---|---|
| 1. Find companies | Romanian Company Lookup by CUI/CIF | CUI or keyword → CUI, VAT status, J-number, CAEN, address, website |
| 3. See their public contracts | Romanian Public Contracts Scraper | supplier CUI / keyword / CPV / authority → tenders, winners + winner CUI, RON values |
| 4. Watch for changes | Romanian Registry Change Monitor | CAEN code → new firms, deregistrations, status changes (daily) |
All of these tools return the company CUI, so results join on that field.
Saved you a trip to mfinante.gov.ro? A short review on the Apify Store helps others find it.