# Finland PRH Business Registry Scraper (`parseforge/finland-prh-scraper`) Actor

Scrapes Finnish company records from the PRH registry by name, business ID, company form, industry code, or registration date. Returns each company as a flat row.

- **URL**: https://apify.com/parseforge/finland-prh-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Lead generation, Automation, Other
- **Stats:** 3 total users, 1 monthly users, 82.5% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.24 / 1,000 result items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### Finland PRH Business Registry Scraper

**Scrape Finnish company data from the official PRH registry, up to a million records per run.** Every company comes with its business ID, legal form, industry code, registration dates, and full registry details. No login or API key. Export to CSV, JSON, Excel, or XML.

Finland's official business registry, PRH, holds every registered company in the country, but its open data interface is built for lookups, not bulk export. This Actor reads the public registry directly, filters by name, business ID, company form, industry code, or registration date, and returns each match in one fixed schema. No API key, no rate limits, no manual downloads.

| Who uses it | What they scrape Finland PRH Business Registry for |
|---|---|
| B2B lead generation teams | Build targeted prospect lists of Finnish companies by industry and registration date |
| Market researchers | Map the Finnish business landscape by legal form and industry classification |
| Compliance officers | Verify company registration details and business IDs against the official registry |
| Data analysts | Collect bulk registry data for trend analysis and reporting |
| Sales operations | Enrich CRM records with current Finnish company registration data |

### What it does

This Actor collects Finnish company records from the PRH registry by name, business ID, company form, industry code, or registration date, and returns each one as a flat row.

- 🔍 **Name search:** free text match on business name, e.g. 'nokia' returns Nokia Oyj and related entities.
- 🆔 **Business ID lookup:** exact Y-tunnus match, e.g. '0112038-9' for Nokia Oyj.
- 🏢 **Company form filter:** restrict to legal forms like OY (limited company), OYJ (public limited), AY, KY, and more.
- 📊 **Industry code filter:** TOL2008 classification, e.g. 62010 for computer programming activities.
- 📅 **Registration date range:** include only entities registered within a from-to date window.
- ⚙️ **Max items control:** cap the number of records per run, from 1 to 1,000,000.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with Finland PRH Business Registry data

**🎯 Build B2B lead lists.**

A sales team filters Finnish companies by industry code and registration date to find new prospects and exports the list to their CRM.

**📈 Track market entry.**

A market researcher monitors newly registered companies in a specific industry to spot emerging competitors and market trends.

**✅ Verify business partners.**

A compliance officer checks business IDs and registration details against the PRH registry before signing contracts.

**🗂️ Enrich CRM data.**

A data analyst matches existing customer records with PRH data to fill in missing legal form, industry, and registration dates.

**🌍 Map the Finnish economy.**

An economist collects bulk registry data by company form and industry to analyze the structure of the Finnish business sector.

### Why choose this scraper

| | What you get |
|---|---|
| **Official source** | Data comes directly from the Finnish Patent and Registration Office (PRH), the authoritative registry. |
| **No API key** | No registration, no OAuth, no rate limits. run the Actor. |
| **Flexible filters** | Combine name, business ID, legal form, industry code, and registration dates in one run. |
| **Structured output** | Every record is returned as a flat row with consistent fields, ready for analysis. |
| **Bulk export** | Collect up to a million companies per run and export to CSV, JSON, Excel, or XML. |

### How it compares

This Actor focuses on the Finnish PRH registry with flexible filters and bulk export, while the competitors below offer overlapping but different feature sets.

| Feature | ParseForge | Finland Company Registry Scraper - PRH B2B Leads | Nordic Company Registry Scraper (NO + FI + SE + DK) | Finland Company Data - PRH Trade Register & Business ID |
|---|---|---|---|---|
| Filter by business ID (Y-tunnus) | Yes | Not listed | Not listed | Yes |
| Filter by company form | Yes | Yes | Not listed | Not listed |
| Filter by industry code (TOL2008) | Yes | Not listed | Not listed | Not listed |
| Filter by registration date range | Yes | Not listed | Not listed | Not listed |
| Bulk export up to 1,000,000 records | Yes | Not listed | Not listed | Not listed |
| Multi-country coverage | No | No | Yes | No |

### Configure the run

