# Moldova Company Financial Statements Scraper (`treasury_thoughts/depozitar-actor`) Actor

Official Moldovan company financial statements as JSON: revenue, net profit, assets, equity, employees. Search by name or IDNO. Source: depozitar.statistica.md.

- **URL**: https://apify.com/treasury_thoughts/depozitar-actor.md
- **Developed by:** [Treasury Thoughts](https://apify.com/treasury_thoughts) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 financial statement extracteds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Moldova Company Financial Statements Scraper

Extract official annual financial statements of Moldovan companies — balance sheet, profit and loss, changes in equity and cash flow — as clean structured JSON. Look up specific companies by name or IDNO, or export the database page by page.

The data comes from the national **Public Depository of Financial Statements** (depozitar.statistica.md), operated by the National Bureau of Statistics of the Republic of Moldova.

### What you can do with it

- **Lead generation and sales prioritisation** – find companies by revenue, profit or headcount.
- **Credit and counterparty checks** – pull a company's latest reported figures in seconds.
- **Investment and market research** – compare competitors, track an industry over several years.
- **Data enrichment** – add official financials to your own list of Moldovan companies.

### How to use it

#### Look up specific companies

Set **Mode** to "Look up specific companies" and list the companies you need under **Companies to look up** — one per line. You can enter:

- a company name, or part of one (e.g. `Moldtelecom`)
- an IDNO — the 13-digit state registration number (e.g. `1002600048836`)

A query made only of digits is treated as an IDNO; anything else is searched by name. If you don't know the exact name, search by name first, check the `idno` field in the result, then use the IDNO for precise repeat lookups.

By default you get reports for the years the depository shows first. To get a specific year or a range, set **Report year: from** and **Report year: to**.

```json
{
  "mode": "search",
  "companyNames": ["Moldtelecom", "1002600048836"],
  "yearFrom": 2022,
  "yearTo": 2025
}
```

#### Export the database

Set **Mode** to "Export the database page by page". The Actor pages through the depository with no name filter. Use **Pages to export** to control how much you get — each page is 10 reports, and the whole depository is roughly 8,000 pages, so a full export takes many hours. Start with a small number and increase it once you know how much data you need.

```json
{
  "mode": "browseAll",
  "maxPages": 20,
  "yearFrom": 2024,
  "yearTo": 2024
}
```

### Output

Each dataset item is one financial report, with easy-to-use summary fields plus the full official report underneath.

**Summary fields:**

| Field | Description |
|---|---|
| `companyName` | Company name |
| `idno` | IDNO (13-digit state registration number) |
| `cuiio` | CUIIO code |
| `employees` | Number of employees |
| `activityCode`, `activity` | Main activity (CAEM code and name) |
| `legalForm` | Legal form (e.g. joint-stock company, LLC) |
| `ownership` | Ownership type (state, private, etc.) |
| `locality` | Registered locality |
| `revenue` | Total sales revenue for the reporting period |
| `netProfit` | Net profit or loss for the reporting period |
| `totalAssets` | Total assets |
| `equity` | Total equity |

`revenue`, `netProfit`, `totalAssets` and `equity` are filled in for standard and simplified full reports (`rsf1`, `rsf1simplificat`). Other report types use a different structure, so these fields are left empty for them — the full figures are still available in `groups` (see below).

**Full report fields:** `id`, `year`, `doctype`, `status`, `periodFrom`, `periodTo`, `declarationDate`, `audited`, `legalEntity` (detailed company profile), `groups` (the statements themselves, line by line), `files` (names of attached documents such as the audit report).

For a standard full report (`rsf1`), the groups are:

| Group code | Statement |
|---|---|
| `anexa1` | Balance sheet |
| `anexa2` | Profit and loss |
| `anexa3` | Changes in equity |
| `anexa4` | Cash flow |

Each group has a list of `fields`; each field has a line `code`, a `name`, and values for the previous (`datePrev`) and current (`dateCurrent`) period, exactly as reported by the source (typically in Moldovan lei, MDL).

Example (shortened):

```json
{
  "companyName": "SOCIETATEA PE ACTIUNI \"MOLDTELECOM\" (IFRS)",
  "idno": "1002600048836",
  "year": 2025,
  "revenue": 1679938172,
  "netProfit": 137528283,
  "doctype": "rsf1",
  "legalEntity": { "name": "SOCIETATEA PE ACTIUNI \"MOLDTELECOM\" (IFRS)", "nrEmployees": "2091" },
  "groups": [
    {
      "code": "anexa2",
      "name": "SITUAȚIA DE PROFIT ȘI PIERDERE",
      "fields": [
        { "code": "010", "name": "Venituri din vînzări, total", "dateCurrent": "1 679 938 172" }
      ]
    }
  ]
}
```

Text values (company names, line names) are in Romanian, as published by the source.

### Privacy

The source reports include the accountant's and the responsible person's name and phone number. This Actor removes those fields before saving the data — they are never included in the output.

### Good to know

- The Actor runs a headless browser to query the depository, so even a small run needs roughly half a minute.
- In "Look up specific companies" mode, only the first page of matches (up to 10 reports) is returned per query. If a name is common, search by IDNO instead, or narrow it down with the year filter.
- Coverage depends on what the depository publishes; not every company has a report for every year.

### Data source and disclaimer

Data source: National Bureau of Statistics of the Republic of Moldova, depozitar.statistica.md. The source publishes this data under a licence that permits commercial reuse, provided the source is clearly credited (see the site's Terms of Use). When you reuse this data, credit it the same way, for example: "Source: National Bureau of Statistics of the Republic of Moldova (depozitar.statistica.md)".

This Actor is an independent tool and is not affiliated with or endorsed by the National Bureau of Statistics of the Republic of Moldova.

### Feedback

Found a bug or need another field? Open an issue from the Actor's **Issues** tab.

# Actor input Schema

## `mode` (type: `string`):

Look up specific companies by name or IDNO, or export reports from the whole depository page by page.

## `companyNames` (type: `array`):

One entry per line. Enter a company name (a part of the name is enough, e.g. Moldtelecom) or an IDNO - the 13-digit state registration number (e.g. 1002600048836). Used only when you choose 'Look up specific companies'.

## `yearFrom` (type: `integer`):

First year to include, e.g. 2020. Works like the year filter on the depository search page. Leave empty to use the depository default (currently 2025-2026). To get several years, set both 'from' and 'to'.

## `yearTo` (type: `integer`):

Last year to include, e.g. 2024. Leave empty to use the depository default.

## `maxPages` (type: `integer`):

How many result pages to export, 10 reports per page. 5 pages = about 50 reports. The whole depository is about 8,000 pages and takes many hours, so start small.

## Actor input object example

```json
{
  "mode": "search",
  "companyNames": [
    "Moldtelecom"
  ],
  "maxPages": 5
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "companyNames": [
        "Moldtelecom"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("treasury_thoughts/depozitar-actor").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "companyNames": ["Moldtelecom"] }

# Run the Actor and wait for it to finish
run = client.actor("treasury_thoughts/depozitar-actor").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "companyNames": [
    "Moldtelecom"
  ]
}' |
apify call treasury_thoughts/depozitar-actor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,treasury_thoughts/depozitar-actor"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/nQBPg85oLbhY9cz2a/builds/rKCh8NuAxrUXnbyFJ/openapi.json
