# Norway Company Register (Brreg) - Search Norwegian Companies (`zhucl1006/norway-company-register-brreg`) Actor

Search 1.1M+ Norwegian companies in the official Brønnøysund Register (Enhetsregisteret) open API by name, org number, NACE industry, municipality, legal form, employees and registration date. Get address, website, contacts, VAT and bankruptcy status. For B2B leads, KYC and market research.

- **URL**: https://apify.com/zhucl1006/norway-company-register-brreg.md
- **Developed by:** [leo zhu](https://apify.com/zhucl1006) (community)
- **Categories:** AI, Lead generation, Other
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 company results

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 Register (Brønnøysund / Brreg) - Search Norwegian Companies

Search **all 1.1M+ legal entities in Norway** in the **official Brønnøysund Register Centre open data API** (Enhetsregisteret, data.brreg.no) and get one clean English-keyed JSON row per company: org number, name, legal form, **NACE industry**, **employees**, activity, founded and registration dates, **website**, business and postal address, municipality, VAT / business-register status, share capital, latest annual accounts year, bankruptcy / liquidation flags and - for companies - the registered email and phone. No key, no scraping - 100 companies in about a second.

### Who uses it

- **B2B sales & lead generation** in Norway / the Nordics: e.g. every IT company in Oslo with 10-50 employees, or every new restaurant registered this month.
- **KYC / onboarding / compliance**: bulk-verify org numbers, status, bankruptcy and liquidation.
- **Accountants, banks, SaaS & payment providers**: daily list of newly registered companies (perfect onboarding leads).
- **Market research & investors**: count and segment companies by industry, size and region.
- **CRM enrichment**: paste org numbers, get addresses, NACE codes and employee counts.

### Input

| Field | Description |
|---|---|
| `names` | Name searches (one per line). |
| `orgNumbers` | 9-digit org numbers for bulk lookup / enrichment. |
| `naceCodes` | Industry prefixes, e.g. `62` (IT), `56.101` (restaurants), `41` (construction). |
| `municipalities` | 4-digit municipality numbers, e.g. `0301` Oslo, `4601` Bergen. |
| `legalForms` | `AS`, `ASA`, `ENK`, `NUF`... |
| `minEmployees`, `maxEmployees` | Company size. |
| `registeredWithinDays` / `registeredFrom` / `registeredTo` | New-company monitor. |
| `vatRegisteredOnly`, `excludeBankrupt` | Active-business filters. |
| `sortBy`, `maxItemsPerQuery` | Order and volume (max 10,000 per search). |
| `includeContactInfo`, `includePurpose` | Email/phone (not for ENK) and statutory purpose. |

Default input (Store auto-test) = IT companies (NACE 62) registered in Oslo in the last 30 days (max 25).

```json
{ "naceCodes": ["62", "63"], "municipalities": ["0301", "4601"], "legalForms": ["AS"], "minEmployees": 10, "maxEmployees": 200, "sortBy": "employees", "maxItemsPerQuery": 1000 }
```

### Output (one row per company)

```json
{
  "orgNumber": "984851006", "name": "DNB BANK ASA", "legalForm": "ASA", "legalFormDescription": "Allmennaksjeselskap",
  "naceCode": "64.190", "naceDescription": "Banker og kredittforetak", "employees": 7347, "foundedDate": "2002-09-10",
  "registeredDate": "2002-09-12", "website": "https://www.dnb.no", "city": "OSLO", "municipality": "OSLO", "postalCode": "0191",
  "businessAddress": { "street": "Dronning Eufemias gate 30", "postalCode": "0191", "city": "OSLO", "municipalityNumber": "0301", "country": "Norge", "countryCode": "NO" },
  "vatRegistered": true, "inBusinessRegister": true, "shareCapital": 18008310800.0, "lastAnnualAccountsYear": "2025",
  "bankrupt": false, "underLiquidation": false, "email": null, "phone": null,
  "brregUrl": "https://virksomhet.brreg.no/nb/oppslag/enheter/984851006"
}
```

`RUN_SUMMARY` in the key-value store shows total matches per search and duration.

### Pricing (pay per event)

- **$0.002 per company saved** (`company-result`) - 500 companies = $1.
- Tiny start fee per run (`apify-actor-start`). Failed searches are not charged. Set "Maximum cost per run" to cap spend.

### Data source & license

- Data from the **Brønnøysund Register Centre** (Brønnøysundregistrene) open API, licensed under the **Norwegian Licence for Open Government Data (NLOD 2.0)** - free reuse, including commercial, with attribution: "Contains data under the Norwegian licence for Open Government data (NLOD) distributed by Brønnøysundregistrene".
- Privacy: sole proprietorships (ENK) are natural persons - this actor never outputs their email or phone. Company contacts are as registered by the companies; follow GDPR and Norwegian marketing law (no unsolicited email marketing to individuals; check the Reservation register for phone sales). Not affiliated with Brønnøysundregistrene.

# Actor input Schema

## `names` (type: `array`):

Name search, one per line, e.g. equinor, kiwi, consulting. Combined with the filters below.

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

9-digit Norwegian org numbers to look up (bulk enrichment), e.g. 923609016.

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

Prefix match: 62 = IT services, 56.101 = restaurants, 41 = construction, 69.201 = accounting, 86 = health.

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

4-digit numbers: 0301 Oslo, 4601 Bergen, 5001 Trondheim, 1103 Stavanger, 3201 Bærum.

## `legalForms` (type: `array`):

AS (private limited), ASA (public limited), ENK (sole proprietorship), NUF (foreign branch), DA, ANS, SA, STI (foundation), FLI (association). Empty = all.

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

Registered employees (NAV Aa-register).

## `maxEmployees` (type: `integer`):

Registered employees (NAV Aa-register).

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

Only companies registered in the last N days - new-business leads (0 = any).

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

YYYY-MM-DD. Ignored if 'Registered within' is set.

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

YYYY-MM-DD. Ignored if 'Registered within' is set.

## `vatRegisteredOnly` (type: `boolean`):

Companies in the VAT register (active trading businesses).

## `excludeBankrupt` (type: `boolean`):

Skip companies in bankruptcy or liquidation.

## `sortBy` (type: `string`):

Ignored for name searches (sorted by relevance).

## `maxItemsPerQuery` (type: `integer`):

Stop after this many companies per name / filter search (register API max 10,000).

## `includeContactInfo` (type: `boolean`):

As registered by the company. Never included for sole proprietorships (ENK), which are natural persons.

## `includePurpose` (type: `boolean`):

The company's registered purpose text (Norwegian).

## Actor input object example

```json
{
  "names": [],
  "orgNumbers": [],
  "naceCodes": [
    "62"
  ],
  "municipalities": [
    "0301"
  ],
  "legalForms": [],
  "registeredWithinDays": 30,
  "vatRegisteredOnly": false,
  "excludeBankrupt": true,
  "sortBy": "newest",
  "maxItemsPerQuery": 25,
  "includeContactInfo": true,
  "includePurpose": false
}
```

# Actor output Schema

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

No description

## `runSummary` (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 = {
    "naceCodes": [
        "62"
    ],
    "municipalities": [
        "0301"
    ],
    "registeredWithinDays": 30,
    "maxItemsPerQuery": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("zhucl1006/norway-company-register-brreg").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 = {
    "naceCodes": ["62"],
    "municipalities": ["0301"],
    "registeredWithinDays": 30,
    "maxItemsPerQuery": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("zhucl1006/norway-company-register-brreg").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 '{
  "naceCodes": [
    "62"
  ],
  "municipalities": [
    "0301"
  ],
  "registeredWithinDays": 30,
  "maxItemsPerQuery": 25
}' |
apify call zhucl1006/norway-company-register-brreg --silent --output-dataset

```

## MCP server setup

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

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/29SYlQv9QcyI7zrOP/builds/3DBEaM5Evxt6AdIqq/openapi.json
