# European Company Registers (UK, Norway, Finland, Czechia) (`darikami/european-company-registers`) Actor

Search the official company registers of the UK (Companies House), Norway, Finland and Czechia by name or register id; the UK also by SIC code, postcode, incorporation date and status. One row per company: legal form, status, industry code, municipality. No officers, no sole traders. No API key.

- **URL**: https://apify.com/darikami/european-company-registers.md
- **Developed by:** [DARIKAMI GmbH](https://apify.com/darikami) (community)
- **Categories:** Lead generation
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$3.00 / 1,000 company delivereds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## European Company Registers (UK, Norway, Finland, Czechia)

**Search the official company registers of the United Kingdom (Companies House), Norway (Brønnøysund), Finland (PRH / YTJ) and Czechia (ARES) in one run, by company name or register id.**
For the UK, also filter by SIC code, postcode, incorporation date, legal form and status: for example, active software companies incorporated in London EC1 since 2024.
You get one row per company in one shape for all four countries: register id, name, legal form, status, registration date, industry code, municipality and the register's own page.
**USD 0.003 per company (USD 3 per 1,000).** A search without results, an id not found and a withheld id are free. No API key. English field names.

| Country | Register id | Name | Legal form | Status | Industry code | Municipality |
|---|---|---|---|---|---|---|
| NO | 923609016 | EQUINOR ASA | Public limited company | active | 06.100 | STAVANGER |
| NO | 959733600 | EQUINOR PENSJON | Pension fund | active | 65.300 | STAVANGER |
| NO | 985619433 | EQUINOR ALGERIA AS | Private limited company | active | 06.100 | STAVANGER |
| FI | 3188362-7 | Equinorm Oy | Limited company | active | 72100 | ESPOO |
| CZ | 23417153 | EQUINOR 1, s.r.o. | Limited liability company (s.r.o.) | active | 68200 | Brno |
| GB | 01285743 | EQUINOR UK LIMITED | Private limited company | active | 06200 | LONDON |
| GB | OE023523 | EQUINOR ENERGY AS | Overseas entity (Register of Overseas Entities) | active | | STAVANGER |

The NO, FI and CZ rows come from a real cloud run of 04.11.2026 (run `OhRuC5HVxnsKKIfd7`, `"query": "equinor"`), the GB rows from the cloud run of 05.11.2026 (run `AXmdkHMPtxKceLURf`, Companies House's file of 2026-11-01). The full item is under Output.

| Country | Register | Register id |
|---|---|---|
| `NO` Norway | Brønnøysund Register Centre, the Central Coordinating Register for Legal Entities (Enhetsregisteret) | organisation number, 9 digits |
| `FI` Finland | Finnish Patent and Registration Office (PRH), the Finnish Business Information System (YTJ) | business id (Y-tunnus), `1234567-8` |
| `CZ` Czechia | ARES, the Administrative Register of Economic Subjects (Ministry of Finance) | IČO, 8 digits |
| `GB` United Kingdom | Companies House, the Free Company Data Product (all live companies, renewed monthly) | company number, 8 characters: `01285743`, `SC123456` |

### Who uses it

- **Supplier and customer checks (KYB pre-checks):** confirm that a UK, Nordic or Czech company exists, is active and has the legal form it claims.
- **CRM enrichment:** add the legal form, the status, the industry code and the municipality to a list of register ids.
- **Market maps:** companies with a name word in four registers, for example the subsidiaries of a group.
- **UK lead lists:** the companies of an industry (SIC code) in an area (postcode), new companies (incorporation date), or companies in liquidation or administration.

### What it does not do

- No officers, owners or shareholders, and no sole traders: their names are personal data (see below).
- No street address, telephone or e-mail: the address stops at the municipality and the postal code (UK: the postcode's outward code, such as `SW1A`).
- Norway, Finland and Czechia: no search by industry or region; their search here is by name or id. The UK filters work for the UK only.
- No dissolved UK companies: Companies House's file holds the live companies only.
- At most 1,000 companies per register and run; ARES answers no Czech search with more than 1,000 matches.

### Input

```json
{ "query": "equinor", "countries": ["NO", "FI", "CZ"], "maxCompanies": 20 }
```

| Field | Meaning |
|---|---|
| `query` | Words of a company name, such as `equinor` or `skoda auto`. Finland also searches former and auxiliary names. The UK: every word must be in the current name. |
| `registerIds` | Up to 1,000 ids, mixed: `923609016` or `NO923609016MVA` (Norway), `0112038-9` or `FI01120389` (Finland), `00177041` or `CZ00177041` (Czechia), `SC123456` or `GB-COH-01285743` (UK). The country follows from the format. NO, FI and CZ check digits are verified. |
| `countries` | The registers the search runs in: `NO`, `FI`, `CZ`, `GB`. Default: `NO`, `FI`, `CZ`. Add `GB` for the UK: it reads Companies House's monthly file until it has its companies (the whole file: about 7 minutes at the default 1,024 MB; more memory is faster). Register ids go to their own register. |
| `maxCompanies` | The search stops in each register after this many companies. Default 50, at most 1,000. Companies looked up by id do not count. |
| `activeOnly` | Default `true`: the search leaves out ceased, bankrupt, liquidating and restructuring companies, and UK companies that the register proposes to strike off. An id lookup returns the company with its status. |
| `ukSicCodes` | UK only. SIC 2007 codes or their first digits: `62012` (software development), `62` (all IT services). One of the company's up to 4 codes must start so. |
| `ukPostcodes` | UK only. The registered office's postcode: an area (`M`, `SW`), a district (`SW1A`, `EC1`) or a sector (`SW1A 1`). `M` is not `ME`; `EC1` takes `EC1V` but not `EC10`. |
| `ukIncorporatedFrom`, `ukIncorporatedTo` | UK only. Incorporated on or after, on or before a day (`YYYY-MM-DD`). |
| `ukLegalForms` | UK only. Legal form codes: `LTD`, `PLC`, `LLP`, `LP`, `CIC`, `CIO`, `OE` (overseas entity) and more (the input form lists them). |
| `ukStatuses` | UK only. `active`, `striking-off`, `liquidation`, `reorganisation` (administration, voluntary arrangement), `receivership`. Replaces `activeOnly` for the UK. |

Give a `query`, `registerIds`, a UK filter, or a mix. The UK filters need `GB` in `countries`. A company comes once per run, also when an id and the search both find it.

Examples:

- One company in each country: `{ "registerIds": ["923609016", "0112038-9", "00177041", "GB-COH-01285743"] }`
- Czech companies only: `{ "query": "skoda auto", "countries": ["CZ"] }`
- Also ceased companies: `{ "query": "nokia", "countries": ["FI"], "activeOnly": false }`
- New UK software companies in EC1: `{ "countries": ["GB"], "ukSicCodes": ["62012"], "ukPostcodes": ["EC1"], "ukIncorporatedFrom": "2024-01-01" }`
- UK companies in liquidation in Manchester: `{ "countries": ["GB"], "ukPostcodes": ["M"], "ukStatuses": ["liquidation"] }`

### Output (one item per company)

```json
{
  "country": "NO",
  "registerId": "923609016",
  "name": "EQUINOR ASA",
  "legalFormCode": "ASA",
  "legalForm": "Public limited company",
  "legalFormLocal": "Allmennaksjeselskap",
  "status": "active",
  "registrationDate": "1995-03-12",
  "ceasedDate": null,
  "industryCode": "06.100",
  "industryCodeSystem": "SN",
  "industryDescription": "Utvinning av råolje",
  "industryCodes": null,
  "municipality": "STAVANGER",
  "municipalityCode": "1103",
  "postalCode": "4035",
  "region": null,
  "addressCountry": "NO",
  "registerUrl": "https://virksomhet.brreg.no/nb/oppslag/enheter/923609016",
  "error": null,
  "message": null,
  "source": "Brønnøysund Register Centre, the Central Coordinating Register for Legal Entities (Enhetsregisteret); Norwegian Licence for Open Government Data (NLOD) 2.0",
  "sourceUrl": "https://data.brreg.no/enhetsregisteret/api/enheter?organisasjonsnummer=923609016&size=100",
  "retrievedAt": "2026-11-04T22:30:00.000Z"
}
```

- `status` is one of `active`, `pending` (Finland: the registration or the start-up is not registered yet),
  `striking-off` (UK: the register proposes to strike the company off), `liquidation`, `reorganisation`,
  `receivership` (UK: a receiver acts for a creditor), `bankruptcy` and `ceased`. Czechia: `ceased` by its end date,
  `bankruptcy` while the insolvency register (ISIR) holds the company, `liquidation` when its name carries "v likvidaci".
  UK: `reorganisation` is administration or a voluntary arrangement; `legalFormLocal` keeps Companies House's own text.
- `legalForm` is English. `legalFormLocal` is the register's own name of the form.
- `industryCode` is the main activity in the national version of NACE:
  - Norway: SN (Statistics Norway), with the register's Norwegian description;
  - Finland: TOL (Statistics Finland), with the English description;
  - Czechia: CZ-NACE 2025, the predominant activity from ARES's statistical register, without a description;
  - UK: SIC 2007, the first of the company's codes, with its description. `industryCodes` lists all of them (up to 4).
- `registrationDate`: Norway the date of entry in the Central Coordinating Register, Finland the trade register's date
  (else the business id's), Czechia the date the company came into being, the UK the incorporation date.
- `municipality` and `postalCode` are the business address at municipality level. Norway and Czechia give the
  municipality, Finland and the UK the post town. The UK `postalCode` is the outward code only (`W2`, not `W2 6BD`).
  `region` is the Czech region (kraj) or the UK nation (England, Wales, Scotland, Northern Ireland) when the register
  names it. The output has no street.
- UK items: `sourceUrl` names the monthly file they come from, such as `BasicCompanyData-2026-11-01-part3_7.zip`.
- A field that the register does not have is `null`.

The free items:

| `error` | When |
|---|---|
| `no-results` | A register found no company that may be returned. The message counts what it left out and why. |
| `not-found` | A register id is not in its register (or the register removed it from publication). |
| `withheld` | A register id belongs to a sole trader or another person. The item carries only the id you gave. |
| `too-many-results` | ARES answers no search with more than 1,000 matches. Narrow the query. |
| `source-failed` | A register could not be read. |

A UK id that is not found is not in the month's file of live companies: a dissolved company is not in it.

### Pricing (pay per event)

| Event | Price | When |
|---|---|---|
| `company` | **USD 0.003** | one company delivered |

100 companies cost USD 0.30. 10,000 companies cost USD 30. You can set a maximum charge for a run.

### Personal data

The output is company data. The actor does not call a register's roles, officers or owners service. It has no street, c/o line, PO box, telephone, e-mail or website, and UK postcodes stop at the outward code.
Its filter leaves out sole traders and other persons by the register's own codes:

- Norway: `ENK`, `PERS`, `TVAM`, `BO`, `KTRF` and the personal sectors 8200 and 8500.
- Czechia: legal forms 101-108, 424 and 425.
- Finland: a legal form outside the known list.
- UK: a limited or Scottish partnership that its name shows to be one person's.

A branch of a foreign business passes only with a legal-entity word in its name. These rows are free, and `STATS` counts them per register.

A person's name can remain in a company named after a person.

### Data source and terms

- **Norway:** the Brønnøysund Register Centre's open data API, `https://data.brreg.no/enhetsregisteret/api`. Its
  documentation states: "License: Norwegian Licence for Open Government Data (NLOD) 2.0". NLOD allows reuse, also
  commercial reuse, with attribution. Each item names its source.
- **Finland:** the Finnish Patent and Registration Office's open data API, `https://avoindata.prh.fi`. Its terms:
  "Mention the original source when you use the data." Each item names PRH and the YTJ as its source. This actor is
  not a service of PRH.
- **Czechia:** ARES, `https://ares.gov.cz`, of the Ministry of Finance of the Czech Republic. Its terms: "Služby může
  využívat každý, pokud bude respektovat podmínky provozu" (anyone may use the services who respects the operating
  conditions). ARES states that its information is for information only ("pouze informativní charakter").
- **United Kingdom:** Companies House's Free Company Data Product, `https://download.companieshouse.gov.uk/en_output.html`,
  a monthly snapshot of the live companies (7 ZIP files of CSV, about 470 MB; the file of 2026-11-01 holds 5,711,779
  companies). No API key. Companies House states (GOV.UK, "Our public task, copyright and Crown copyright", read
  2026-11-05): "Companies House imposes no rules or requirements on how the information on the public register is
  used." Its own material "is subject to Crown copyright protection and is made available on GOV.UK under the Open
  Government Licence v3.0, except where otherwise stated." Each item names Companies House as its source and the file
  it comes from.
- This actor is not affiliated with or endorsed by the Brønnøysund Register Centre, PRH, the Ministry of Finance of
  the Czech Republic or Companies House.

### Limits

- Each register searches names its own way. Norway and Czechia match the words in the name; Finland matches the
  current, former, parallel and auxiliary names. Use a register id for one company.
- The search reads at most 1,000 companies per register and run. ARES answers no search with more than 1,000 matches
  at all: narrow the query.
- Norway: sub-units (establishments) are not searched. A company removed from publication is not returned.
- Czechia: the industry code comes from a second ARES lookup. When it fails, the companies come without it (a warning in
  the log).
- UK: the data is as of the end of the previous month. Companies House renews the file within 5 working days of the
  month's end. A UK search reads the file until it has `maxCompanies` companies: a rare name or a narrow filter reads
  the whole file (about 7 minutes at the default 1,024 MB of memory; a run with 4,096 MB is faster).

### Run summary

The run summary is in the default key-value store under `SUMMARY`, the counts under `STATS`.
The data comes as the source publishes it, without warranty.

**More official-data actors by darikami:** [French company search](https://apify.com/darikami/french-company-search) · [Swiss UID & VAT validator](https://apify.com/darikami/swiss-uid-validator) · [SEC company fundamentals](https://apify.com/darikami/sec-company-fundamentals) · [German public tenders](https://apify.com/darikami/german-public-tenders) · [Swiss federal law MCP](https://apify.com/darikami/swiss-federal-law-mcp).
In an AI agent: ask the Apify MCP server (`mcp.apify.com`) for `darikami/european-company-registers`.

# Actor input Schema

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

Words of a company name, such as "equinor" or "skoda auto". Each chosen register searches its own names (Finland also former and auxiliary names; the UK: every word in the current name). Leave empty to look up register ids only, or to search the UK by its filters below.

## `registerIds` (type: `array`):

Ids to look up, up to 1,000, from any of the four registers: a Norwegian organisation number (9 digits, 923609016 or NO923609016MVA), a Finnish business id (0112038-9 or FI01120389), a Czech IČO (8 digits, 00177041 or CZ00177041) or a UK company number (SC123456, OC301540; one of 8 digits as GB-COH-01285743, because 8 digits alone are a Czech IČO). The country follows from the format; NO, FI and CZ check digits are verified.

## `countries` (type: `array`):

The registers the search runs in: NO (Brønnøysund), FI (PRH), CZ (ARES) and GB (Companies House). GB reads Companies House's monthly file of all live UK companies (about 470 MB) - a GB search that reads the whole file takes about 7 minutes at the default 1,024 MB (faster with more memory), so GB is not in the default. Register ids are always looked up in their own register.

## `maxCompanies` (type: `integer`):

The search stops in each register after this many companies (1 to 1,000). Companies looked up by id do not count. Each company is one charged event, once per run.

## `activeOnly` (type: `boolean`):

On: the search leaves out ceased, bankrupt, liquidating and restructuring companies (UK: also those the register proposes to strike off). Register id lookups always return the company with its status. "UK statuses" below replaces this for the UK.

## `ukSicCodes` (type: `array`):

UK SIC 2007 codes or their first digits, such as 62012 (software development) or 62 (all IT services). A company matches when one of its up to 4 SIC codes starts so.

## `ukPostcodes` (type: `array`):

The registered office's postcode: an area (M, SW), a district (SW1A, EC1, M1) or a sector (SW1A 1). An area takes only its own districts (M is not ME); a district takes its lettered sub-districts (EC1 takes EC1V, not EC10).

## `ukIncorporatedFrom` (type: `string`):

Incorporated on or after this day (YYYY-MM-DD).

## `ukIncorporatedTo` (type: `string`):

Incorporated on or before this day (YYYY-MM-DD).

## `ukLegalForms` (type: `array`):

Only these legal forms. Empty: all.

## `ukStatuses` (type: `array`):

Only companies with these statuses, such as liquidation for insolvency work. Empty: "Active companies only" decides.

## Actor input object example

```json
{
  "query": "equinor",
  "countries": [
    "NO",
    "FI",
    "CZ"
  ],
  "maxCompanies": 50,
  "activeOnly": true
}
```

# Actor output Schema

## `results` (type: `string`):

One item per company: country, register id, name, legal form, status, registration date, industry code, municipality, register page.

## `stats` (type: `string`):

STATS record per register: requests, totalMatches, results, delivered, duplicates, the units not returned by the privacy and status rules (dropped), idsNotFound, idsWithheld, failed; for GB also file: the snapshot month, the parts and rows read.

## `summary` (type: `string`):

SUMMARY record: pushed, charged, attempts, errors, stoppedByBudget, ok, message.

# 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": "equinor"
};

// Run the Actor and wait for it to finish
const run = await client.actor("darikami/european-company-registers").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": "equinor" }

# Run the Actor and wait for it to finish
run = client.actor("darikami/european-company-registers").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 '{
  "query": "equinor"
}' |
apify call darikami/european-company-registers --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,darikami/european-company-registers"
        }
    }
}
```

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/4fnJjUc2Hm82GeVqA/builds/mNgv3AlVErpDCrW3b/openapi.json