Drive the Actor from company name, business ID, company form, industry code, and registration date range, alone or together, and filters run as each record is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

```json
{
 "maxItems": 10,
 "name": "nokia"
}
```

A larger pull:

```json
{
 "maxItems": 200,
 "name": "nokia"
}
```

### Pricing

Pay-per-result: **$0.01099 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $1.10 |
| 1,000 results | $10.99 |
| 10,000 results | $109.90 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [Finland PRH Business Registry Scraper](https://apify.com/parseforge/finland-prh-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to Finland PRH Business Registry through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/finland-prh-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Check your filters. If you entered a business ID, make sure it is exact, including the dash. If you used a name, try a shorter or more common term. Also check that your registration date range is not too narrow.

**The run is taking too long.**

Reduce the 'Maximum companies' value or narrow your filters. The Actor processes each record, so a broad search with a high limit can take time.

**I got an error about the date format.**

Dates must be in YYYY-MM-DD format, for example 2023-01-31. Make sure there are no extra spaces or slashes.

**The business ID I entered is not found.**

Verify the Y-tunnus format: 7 digits, a dash, and a check digit, like 0112038-9. If it is correct, the company may not be in the PRH trade register or may have been deregistered.

**Can I get more than a million records?**

The maximum per run is 1,000,000. If you need more, split your query into smaller chunks using different filters, such as registration date ranges or industry codes.

### FAQ

| Question | Answer |
|---|---|
| What is the PRH registry? | The Finnish Patent and Registration Office (PRH) maintains the official trade register of all companies and businesses registered in Finland. It includes legal entities like limited companies, cooperatives, and sole traders. |
| Do I need an API key or login? | No. This Actor reads the public PRH open data interface directly. You only need an Apify account to run it. |
| What is a Y-tunnus? | A Y-tunnus is the Finnish business ID, a unique identifier assigned to every registered company. It has the format 1234567-8. |
| Can I search by company name? | Yes. Use the 'Company Name' input to do a free text match. For example, entering 'nokia' returns Nokia Oyj and other companies with 'nokia' in their name. |
| What is TOL2008? | TOL2008 is the Finnish standard industrial classification, based on the EU NACE system. Each company is assigned one or more industry codes, such as 62010 for computer programming. |
| Can I filter by registration date? | Yes. Use 'Registered From' and 'Registered To' to include only companies registered within a specific date range. Dates must be in YYYY-MM-DD format. |
| How many companies can I scrape? | You can set 'Maximum companies' to any number from 1 to 1,000,000 per run. The Actor stops when it reaches that limit or when no more matches are found. |
| What output formats are supported? | The Actor exports data in CSV, JSON, Excel, and XML. You can choose the format when you run it or download the dataset later. |
| Is the data up to date? | The Actor reads the PRH registry in real time, so the data reflects the current state of the registry at the time of the run. |
| Can I combine multiple filters? | Yes. All input fields are optional and can be combined. For example, you can search for companies with 'oy' in the name, in industry 62010, registered after 2020-01-01. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Finnish Patent and Registration Office (PRH). It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `maxItems` (type: `integer`):

Maximum number of companies to collect per run.

## `name` (type: `string`):

Free text match on business name.

## `businessId` (type: `string`):

Exact Finnish Y-tunnus (e.g. '0112038-9' for Nokia).

## `companyForm` (type: `string`):

Filter by legal form code (e.g. OY, OYJ, AY, KY). Leave empty for all.

## `industryCode` (type: `string`):

Finnish industry classification code (e.g. 62010 for computer programming).

## `registeredFrom` (type: `string`):

Include only entities registered on or after this date.

## `registeredTo` (type: `string`):

Include only entities registered on or before this date.

## Actor input object example

```json
{
  "maxItems": 10,
  "name": "nokia"
}
```

# Actor output Schema

## `overview` (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 = {
    "maxItems": 10,
    "name": "nokia"
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/finland-prh-scraper").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 = {
    "maxItems": 10,
    "name": "nokia",
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/finland-prh-scraper").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 '{
  "maxItems": 10,
  "name": "nokia"
}' |
apify call parseforge/finland-prh-scraper --silent --output-dataset

```

## MCP server setup

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

```

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/AdJtqykV9nkzuUMN2/builds/lNONlfoJKZiNvwbCI/openapi.json
