Lead generation
Finland PRH Company Registry Scraper
Export Finland's official PRH/YTJ company registry — business ID, legal name, form, industry code, registration/dissolution dates, address and website — filtered by name, city, postal code, industry code or date range, as clean JSON/CSV/Excel.
Free Apify credit covers a first run. No credit card to try.
What this Actor scrapes
PRH's YTJ open-data API is Finland's authoritative company registry — free, keyless and public — but its JSON nests names, addresses, company forms and industry codes three or four levels deep, and a shallow clone cluster already scrapes it inconsistently (one live competitor fails 10 of every 51 runs). This Actor flattens every registered company into one row with English field names, keeps running cleanly through malformed entries and empty result sets, and prices at $4.20 per 1,000 results — matching or undercutting every live competitor on this exact API.
What we handle for you
- 🧊 Flattens PRH's nested JSON — company names, forms, addresses and industry codes flattened into one clean, English-labelled row per company.
- 🧱 Honest zero-match handling — a narrow filter combination that matches nothing still finishes SUCCEEDED with a clear status message, never billed as a failed run.
- 🩹 Per-row fault isolation — one malformed registry entry is logged and skipped; it never crashes the rest of the page.
- 🔁 Retries transient 429/5xx responses with exponential backoff instead of failing the whole run.
- 🎯 Typed, validated dataset rows — Pydantic-checked, stable business IDs, JSON / CSV / Excel export straight from the Apify Console.
- 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. No data, no charge.
Use cases
- Build a Nordic B2B prospect list filtered by city, industry code or registration date.
- Run a KYC/AML supplier or counterparty check against Finland's authoritative company register.
- Screen a partner list for dissolved companies or special situations before contracting.
- Support market-entry research by pulling every registered company in a city or industry line.
Input
Paste this into the Apify Console, or send it as the run input over the API. Proxy settings are on by default; you rarely need to touch them.
| Field | Type | Required | What it does |
|---|---|---|---|
nameQuery | string | no | Match companies whose name contains this text. Leave empty to filter by location, industry or business ID instead. |
location | string | no | Municipality or city name, e.g. Helsinki. Leave empty to search all of Finland. |
businessId | string | no | Exact Finnish business ID, format NNNNNNN-C, e.g. 0100123-2. Leave empty to skip this filter. |
postalCode | string | no | Exact 5-digit Finnish postal code, e.g. 00131. Leave empty to skip this filter. |
industryCode | string | no | PRH main business line code (Finnish TOL 2008 / NACE-style), e.g. 62010. Leave empty for all industries. |
registeredAfter | string | no | Only include companies registered on or after this date, e.g. 2020-01-01. Leave empty to skip this filter. |
registeredBefore | string | no | Only include companies registered on or before this date. Leave empty to skip this filter. |
maxResults | integer | no | Stop after this many companies. Each company is one billed result row. |
{
"location": "Helsinki",
"maxResults": 3,
"proxyConfiguration": {
"useApifyProxy": false
}
} Output
One row per result, schema-validated before it is written. Export JSON, CSV, Excel or XML from the run, or read it over the API.
business_idbusiness_id_registeredcompany_namecompany_form_codecompany_formmain_business_line_codemain_business_lineregistration_dateend_dateis_dissolvedstreet_addresspostal_codecitywebsitehas_special_situationlast_modified
{
"business_id": "0100123-2",
"business_id_registered": "1978-03-15",
"company_name": "Oy Emar Ab",
"company_form_code": "16",
"company_form": "Limited company",
"main_business_line_code": "66190",
"main_business_line": "Other activities auxiliary to financial services, except insurance and pension funding",
"registration_date": "1968-04-26",
"end_date": null,
"is_dissolved": false,
"street_address": null,
"postal_code": "00131",
"city": "HELSINKI",
"website": null,
"has_special_situation": false,
"last_modified": "2026-04-03T10:17:56",
"url": "https://tietopalvelu.ytj.fi/yritys/0100123-2"
} Pricing
| Event | Price | When |
|---|---|---|
| Actor start | $0.20 | Once per run, covers warm-up and proxy session setup. |
| Result emitted | $0.0040 | Per result written to the dataset. |
You pay only for results that land. Cap any run with maxTotalChargeUsd. See pricing & billing for worked examples.
Limitations
- Returns current registry data only — no financials, shareholders, beneficial owners or historical name/address change logs.
- No company-form filter — PRH's API accepts one but silently ignores it, so it isn't exposed here to avoid a misleading no-op input.
- The
urlfield links to PRH's official lookup page, which renders client-side and cannot be verified per-ID without a browser.
FAQ
Do I need an API key?
What happens if my filters match nothing?
Can I pull every company in an industry or city?
Is the data in Finnish?
Ready to run it?
Open the listing on Apify, paste the input above, and watch rows land. If it ever breaks, it is our problem before it is yours.
Related Actors