# Finland Company Registry Scraper (Y-tunnus) (`scrapers_lat/finland-companies-scraper`) Actor

Search Finnish companies and extract registry records by name or business ID (Y-tunnus). Get business ID, company name and name history, company form, industry code and label, status, addresses, website and tax/trade register entries. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/finland-companies-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Automation, Developer tools, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

<!-- actor-banner -->
![Finland Company Registry Scraper (Y-tunnus)](https://scrapers.lat/banners/finland-companies-scraper.png)
<!-- /actor-banner -->

## Finland Company Registry Scraper (Y-tunnus)

Search Finnish companies and pull a clean, structured record for every match. Look up a company by name or by its business ID (Y-tunnus) and get the business ID, current and historical names, company form, industry, status, addresses, website and tax and trade register memberships. No login, no API key and no proxy setup on your side.

Point it at a single business ID for a full profile, or run a broad name or industry search and collect thousands of companies in one go. Results are returned as structured data you can export to JSON, CSV or Excel, or pull straight into your own workflow.

### What you get

For every matching company:

| Field | Description |
| --- | --- |
| `businessId` | Finnish business ID (Y-tunnus), e.g. `0112038-9` |
| `euId` | European unique identifier, when assigned |
| `name` | Current registered company name |
| `companyForm` | Legal form in English, e.g. `Public limited company`, `Private limited company`, `Sole trader`, `Non-profit association` |
| `companyFormCode` | Company form code on record |
| `status` | `Active` or `Ceased` |
| `industryCode` | Main line of business code (Finnish TOL 2008 classification) |
| `industry` | Main line of business label in English |
| `registrationDate` | Date the company was first registered (`YYYY-MM-DD`) |
| `endDate` | Date the company ceased, when applicable |
| `website` | Registered website address, when published |
| `city` | Home city / municipality |
| `visitingAddress` | Visiting address object (street, building, post code, city, municipality code, full address) |
| `postalAddress` | Postal address object (street or PO box, post code, city, municipality code, full address) |
| `vatRegistered` | Whether the company is currently in the VAT register |
| `prepaymentRegistered` | Whether the company is currently in the prepayment register |
| `employerRegistered` | Whether the company is currently in the employer register |
| `lastModified` | When the source record was last updated |
| `scrapedAt` | ISO timestamp of collection |

With **Fetch full details** enabled, each record is expanded with:

| Field | Description |
| --- | --- |
| `names` | Full name history: primary, parallel and auxiliary names, each with its dates |
| `companyForms` | Company form history with dates |
| `addresses` | Every registered address, fully broken down |
| `registeredEntries` | Every tax and trade register entry: register, status, authority and dates |
| `companySituations` | Special situations on record (e.g. bankruptcy, liquidation), when present |

Missing values are returned as `null`. Nothing is invented.

### Input

| Field | Type | Default | Description |
| --- | --- | --- | --- |
| `query` | string (required) | `nokia` | Company name (or part of it), or a full business ID such as `0112038-9`. Business IDs are detected and looked up directly. |
| `city` | string | (none) | Restrict results to a city or municipality, e.g. `Helsinki`. |
| `companyForm` | string | (none) | Restrict to a company form code, e.g. `OY`, `OYJ`, `TMI`, `AY`, `KY`, `OK`. |
| `industryCode` | string | (none) | Restrict to a main line of business code (TOL 2008), e.g. `62010`. |
| `maxItems` | integer (1-10000) | `50` | Maximum company records to collect. Pagination is automatic. |
| `withDetails` | boolean | `false` | Expand each record with full name history, all addresses and every register entry. |

#### Example input

```json
{
  "query": "kahvila",
  "city": "Helsinki",
  "maxItems": 100,
  "withDetails": false
}
````

#### Example output

```json
{
  "businessId": "0112038-9",
  "euId": "FIFPRO.0112038-9",
  "name": "Nokia Oyj",
  "companyForm": "Public limited company",
  "companyFormCode": "17",
  "status": "Active",
  "industryCode": "70100",
  "industry": "Activities of head offices",
  "registrationDate": "1896-12-19",
  "endDate": null,
  "website": "www.nokia.com",
  "city": "ESPOO",
  "visitingAddress": {
    "type": "Visiting address",
    "street": "Karakaari",
    "buildingNumber": "7",
    "postCode": "02610",
    "city": "ESPOO",
    "municipalityCode": "049",
    "fullAddress": "Karakaari 7, 02610 ESPOO"
  },
  "postalAddress": {
    "type": "Postal address",
    "poBox": "226",
    "postCode": "00045",
    "city": "NOKIA GROUP",
    "fullAddress": "PO Box 226, 00045 NOKIA GROUP"
  },
  "vatRegistered": true,
  "prepaymentRegistered": true,
  "employerRegistered": true,
  "lastModified": "2026-06-08T14:49:11",
  "scrapedAt": "2026-07-05T13:59:00.000Z"
}
```

### Use cases

- **KYB and due diligence.** Confirm a Finnish company exists, is active, and get its business ID, legal form, industry, addresses and VAT status for onboarding and compliance checks.
- **Lead generation.** Build targeted lists of companies by city, industry or company form, complete with addresses and websites for outreach.
- **Market research.** Map an industry or region, size up how many companies operate in a sector, and track new registrations.
- **Data enrichment.** Turn a company name or business ID into a clean, structured profile inside your CRM or data pipeline.

### FAQ

**How do I look up one specific company?**
Put its business ID (Y-tunnus, e.g. `0112038-9`) in the `query` field. It is detected automatically and returns that single company's full profile.

**Can I search by name?**
Yes. Enter a full or partial company name in `query`. Add `city`, `companyForm` or `industryCode` to narrow the results.

**How many companies can I collect?**
Set `maxItems` up to 10000. The actor pages through the results automatically until it reaches your limit.

**What is a business ID / Y-tunnus?**
It is the unique identifier every registered Finnish company and organization has, in the format `1234567-8`. It is the primary key used across Finnish business records.

**Do I get contact addresses?**
Yes. Each record includes the visiting and postal address, the city and municipality, and the registered website when one is published. Enable **Fetch full details** for the complete address history.

**Is the data reliable?**
Records come straight from Finland's official open company registry and are returned exactly as published. Values that the registry does not provide are returned as `null`.

### Disclaimer

This actor retrieves **public records** published as open data by Finland's official company registry. You are responsible for using the data lawfully, including for KYB, due diligence and lead-generation purposes, and for complying with applicable privacy and data-protection rules in your jurisdiction. This actor is independent and is not affiliated with or endorsed by any Finnish authority.

### Export, API and AI agents (x402 + MCP)

Export the scraped data to **JSON, CSV or Excel**, pull it as a **dataset** through the Apify **API**, or wire it into your app with **no code**. This web scraper and data extractor also works for bulk data extraction and scheduled runs.

For AI agents: this Actor is available on **x402**, Apify's agentic payment standard built with Coinbase. An AI agent can discover, pay for and run it on its own with a funded wallet and a single HTTP request: no account, no subscription, no API key and no human in the loop. It also runs as an **MCP** tool inside Claude, Cursor and other AI clients out of the box. Learn more about [x402 agentic payments on Apify](https://docs.apify.com/platform/integrations/x402).

### Related scrapers

Need company data from other registries? Here are more scrapers we build and maintain:

- [New York Business Entity & LLC Records Scraper](https://apify.com/scrapers_lat/ny-dos-business-scraper)
- [France Company Registry Scraper (SIREN, Officers, Finances)](https://apify.com/scrapers_lat/france-company-search-scraper)
- [Taiwan Business Registry Scraper (Company & UBN)](https://apify.com/scrapers_lat/taiwan-business-registry-scraper)
- [Colorado Business Entity Scraper: Registered Agents](https://apify.com/scrapers_lat/colorado-business-entities-scraper)
- [Singapore BCA Registered Contractors Scraper](https://apify.com/scrapers_lat/singapore-bca-contractors-scraper)

### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

# Actor input Schema

## `query` (type: `string`):

A company name (or part of it) to search for, or a full Finnish business ID / Y-tunnus such as 0112038-9. Business IDs are detected automatically and looked up directly.

## `city` (type: `string`):

Optional. Restrict results to companies registered in a given city or municipality, e.g. Helsinki or Espoo.

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

Optional. Restrict results to a company form code, e.g. OY (private limited company), OYJ (public limited company), TMI (sole trader), AY, KY, OK. Leave empty for all forms.

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

Optional. Restrict results to a main line of business code (Finnish TOL 2008 industry classification), e.g. 62010 for computer programming or 70100 for head office activities.

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

Maximum number of company records to collect. Results are paginated automatically until this limit is reached.

## `withDetails` (type: `boolean`):

Expand each record with the full name history (parallel and auxiliary names), every registered address and the complete list of tax and trade register entries. Leave off for a compact record with the current name, main address, industry, status and register flags.

## Actor input object example

```json
{
  "query": "nokia",
  "maxItems": 50,
  "withDetails": false
}
```

# 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 = {
    "query": "nokia",
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/finland-companies-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 = {
    "query": "nokia",
    "maxItems": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/finland-companies-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "query": "nokia",
  "maxItems": 50
}' |
apify call scrapers_lat/finland-companies-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapers_lat/finland-companies-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Finland Company Registry Scraper (Y-tunnus)",
        "description": "Search Finnish companies and extract registry records by name or business ID (Y-tunnus). Get business ID, company name and name history, company form, industry code and label, status, addresses, website and tax/trade register entries. Export to JSON, CSV or Excel.",
        "version": "0.1",
        "x-build-id": "2AHxszNnJooXLv0vY"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers_lat~finland-companies-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers_lat-finland-companies-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapers_lat~finland-companies-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers_lat-finland-companies-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapers_lat~finland-companies-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers_lat-finland-companies-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "query"
                ],
                "properties": {
                    "query": {
                        "title": "Search query",
                        "type": "string",
                        "description": "A company name (or part of it) to search for, or a full Finnish business ID / Y-tunnus such as 0112038-9. Business IDs are detected automatically and looked up directly."
                    },
                    "city": {
                        "title": "City / location",
                        "type": "string",
                        "description": "Optional. Restrict results to companies registered in a given city or municipality, e.g. Helsinki or Espoo."
                    },
                    "companyForm": {
                        "title": "Company form",
                        "type": "string",
                        "description": "Optional. Restrict results to a company form code, e.g. OY (private limited company), OYJ (public limited company), TMI (sole trader), AY, KY, OK. Leave empty for all forms."
                    },
                    "industryCode": {
                        "title": "Industry code",
                        "type": "string",
                        "description": "Optional. Restrict results to a main line of business code (Finnish TOL 2008 industry classification), e.g. 62010 for computer programming or 70100 for head office activities."
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of company records to collect. Results are paginated automatically until this limit is reached."
                    },
                    "withDetails": {
                        "title": "Fetch full details",
                        "type": "boolean",
                        "description": "Expand each record with the full name history (parallel and auxiliary names), every registered address and the complete list of tax and trade register entries. Leave off for a compact record with the current name, main address, industry, status and register flags.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
