Estonian Business Register Scraper
Pricing
from $1.00 / 1,000 company records
Estonian Business Register Scraper
[$2.00 / 1K] Bulk Estonian company lookup by registry code. Queries the e-Business Register, the EMTA tax debtor list, EMTA quarterly figures and EU VIES. Returns legal name, form, status, VAT number, exact tax debt and quarterly turnover, taxes and headcount. Unmatched rows are free.
Pricing
from $1.00 / 1,000 company records
Rating
0.0
(0)
Developer
deriverge s.r.o.
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Share
Estonian Company Checker
What does Estonian Company Checker do?
Estonian Company Checker verifies Estonian companies in bulk against the e-Business Register and the Tax and Customs Board (EMTA). Give it a list of 8-digit registry codes and for each one you get back the legal name, address, legal form and status, the VAT number with an independent VIES confirmation, the exact tax debt the company owes, and quarterly figures nobody else in this category offers: turnover, state and labour taxes paid, and average headcount, quarter by quarter.
The quarterly data is the point. A company can look perfectly registered while its turnover has been zero for three quarters and its last employee left a year ago. A name-and-address lookup will never tell you that. This actor will.
| Source | The question only it answers |
|---|---|
| e-Business Register | Does the company exist, and is it registered, in liquidation or bankrupt? |
| EMTA debtor list | How much does it owe the tax authority right now? |
| EMTA quarterly data | Is it actually trading? Turnover, taxes paid and headcount per quarter |
| EU VIES | Does the EU confirm the VAT number is valid for cross-border trade? |
Fair billing
You pay only for companies that resolve. Checksum failures are caught locally and never generate a request. Sources that return no answer are not billed as joins. A run that resolves nothing costs nothing.
Verified zero is not a missing check
The debtor list only contains debtors, so an empty answer means verified: no tax debt, and the output says taxDebtEur: 0 rather than null. A null appears only when the check itself could not be performed, and the provenance row says why. The same rule everywhere: when a source is down, the affected fields are null and flagged, never silently guessed.
Sole traders are people
The register also contains sole traders (FIE) under their personal names. When the entity is a natural person, the name and address are withheld by design. You still learn that the code exists, its status, whether it pays VAT and whether it owes taxes.
Typos never reach the register
Estonian registry codes carry a checksum digit. Every code is validated locally first; a code that fails the checksum is reported as a typo, costs nothing, and never generates a download.
Input
{"companies": ["10000018",{ "code": "10000024", "reference": "supplier-42" }],"includeQuarterly": true,"includeVies": true}
Strings and objects can be mixed freely. The optional reference is returned unchanged so you can join results back to your own system.
Output
One row per submitted company:
{"input": "10000018","matched": true,"entityType": "legal_entity","code": "10000018","name": "AMSERV AUTO OSAÜHING","legalForm": "Osaühing","companyActive": true,"vatNumber": "EE100057810","vatValidVies": true,"taxDebtEur": 0,"quarterly": [{"year": 2026,"turnoverEur": [19993085, 33789639, null, null],"stateTaxesEur": [1561762, 2101422, null, null],"employees": [236, 242, null, null]}],"riskFlags": [],"provenance": [{ "source": "e-Business Register (RIK)", "ok": true },{ "source": "EMTA tax debtor list", "ok": true },{ "source": "EU VIES", "ok": true }]}
A null inside a quarter means the quarter has not been reported yet, which is not the same thing as a zero. A zero is a reported zero, and a reported zero turnover raises a risk flag, because a dormant supplier is worth knowing about before you prepay.
Watch a list for changes
Checking a supplier once is useful. Checking the same list every morning and reading only what changed is what keeps you out of trouble. Give the run a watch name (or save it as a task and schedule it) and every later run compares its results with the previous one: a company that turned inactive, a new risk flag, a VAT registration cancelled, a published account that disappeared. The differences are stored in the CHANGES record of the run, ready for an integration or an email. The comparison itself is free.
Pricing
| Event | Price |
|---|---|
| Run fee, a tenth of a cent per run that resolves at least one company | $0.001 |
| Company resolved | $0.004 |
| Each additional source that returned an answer | $0.001 |
| Company not found | free |
Frequently asked questions
What does an unmatched row cost? Nothing. Rows that fail the checksum or are not in the register are returned with an explanation and are never charged.
Is a zero tax debt a real answer? Yes. The debtor list contains only debtors, so an empty result is a verified zero, reported as 0. A null appears only when the check itself could not run, and the provenance row says why.
What does a null quarter mean? The quarter has not been reported yet. A reported zero turnover is a different thing and raises a risk flag, because a dormant supplier is worth knowing about before you prepay.
Where does the data come from? The Estonian e-Business Register open data (CC BY 4.0), the Tax and Customs Board (EMTA) debtor list and quarterly figures, and EU VIES. Every value carries its source and timestamp.
Where the data comes from
All sources are official, public and free of charge. The e-Business Register publishes daily extracts as open data under CC BY 4.0, and EMTA publishes the debtor list and quarterly figures on its own site. The register's live API is disallowed by its robots.txt, so this actor deliberately uses the published extracts instead. No scraping of web pages, no proxies, no headless browser.
How to use Estonian Business Register Scraper
- Open the actor and fill in
companiesin the input form, or paste the JSON input from the example above. - Click Start. The first rows appear in the Output tab within seconds; the run summary is in the Storage tab under the key
SUMMARY. - Download the results as JSON, CSV or Excel from the Output tab, or read them through the API link shown there.
- To run it on a schedule, click Save as a task, set the input once and add a schedule. Scheduled tasks keep their own change snapshot, so the new-only mode works without any extra setup.
Integrations
The actor is available in the Apify apps for Make, Zapier, n8n and Keboola, where you pick it by name and map the input fields. It is also exposed to AI agents through the Apify MCP server, and callable from any language through the Apify API; the API tab on this page has ready-made snippets for Node.js, Python and curl. Every run can post its results to a webhook when it finishes.
Support
Questions and problems go into the Issues tab of this actor. Each issue is answered by the maintainer, and fixes ship as new builds without any change on your side.
This is the Estonian sibling of our Czech & Slovak and Romanian company checkers. All three share the same validation engine and the same billing rule: unmatched rows are free.