# Norway Company Search – Brreg New Companies, CEO & Board Leads (`gazidev/norway-company-leads`) Actor

Find new Norwegian companies from the official Brønnøysund register (Brreg): org number, NACE, address, employees, share capital, website/email/phone, bankruptcy flags + optional CEO, chair & board. Filter by municipality, county, NACE, AS/ENK. $1.50 per 1,000.

- **URL**: https://apify.com/gazidev/norway-company-leads.md
- **Developed by:** [Cemal Atakli](https://apify.com/gazidev) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 companies

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

## Norway Company Search – Brreg New Companies, CEO & Board Leads

Search the official **Norwegian company register (Brønnøysundregistrene / Brreg, Enhetsregisteret)** and get clean lead lists of **newly registered Norwegian companies**, with the **CEO (daglig leder)**, **chair (styreleder)** and **board members** if you want them.

Each record has the **organisation number (organisasjonsnummer)**, name, organisation form (AS, ENK, NUF, ASA…), **NACE industry code and description**, registration and founding date, business address, postal code, municipality and county, **number of employees**, **share capital**, **website, email and phone** (when the company registered them), VAT-register status and **bankruptcy / liquidation flags**.

Three modes:

1. **New companies**: everything registered in a date range (default: the last 7 days), filtered by **municipality, county, NACE code, organisation form and minimum employees**.
2. **Name search**: every company whose name contains a word (`holding`, `eiendom`, `Equinor`…).
3. **Org-number lookup**: bulk check of thousands of organisation numbers (main units and sub-units).

The data comes from the official, keyless **Enhetsregisteret open-data API** (data.brreg.no). No scraping, no login, no API key. **$1.50 per 1,000 companies, roles included.**

### Who uses it

- **Accountants, auditors, banks, insurers, payroll and SaaS vendors**: a daily feed of **new Norwegian AS companies** in Oslo, Bergen, Trondheim or Stavanger, with the CEO's name for outreach.
- **B2B sales teams**: new companies in your industry (NACE) and region, plus established companies with **5+ employees**.
- **KYC, compliance and credit teams**: bulk check org numbers: is the company bankrupt, under liquidation or deleted? Who is the CEO, chair and auditor?
- **Researchers and journalists**: company formation trends by county, industry or organisation form.

### Input examples

New limited companies (AS) from the last 7 days with CEO and board (the default prefill):

```json
{ "mode": "newCompanies", "registeredWithinDays": 7, "organisationForms": ["AS"], "includeRoles": true, "maxResults": 50 }
```

New IT and consulting companies in Vestland county in the last 60 days:

```json
{ "registeredWithinDays": 60, "counties": ["46"], "naceCodes": ["62", "70"], "organisationForms": ["AS"], "maxResults": 0 }
```

Companies in Oslo and Bergen registered in the last 90 days that already have 5+ employees:

```json
{ "registeredWithinDays": 90, "municipalities": ["Oslo", "Bergen"], "minEmployees": 5, "includeRoles": true }
```

Name search and bulk lookup:

```json
{ "mode": "nameSearch", "searchName": "holding", "municipalities": ["Stavanger"], "maxResults": 200 }
```

```json
{ "mode": "orgNumbers", "orgNumbers": ["923609016", "NO 914 778 271 MVA"], "includeRoles": true }
```

Daily feed of new companies in Trondheim (schedule it daily):

```json
{ "registeredWithinDays": 2, "municipalities": ["Trondheim"], "onlyNew": true, "stateKey": "trondheim", "maxResults": 0 }
```

#### Filters

| Field | Meaning |
|---|---|
| `mode` | `newCompanies` (default), `nameSearch`, `orgNumbers` |
| `registeredWithinDays` / `registeredFrom` / `registeredTo` | Registration date in Enhetsregisteret |
| `searchName` | Name search mode: word contained in the company name |
| `orgNumbers` | Lookup mode: 9-digit numbers (`NO` prefix / `MVA` suffix / spaces are ignored) |
| `organisationForms` | `AS`, `ASA`, `ENK`, `NUF`, `DA`, `ANS`, `SA`, `KS`, `FLI`, `STI`… (empty = all) |
| `counties`, `municipalities` | Business address location (names like `Tromsø` or numbers like `0301`) |
| `naceCodes` | Industry code prefixes, e.g. `62`, `62.1`, `41`, `68` (SN2025 / NACE Rev. 2.1) |
| `minEmployees` | 1 = has registered employees; Brreg only publishes counts of 5+ |
| `excludeBankruptOrLiquidating` | Default on |
| `onlyWithContactInfo` | Only companies with a registered website, email or phone |
| `includeRoles` | Adds CEO, chair, deputy chair, board members, deputies, owner (ENK), contact person, auditor, accountant |
| `unitType` | `main` (legal entities) or `sub` (sub-units / business locations) |
| `onlyNew` + `stateKey` | Monitoring: skip companies returned by earlier runs |
| `maxResults` | Stop after N companies (0 = all). You pay per company saved |

Big date ranges are no problem: the API only lets clients page through 10,000 hits per query, so the Actor automatically **splits the date range** into smaller windows and keeps the output **newest first**.

### Output

```json
{
  "orgNumber": "938744939",
  "name": "LINDGREN EZHNO HOLDING AS",
  "orgForm": "AS",
  "orgFormDescription": "Aksjeselskap",
  "naceCode": "00.000",
  "naceDescription": "Uoppgitt",
  "registrationDate": "2026-10-24",
  "foundedDate": "2026-09-23",
  "address": "C/o Martin Lindgren Ezhno, Hagemannsveien 7",
  "postalCode": "3080",
  "city": "HOLMESTRAND",
  "municipality": "HOLMESTRAND",
  "municipalityNumber": "3903",
  "county": "Vestfold",
  "employees": null,
  "shareCapital": 30000.0,
  "shareCapitalCurrency": "NOK",
  "website": null,
  "email": null,
  "phone": null,
  "activity": "Holdingselskap.",
  "vatRegistered": false,
  "bankrupt": false,
  "underLiquidation": false,
  "underForcedLiquidation": false,
  "brregUrl": "https://virksomhet.brreg.no/nb/oppslag/enheter/938744939",
  "ceo": "Martin Lindgren Ezhno",
  "chair": "Martin Lindgren Ezhno",
  "boardMembers": ["Ingerid Lindgren Ezhno"],
  "auditor": null,
  "roles": [
    { "role": "Daglig leder", "roleCode": "DAGL", "name": "Martin Lindgren Ezhno", "type": "person" },
    { "role": "Styrets leder", "roleCode": "LEDE", "name": "Martin Lindgren Ezhno", "type": "person" },
    { "role": "Styremedlem", "roleCode": "MEDL", "name": "Ingerid Lindgren Ezhno", "type": "person" }
  ],
  "licence": "NLOD 2.0"
}
```

The run summary (`OUTPUT` in the key-value store) shows total matches, API requests, date windows, skipped rows and org numbers that were not found.

### Pricing

Pay per event: **$0.0015 per company saved** ($1.50 per 1,000), **CEO/board roles included**, plus a tiny Actor start fee. Error rows are free. Set **Max companies** or a maximum cost per run, and the run stops cleanly at that limit.

| | This Actor | Other Brreg Actors on the Store (Oct 2026) |
|---|---|---|
| Price per company | $0.0015 (roles included) | $0.003 – $0.0035 |
| New-company feed by date + `onlyNew` | yes | varies |
| County / municipality / NACE / form / employee filters | yes | varies |
| CEO, chair, board, auditor | yes (opt-in) | varies |
| More than 10,000 results | yes (automatic date splitting) | varies |

### Use with AI agents (Apify MCP)

Add this Actor to Claude, ChatGPT or any MCP client through the [Apify MCP server](https://mcp.apify.com) and ask, for example: *"List new AS companies registered in Bergen this week with their CEO"* or *"Who is on the board of org number 923609016?"*

### FAQ

**How fresh is the data?** The API is the live register. Companies registered today show up the same day.

**Why do so few new companies have an email, phone or website?** Registering contact details is optional. Only about 3–4 % of new entities give them. Use the CEO name plus `onlyWithContactInfo` if you only want reachable companies.

**Why is `employees` empty?** Brreg publishes head counts only for companies with 5 or more employees. Brand-new companies usually have none registered yet.

**Why is the NACE code `00.000 Uoppgitt`?** The company has not stated its industry yet. This is common in the first days after registration.

**Are birth dates or national ID numbers included?** No. The Actor outputs role names and role types only. Deceased persons and resigned roles are left out.

**Does it include sub-units (underenheter)?** Yes, set `unitType` to `sub`. Org-number lookups find sub-units automatically.

### Data source and licence

Contains data from the **Brønnøysund Register Centre (Brønnøysundregistrene)**, Central Coordinating Register for Legal Entities (Enhetsregisteret), made available under the [Norwegian Licence for Open Government Data (NLOD) 2.0](https://data.norge.no/nlod/en/2.0). Source: [data.brreg.no](https://data.brreg.no/enhetsregisteret/api/dokumentasjon/no/index.html). This Actor is not affiliated with or endorsed by Brønnøysundregistrene. If you republish the data, keep this attribution. Role data are names of people in a public register: process them in line with GDPR (for example, a legitimate interest for B2B outreach and honouring opt-outs).

# Actor input Schema

## `mode` (type: `string`):

**New companies**: entities registered in the Central Coordinating Register in a date range (lead lists). **Name search**: companies whose name contains a word. **Look up**: bulk check of org numbers.

## `registeredWithinDays` (type: `integer`):

New companies mode: registration date (Enhetsregisteret) in the last N days. 0 = any date. Ignored when *Registered from* is set.

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

YYYY-MM-DD. Overrides *last N days*. Also works as a filter in name search.

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

YYYY-MM-DD, inclusive. Optional upper bound.

## `searchName` (type: `string`):

Name search mode, e.g. `holding`, `eiendom`, `Equinor`.

## `orgNumbers` (type: `array`):

Look-up mode: 9-digit org numbers, e.g. `923609016`. Spaces, `NO` prefix and `MVA` suffix are ignored. Sub-units are found too.

## `organisationForms` (type: `array`):

Empty = all forms. AS = limited company, ENK = sole proprietorship.

## `counties` (type: `array`):

Business address county (2024 county structure). Combined with *Municipalities* as 'any of'.

## `municipalities` (type: `array`):

Names or 4-digit numbers, e.g. `Oslo`, `Bergen`, `Trondheim`, `Stavanger`, `0301`.

## `naceCodes` (type: `array`):

Prefixes work: `62` (IT/programming), `62.1`, `41` (construction), `68` (real estate), `56` (restaurants). Norway uses SN2025 (NACE Rev. 2.1) codes.

## `minEmployees` (type: `integer`):

0 = no filter. Brreg only publishes head counts of 5+, so 1 means 'has registered employees' and 2-4 is raised to 5. Most brand-new companies have none yet.

## `excludeBankruptOrLiquidating` (type: `boolean`):

Skip entities that are bankrupt, under liquidation or under forced dissolution. Turn off to find them (they are flagged in the output).

## `onlyWithContactInfo` (type: `boolean`):

Keep only companies that registered a website, email or phone number (only a few percent of new companies do).

## `includeRoles` (type: `boolean`):

Adds the CEO (daglig leder), chair, board members, deputies, owner (ENK), contact person, auditor and accountant. One extra API call per company, no extra charge.

## `unitType` (type: `string`):

Sub-units are business locations of a legal entity (with their own address and employees). Roles are only available for main units.

## `onlyNew` (type: `boolean`):

Skip org numbers returned by earlier runs with the same *State key*. Schedule daily for a feed of new Norwegian companies.

## `stateKey` (type: `string`):

Separate 'already seen' lists for different searches.

## `maxResults` (type: `integer`):

Stop after this many companies (0 = all matching). You pay per company saved.

## Actor input object example

```json
{
  "mode": "newCompanies",
  "registeredWithinDays": 7,
  "organisationForms": [
    "AS"
  ],
  "minEmployees": 0,
  "excludeBankruptOrLiquidating": true,
  "onlyWithContactInfo": false,
  "includeRoles": true,
  "unitType": "main",
  "onlyNew": false,
  "stateKey": "default",
  "maxResults": 50
}
```

# Actor output Schema

## `companies` (type: `string`):

No description

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

No description

## `summary` (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 = {
    "mode": "newCompanies",
    "registeredWithinDays": 7,
    "organisationForms": [
        "AS"
    ],
    "includeRoles": true,
    "maxResults": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("gazidev/norway-company-leads").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 = {
    "mode": "newCompanies",
    "registeredWithinDays": 7,
    "organisationForms": ["AS"],
    "includeRoles": True,
    "maxResults": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("gazidev/norway-company-leads").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 '{
  "mode": "newCompanies",
  "registeredWithinDays": 7,
  "organisationForms": [
    "AS"
  ],
  "includeRoles": true,
  "maxResults": 50
}' |
apify call gazidev/norway-company-leads --silent --output-dataset

```

## MCP server setup

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

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/HeuVvWs3V4mceBoo3/builds/CeXrkK80ao1TmOfKV/openapi.json
