Estonia Business Register Scraper — Official RIK Data
Pricing
from $2.00 / 1,000 results
Estonia Business Register Scraper — Official RIK Data
Search Estonian companies by name, registry code, legal form, status, EMTAK, location and registration date. Monitor new and changed records from official daily open data.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Lorenzo Talamucci
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Search Estonian companies and other legal entities using the official daily e-Business Register open-data files published by the Centre of Registers and Information Systems (RIK). Export structured records or schedule a monitor that returns only new and changed matching companies.
What you get
Registry code, company name, legal form and label, official status and label, first registration date, deletion date when supplied, registered address, county, city/municipality, current declared EMTAK activities (code, Estonian label, version and primary flag), VAT number when published, source link and collection timestamp. Export JSON, CSV, Excel or use the Apify dataset API.
Use it for supplier checks, procurement portfolios, CRM imports and tracking changes in a company watchlist. It does not return shareholders, beneficial owners, personal identifiers, email addresses or phone numbers. Sole traders (FIE) are excluded.
Input examples
Quick test (the prefilled input, usually a few seconds to a minute on a normal connection):
{"maxResults":5}
Exact company lookup:
{"registryCode":"11694365","maxResults":1}
Location and activity search:
{"county":"Harju","city":"Tallinn","legalForm":"OÜ","status":"R","activityCode":"62","registeredFrom":"2020-01-01","maxResults":100}
Schedule a recurring monitor:
{"registryCode":"11694365","mode":"monitor","monitorName":"supplier-11694365","maxResults":1}
All filters combine with AND. name, county and city are case-insensitive contains searches. registryCode, legalForm and status are exact official codes. activityCode is a 1–5 digit EMTAK prefix and matches current declared activities, not every historical annual-report activity. registeredFrom and registeredTo are inclusive ISO dates. Maximum results: 1–10,000 (default 100). County and city names and activity labels retain Estonian spelling.
Monitor behavior
monitorNome is accepted as an alias of monitorName for the shared cloud battery. Use the same monitorName and filters for every scheduled run. The first run emits matching companies as changeType: "new"; later runs emit new companies and changes to the exported fields as "changed". Unchanged records are not delivered or charged as results. Increasing maxResults is allowed; changing filters requires a new monitor store name. Use separate stores for separate clients or watchlists and avoid overlapping runs against the same store.
The monitor stores a fingerprint per registry code in a named Apify key-value store, with stable hashes that exclude timestamps. State is saved after delivery, so an interruption between delivery and saving can cause a duplicate on retry (at-least-once delivery). A later return to a previous value is still detected as a change. maxResults limits delivered records, not scanned records; a broad monitor may need to scan the whole national archive and reach the time budget. Prefer a registry-code watchlist or narrow filters. No missing-company or deletion notifications are inferred from absence.
Coverage and freshness
RIK updates these files once a day. They contain entities currently entered in the register (registered, in liquidation or in bankruptcy), not a historical archive of deleted companies. deletedAt will normally be null. The general JSON supplies activities; the basic CSV supplies VAT numbers, joined by registry code. The files can be refreshed separately, so this is not an atomic register transaction. Missing VAT numbers stay null; no values are invented.
The actor downloads ZIP files to disk, validates source validators and byte ranges, resumes interrupted transfers and filters the decompressed JSON in streaming mode. General ZIP measured on 28 September 2026: 230,121,937 bytes; basic CSV is smaller. Default memory: 1 GB. Direct public downloads are tried first; Apify proxy IP rotation is available after transient failures. Partial download files can resume within a run; subsequent cloud runs normally start with fresh local disk. Local cached archives are reused only when their current official validator and length match.
The internal deadline is the platform timeoutAt minus 30 seconds. Local runs without timeoutAt have no internal time cap. Already delivered records remain available. Invalid input or exhausted source retries finish cleanly with an explanation in the status message and OUTPUT key-value record (error, hint, partial, pushed, scanned, unchanged, duration and peak memory). A completed run with zero results may mean no matches; inspect OUTPUT.error to distinguish incomplete work. Storage/startup failures at the platform level cannot be guaranteed away.
Price
| Event | Price |
|---|---|
| Actor start, with default 1 GB memory | $0.05 |
Company returned (company) | $0.002 |
For example, 100 returned companies cost $0.25 at the default memory. Changed companies use the same result price. Prices are configured by the publisher in Apify; the Store price shown at checkout is authoritative. The actor tolerates an unconfigured result event during prepublication tests.
Source and license
Source: RIK e-Business Register open data, terms. Reused under Creative Commons Attribution 4.0. Attribution: Centre of Registers and Information Systems (RIK), Estonian e-Business Register. Changes: selection, field renaming, date normalization, basic/general join and incremental comparison. This actor is independent and not endorsed by RIK. Preserve attribution when redistributing the data; any subsequent processing must comply with the source conditions and applicable data-protection requirements.
Local development
Node.js 22 or newer:
npm cinpm testapify run --input '{"maxResults":5}'
No cloud deployment or paid cloud test is required for local verification.