# Norway Company Registry Scraper — Brreg Leads (`logiover/brreg-norway-company-scraper`) Actor

Scrape brreg.no (Enhetsregisteret) — Norway's official company registry. Get org number, industry, email, phone, website, address, employees, bankruptcy status & director leads. Filter by name, legal form, industry, municipality & more. No login, no API key.

- **URL**: https://apify.com/logiover/brreg-norway-company-scraper.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 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

<div align="center">

## 🇳🇴 Brreg Scraper — Norway Company Registry & B2B Leads

#### Scrape brreg.no (Enhetsregisteret) — Norway's official company registry. Get org number, industry, email, phone, website, address, employees, VAT & bankruptcy status, plus CEO / director leads. No login, no API key.

<br>

![No login](https://img.shields.io/badge/✓_No_login-no_API_key-2ea44f?style=for-the-badge)
![Official data](https://img.shields.io/badge/🇳🇴_Official-open_registry-1f6feb?style=for-the-badge)
![High volume](https://img.shields.io/badge/📦_Up_to-10k_per_query-1f6feb?style=for-the-badge)
![Leads](https://img.shields.io/badge/🎯_Norway-B2B_leads-9333ea?style=for-the-badge)
![Export](https://img.shields.io/badge/Export-JSON·CSV·Excel·API-f59e0b?style=for-the-badge)

<br>

**Pull a clean, structured list of Norwegian companies straight from the official Brønnøysund register — filter by industry, municipality, employees or VAT status and export email, phone, website and director names.**
The fast, no-code way to build targeted **Norway B2B lead lists** and a full **Norwegian business database** at scale.

</div>

---

### 📌 Overview

The **Brreg Scraper** turns **brreg.no** — Brønnøysundregistrene's **Enhetsregisteret**, Norway's official company registry — into an analysis-ready dataset. It reads directly from the **brreg API** (`data.brreg.no/enhetsregisteret`), the same open data the registry publishes, so there is **no login, no API key and no captcha**.

For every Norwegian company you get the **organisation number, legal form, industry (NACE) code, email, phone, website, full business address, employee count, registration & founding dates and VAT / bankruptcy / liquidation status** — and optionally the **CEO (daglig leder) and board chair (styreleder)** as director leads.

Perfect for **Norway B2B lead generation**, sales prospecting, market research, CRM enrichment, KYC / compliance and competitor mapping — exported to **CSV, Excel, JSON** or pushed to Google Sheets and your CRM via API.

> ✅ Combine an **industry code + municipality** filter and raise `maxResults` to assemble a large, targeted Norwegian prospect list in a single run.

---

### ❓ What does the Brreg / Norway company registry scraper do?

It queries the official **Enhetsregisteret API** with your filters, flattens brreg's nested JSON into clean spreadsheet-ready columns, de-dupes by organisation number, paginates automatically and (optionally) enriches each company with its CEO and chair from the `/roller` endpoint. You set filters in a simple form; you get a structured dataset back — no code, no registry account, no NACE-API integration work.

---

### ✨ Features

| | Feature | Description |
|---|---|---|
| 🎯 | **Norway B2B lead data** | Org number, company name, industry, address — plus email, phone & website where the company registered them. |
| 🔎 | **Rich filtering** | Search by company name, legal form (AS, ENK, ASA…), industry / NACE code, municipality, postcode and employee range. |
| 🏢 | **Director / CEO enrichment** | Turn on `includeRoles` to add CEO (daglig leder) and board chair (styreleder) names per company. |
| ⚖️ | **VAT & bankruptcy status** | Filter and flag VAT-registered, solvent, bankrupt or under-liquidation firms — ideal for KYC and lead quality. |
| 🆕 | **Find new companies** | Filter by registration-date range to surface newly founded Norwegian businesses. |
| 📦 | **Bulk export** | Up to ~10,000 companies per query, auto-paginated; export to JSON, CSV, Excel, HTML or pull via API & webhooks. |
| 🔓 | **No API key needed** | Reads the official open brreg API — no login, no key, no signup, no captcha. |
| 🧩 | **Escape hatch** | `extraParams` passes any other supported Enhetsregisteret query param as raw key/value. |

---

### 📊 What data you get

One clean row per company. Verified output fields:

| Field | Description |
|-------|-------------|
| `orgNumber` | Norwegian organisation number (organisasjonsnummer) |
| `name` | Registered company name |
| `orgForm` / `orgFormText` | Legal form code (AS, ENK, ASA…) and its description |
| `industryCode` / `industryText` | Industry / NACE code (næringskode) and description |
| `email` | Registered email address (epostadresse), when present |
| `phone` | Registered phone (falls back to mobile) |
| `mobile` | Registered mobile number, when present |
| `website` | Company website (hjemmeside), when present |
| `address` | Business street address |
| `zip` / `city` | Business postcode and city |
| `municipality` / `municipalityCode` | Municipality name and 4-digit code (kommunenummer) |
| `country` / `countryCode` | Country name and code |
| `postalAddress` / `postalZip` / `postalCity` | Separate postal (mailing) address, when registered |
| `employees` | Registered number of employees |
| `hasRegisteredEmployees` | Whether the firm has registered an employee count |
| `sectorCode` / `sectorText` | Institutional sector code and description |
| `registeredDate` | Date registered in Enhetsregisteret |
| `foundedDate` | Date the company was founded (stiftelsesdato) |
| `vatRegistered` | Registered in the VAT register (MVA) — true/false |
| `isBankrupt` | Bankruptcy flag (konkurs) |
| `underLiquidation` | Under voluntary liquidation flag (underAvvikling) |
| `ceoName` | CEO / daglig leder name *(when `includeRoles` is on)* |
| `chairName` | Board chair / styreleder name *(when `includeRoles` is on)* |
| `url` | Direct brreg API URL for the company |
| `scrapedAt` | ISO timestamp of the run |

---

### 🚀 How to use

1. Open the actor and set your **filters** (industry, municipality, employees, VAT, etc.) — or just type a company name in `query`.
2. Set `maxResults` and optionally turn on `includeRoles` for CEO / chair names.
3. Run, then **export** the dataset to CSV, Excel, JSON or Google Sheets.

#### Input fields

| Field | Type | Description |
|-------|------|-------------|
| `query` | string | Free-text company name search (brreg `navn`), e.g. `marketing` |
| `organisasjonsform` | string | Legal form code: `AS`, `ASA`, `ENK`, `ANS`, `DA`, `NUF`, `SA`… |
| `naeringskode` | string | Industry / NACE code, e.g. `73.110` (advertising), `62.010` (software) |
| `kommunenummer` | string | Municipality code, e.g. `0301` Oslo, `4601` Bergen, `5001` Trondheim |
| `postnummer` | string | Business-address postcode |
| `fraAntallAnsatte` / `tilAntallAnsatte` | integer | Min / max number of employees |
| `konkurs` | select | Bankruptcy: `any` / `false` (solvent — best for leads) / `true` |
| `registrertIMvaregisteret` | select | VAT-registered: `any` / `true` / `false` |
| `fraRegistreringsdatoEnhetsregisteret` / `til…` | string | Registration-date range (`YYYY-MM-DD`) — find newly founded firms |
| `sektorkode` | string | Institutional sector code |
| `extraParams` | object | Any other raw brreg query param as key/value |
| `maxResults` | integer | Cap (default `200`, `0` = unlimited; API caps deep pagination at ~10k/query) |
| `includeRoles` | boolean | Also fetch CEO + chair per company (slower). Default `false` |
| `rolesConcurrency` | integer | Parallel role lookups when `includeRoles` is on (default 6) |
| `useProxy` | boolean | Route through Apify Proxy (datacenter). Default `true` |
| `proxyConfiguration` | object | Proxy override |

#### Example scenarios

**1) Marketing & advertising agencies in Oslo (solvent only)**
```json
{
  "naeringskode": "73.110",
  "kommunenummer": "0301",
  "konkurs": "false",
  "maxResults": 1000
}
````

**2) VAT-registered accounting firms (active, contactable businesses)**

```json
{
  "naeringskode": "69.201",
  "registrertIMvaregisteret": "true",
  "maxResults": 2000
}
```

**3) Software companies by NACE code with director enrichment**

```json
{
  "naeringskode": "62.010",
  "konkurs": "false",
  "includeRoles": true,
  "rolesConcurrency": 6,
  "maxResults": 500
}
```

***

### 📦 Example output

```json
{
  "orgNumber": "914795753",
  "name": "ABRAHAMSEN MARKETING",
  "orgForm": "ENK",
  "orgFormText": "Enkeltpersonforetak",
  "industryCode": "73.110",
  "industryText": "Reklamebyråvirksomhet",
  "email": "mats@abrahamsen.co",
  "phone": "924 31 366",
  "mobile": "924 31 366",
  "website": null,
  "address": "Conradis gate 1A",
  "zip": "0559",
  "city": "OSLO",
  "municipality": "OSLO",
  "municipalityCode": "0301",
  "country": "Norge",
  "countryCode": "NO",
  "postalAddress": null,
  "postalZip": null,
  "postalCity": null,
  "employees": null,
  "hasRegisteredEmployees": false,
  "sectorCode": "8200",
  "sectorText": "Personlig næringsdrivende",
  "registeredDate": "2015-01-14",
  "foundedDate": "2015-01-01",
  "vatRegistered": true,
  "isBankrupt": false,
  "underLiquidation": false,
  "ceoName": null,
  "chairName": null,
  "url": "https://data.brreg.no/enhetsregisteret/api/enheter/914795753",
  "scrapedAt": "2026-06-07T00:00:00.000Z"
}
```

Export to CSV, Excel, JSON or XML, push to Google Sheets / your CRM, or pull via the Apify API and webhooks.

***

### 🎯 Use cases

- **B2B lead generation** — build targeted Norwegian prospect lists by industry + municipality with email, phone and website.
- **Sales prospecting** — filter VAT-registered, solvent firms by employee size and reach the CEO / chair directly.
- **Market research** — count and profile companies by NACE code, region, sector and founding date.
- **KYC / compliance & due diligence** — verify org numbers, VAT status and bankruptcy / liquidation flags.
- **Competitor mapping** — survey every company in a vertical or town and benchmark size and status.
- **CRM enrichment** — look companies up by org number and append official registry fields.

***

### ❓ FAQ

#### Is there a free Brreg API?

Yes. Brønnøysundregistrene publishes the **Enhetsregisteret** as a fully open, free JSON API (`data.brreg.no/enhetsregisteret`) — no key, no login, no signup, no rate-limit registration. This actor is a friendly, filterable export layer on top of it: set filters in a form, run, and download a clean dataset with pagination handled and nested fields flattened.

#### How do I export Norwegian company data to Excel?

Every run writes one row per company to a dataset you can export to **Excel, CSV, JSON or HTML**, or pull via the Apify API. Set your filters (industry, municipality, VAT, etc.), run, and use the **Export** button to download an `.xlsx` / `.csv` of the whole Norwegian company segment.

#### Does it include company emails and phone numbers?

It returns the **email, phone, mobile and website that each company registered** with brreg (`epostadresse`, `telefon`, `mobil`, `hjemmeside`). These come straight from the official registry — but not every company registers them. On broad queries the fill rate for email/phone/website is often **single-digit %**; filtering `registrertIMvaregisteret=true` surfaces more active, trading firms that are far more likely to have contact details.

#### Can I get CEO / director names?

Yes — turn on `includeRoles` and the actor fetches each company's roles from the `/roller` endpoint and adds **CEO (daglig leder)** and **board chair (styreleder)** names. This adds one request per company, so use `rolesConcurrency` to control speed.

#### Is scraping brreg.no legal?

This actor reads only the **official open data** that Brønnøysundregistrene publishes under Norway's open data licence (NLOD) via its public API — no login or circumvention involved. As always, credit the source (brreg.no / Enhetsregisteret) and follow brreg's terms and applicable law for your specific use case.

#### How do I find industry (NACE) or municipality codes?

NACE / `naeringskode` codes use the `nn.nnn` format (e.g. `47.111` grocery, `41.200` building construction, `73.110` advertising). Municipality codes (`kommunenummer`) are 4 digits (`0301` Oslo, `4601` Bergen). You can also just use `query` for a name search and read the `industryCode` / `municipalityCode` columns in the output.

#### Is this a Brreg API alternative for bulk download?

Yes — it's the easiest **brreg API alternative** for non-developers: no code, automatic pagination, nested JSON flattened to columns, and direct export to CSV / Excel / JSON.

***

### 📈 Notes on coverage & limits

- **Contact-detail fill rate varies.** `email`, `phone`, `mobile` and `website` only appear when the company registered them. On broad queries this is often **single-digit %** — many entities (especially dormant or very small firms) leave them blank. Filter `registrertIMvaregisteret=true` (and/or `konkurs=false`) to focus on active, contactable businesses.
- **~10,000 results per query.** The Enhetsregisteret API hard-caps deep pagination at about **10k records per query**. For larger segments, **split your run by municipality, postcode or registration-date range** and combine the datasets.
- **Main entities only.** This actor scrapes main companies (`/enheter`); sub-units / business locations (`/underenheter`) are out of scope.

***

<div align="center">

**Brreg Scraper · Brreg API · Enhetsregisteret API · Norway Company Registry Scraper · Norwegian Business Data · Norway B2B Leads · Norway Company Data Export · Brønnøysund Register Scraper · Norway Company Email and Phone · Scrape Norwegian Companies · Norway Company Database to CSV / Excel**

<sub>⚖️ Reads only Norway's official open registry data (Enhetsregisteret / NLOD). You are responsible for compliance with brreg's terms and applicable laws.</sub>

</div>

# Actor input Schema

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

Free-text company name search, mapped to the API's `navn` param. Leave empty to use the more specific filters below. Example: "marketing", "consulting", "AS Bygg".

## `organisasjonsform` (type: `string`):

Restrict to a legal form code, e.g. AS (limited company), ASA (public limited), ENK (sole proprietorship), ANS, DA, NUF, SA. Leave empty for all.

## `naeringskode` (type: `string`):

Filter by industry (NACE / næringskode), e.g. 73.110 (advertising agencies), 62.010 (software), 70.220 (business consulting). Leave empty for all industries.

## `kommunenummer` (type: `string`):

Filter by municipality code, e.g. 0301 = Oslo, 4601 = Bergen, 5001 = Trondheim. Leave empty for the whole country.

## `postnummer` (type: `string`):

Filter by business-address postcode, e.g. 0150 (Oslo centre).

## `fraAntallAnsatte` (type: `integer`):

Only companies with at least this many registered employees.

## `tilAntallAnsatte` (type: `integer`):

Only companies with at most this many registered employees.

## `konkurs` (type: `string`):

Filter by bankruptcy status: 'any' (default), 'false' (only solvent companies — best for leads), 'true' (only bankrupt).

## `registrertIMvaregisteret` (type: `string`):

Filter by VAT-register (MVA) status: 'any', 'true' (only VAT-registered — usually active, trading businesses), 'false'.

## `fraRegistreringsdatoEnhetsregisteret` (type: `string`):

Only companies registered on/after this date (YYYY-MM-DD). Great for finding newly founded companies.

## `tilRegistreringsdatoEnhetsregisteret` (type: `string`):

Only companies registered on/before this date (YYYY-MM-DD).

## `sektorkode` (type: `string`):

Filter by institutional sector code (sektorkode), e.g. 2100 (private non-financial corporations).

## `extraParams` (type: `object`):

Escape hatch: any other Enhetsregisteret query param as key/value, e.g. {"frivilligRegistrertIMvaregisteret":"true"}. Merged into the request as-is.

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

Stop after this many companies. 0 = unlimited (note: the API hard-caps deep pagination at ~10,000 results per query — narrow your filters to get more).

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

Also fetch each company's board & management roles and add CEO (daglig leder) and chair (styreleder) names — director leads. Adds one extra request per company, so it's slower. Default off.

## `rolesConcurrency` (type: `integer`):

How many role lookups to run in parallel when 'Include directors / roles' is on.

## `useProxy` (type: `boolean`):

Route requests through Apify Proxy (datacenter by default). The brreg API is open, so you can turn this off to go direct, but keeping proxy on is stable and recommended.

## `proxyConfiguration` (type: `object`):

Apify Proxy settings. Datacenter is plenty for the open brreg API.

## Actor input object example

```json
{
  "query": "marketing",
  "organisasjonsform": "AS",
  "naeringskode": "73.110",
  "kommunenummer": "0301",
  "konkurs": "any",
  "registrertIMvaregisteret": "any",
  "fraRegistreringsdatoEnhetsregisteret": "2024-01-01",
  "maxResults": 200,
  "includeRoles": false,
  "rolesConcurrency": 6,
  "useProxy": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `orgNumber` (type: `string`):

Norwegian organisation number (organisasjonsnummer)

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

Registered company name (navn)

## `orgForm` (type: `string`):

Legal form code, e.g. AS, ENK

## `orgFormText` (type: `string`):

Legal form description

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

NACE / næringskode

## `industryText` (type: `string`):

Industry description

## `email` (type: `string`):

Company email address

## `phone` (type: `string`):

Phone or mobile number

## `mobile` (type: `string`):

Mobile number

## `website` (type: `string`):

Company website (hjemmeside)

## `address` (type: `string`):

Business street address

## `zip` (type: `string`):

Postcode

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

City / poststed

## `municipality` (type: `string`):

Municipality (kommune)

## `municipalityCode` (type: `string`):

Municipality code (kommunenummer)

## `country` (type: `string`):

Country

## `countryCode` (type: `string`):

Country code

## `postalAddress` (type: `string`):

Postal (mailing) address

## `postalZip` (type: `string`):

Postal address postcode

## `postalCity` (type: `string`):

Postal address city

## `employees` (type: `string`):

Registered number of employees

## `hasRegisteredEmployees` (type: `string`):

Whether an employee count is registered

## `sectorCode` (type: `string`):

Institutional sector code

## `sectorText` (type: `string`):

Institutional sector description

## `registeredDate` (type: `string`):

Date registered in Enhetsregisteret

## `foundedDate` (type: `string`):

Foundation date (stiftelsesdato)

## `vatRegistered` (type: `string`):

Registered in VAT register (MVA)

## `inBusinessRegister` (type: `string`):

Registered in Foretaksregisteret

## `inFoundationRegister` (type: `string`):

Registered in Stiftelsesregisteret

## `inVoluntaryRegister` (type: `string`):

Registered in Frivillighetsregisteret

## `isBankrupt` (type: `string`):

Bankruptcy flag (konkurs)

## `underLiquidation` (type: `string`):

Under voluntary liquidation (underAvvikling)

## `underCompulsoryLiquidation` (type: `string`):

Under compulsory liquidation / dissolution

## `language` (type: `string`):

Language form (målform)

## `url` (type: `string`):

Brreg API URL for this company

## `ceoName` (type: `string`):

CEO name (when includeRoles is on)

## `chairName` (type: `string`):

Board chair name (when includeRoles is on)

## `scrapedAt` (type: `string`):

Scraped at

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

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/brreg-norway-company-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": "marketing" }

# Run the Actor and wait for it to finish
run = client.actor("logiover/brreg-norway-company-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": "marketing"
}' |
apify call logiover/brreg-norway-company-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Norway Company Registry Scraper — Brreg Leads",
        "description": "Scrape brreg.no (Enhetsregisteret) — Norway's official company registry. Get org number, industry, email, phone, website, address, employees, bankruptcy status & director leads. Filter by name, legal form, industry, municipality & more. No login, no API key.",
        "version": "1.0",
        "x-build-id": "VXQfdUn9kk1JFg7ay"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/logiover~brreg-norway-company-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-logiover-brreg-norway-company-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/logiover~brreg-norway-company-scraper/runs": {
            "post": {
                "operationId": "runs-sync-logiover-brreg-norway-company-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/logiover~brreg-norway-company-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-logiover-brreg-norway-company-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",
                "properties": {
                    "query": {
                        "title": "Search query (company name)",
                        "type": "string",
                        "description": "Free-text company name search, mapped to the API's `navn` param. Leave empty to use the more specific filters below. Example: \"marketing\", \"consulting\", \"AS Bygg\"."
                    },
                    "organisasjonsform": {
                        "title": "Legal form (organisasjonsform)",
                        "type": "string",
                        "description": "Restrict to a legal form code, e.g. AS (limited company), ASA (public limited), ENK (sole proprietorship), ANS, DA, NUF, SA. Leave empty for all."
                    },
                    "naeringskode": {
                        "title": "Industry / NACE code",
                        "type": "string",
                        "description": "Filter by industry (NACE / næringskode), e.g. 73.110 (advertising agencies), 62.010 (software), 70.220 (business consulting). Leave empty for all industries."
                    },
                    "kommunenummer": {
                        "title": "Municipality code (kommunenummer)",
                        "type": "string",
                        "description": "Filter by municipality code, e.g. 0301 = Oslo, 4601 = Bergen, 5001 = Trondheim. Leave empty for the whole country."
                    },
                    "postnummer": {
                        "title": "Postcode (postnummer)",
                        "type": "string",
                        "description": "Filter by business-address postcode, e.g. 0150 (Oslo centre)."
                    },
                    "fraAntallAnsatte": {
                        "title": "Min employees",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only companies with at least this many registered employees."
                    },
                    "tilAntallAnsatte": {
                        "title": "Max employees",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only companies with at most this many registered employees."
                    },
                    "konkurs": {
                        "title": "Bankruptcy filter",
                        "enum": [
                            "any",
                            "false",
                            "true"
                        ],
                        "type": "string",
                        "description": "Filter by bankruptcy status: 'any' (default), 'false' (only solvent companies — best for leads), 'true' (only bankrupt).",
                        "default": "any"
                    },
                    "registrertIMvaregisteret": {
                        "title": "VAT-registered filter",
                        "enum": [
                            "any",
                            "true",
                            "false"
                        ],
                        "type": "string",
                        "description": "Filter by VAT-register (MVA) status: 'any', 'true' (only VAT-registered — usually active, trading businesses), 'false'.",
                        "default": "any"
                    },
                    "fraRegistreringsdatoEnhetsregisteret": {
                        "title": "Registered from (date)",
                        "type": "string",
                        "description": "Only companies registered on/after this date (YYYY-MM-DD). Great for finding newly founded companies."
                    },
                    "tilRegistreringsdatoEnhetsregisteret": {
                        "title": "Registered to (date)",
                        "type": "string",
                        "description": "Only companies registered on/before this date (YYYY-MM-DD)."
                    },
                    "sektorkode": {
                        "title": "Institutional sector code",
                        "type": "string",
                        "description": "Filter by institutional sector code (sektorkode), e.g. 2100 (private non-financial corporations)."
                    },
                    "extraParams": {
                        "title": "Extra raw query params",
                        "type": "object",
                        "description": "Escape hatch: any other Enhetsregisteret query param as key/value, e.g. {\"frivilligRegistrertIMvaregisteret\":\"true\"}. Merged into the request as-is."
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Stop after this many companies. 0 = unlimited (note: the API hard-caps deep pagination at ~10,000 results per query — narrow your filters to get more).",
                        "default": 200
                    },
                    "includeRoles": {
                        "title": "Include directors / roles (CEO & chair)",
                        "type": "boolean",
                        "description": "Also fetch each company's board & management roles and add CEO (daglig leder) and chair (styreleder) names — director leads. Adds one extra request per company, so it's slower. Default off.",
                        "default": false
                    },
                    "rolesConcurrency": {
                        "title": "Roles fetch concurrency",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "How many role lookups to run in parallel when 'Include directors / roles' is on.",
                        "default": 6
                    },
                    "useProxy": {
                        "title": "Use Apify Proxy",
                        "type": "boolean",
                        "description": "Route requests through Apify Proxy (datacenter by default). The brreg API is open, so you can turn this off to go direct, but keeping proxy on is stable and recommended.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify Proxy settings. Datacenter is plenty for the open brreg API.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
