# Norway Company Registry & Officers Scraper (`scrapers_lat/norway-companies-scraper`) Actor

Search Norway's company register and extract records with officers. Get org number, name, legal form, NACE code, address, employees, VAT and bankruptcy status, website and the board, chair and CEO. Export to JSON, CSV or Excel.

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

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

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

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

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

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

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

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

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

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

<!-- actor-banner -->
![Norway Company Registry & Officers Scraper](https://scrapers.lat/banners/norway-companies-scraper.png)
<!-- /actor-banner -->

## Norway Company Registry & Officers Scraper

Search Norway's central register of companies and extract a clean, structured record for every match, including the board members, chair and CEO of each company. Look up businesses by name or by organisation number, or narrow a search by municipality, industry, legal form or postal code.

No login, no API key and no proxy are required.

### What you get

For every matching company:

| Field | Description |
| --- | --- |
| `orgNumber` | Norwegian 9-digit organisation number |
| `name` | Registered company name |
| `orgForm` | Legal form code, e.g. `AS`, `ASA`, `ENK`, `NUF` |
| `orgFormLabel` | Legal form in full, e.g. `Aksjeselskap`, `Allmennaksjeselskap` |
| `industryCode` | Primary industry (NACE) code |
| `industryLabel` | Primary industry description |
| `industryCode2` / `industryLabel2` | Secondary industry code and description, when present |
| `employees` | Registered number of employees |
| `website` | Company website, when published |
| `phone` | Registered phone number, when published |
| `email` | Registered email address, when published |
| `businessAddress` | Business address (street, postal code, city, municipality, municipality number, country) |
| `postalAddress` | Postal address, when different from the business address |
| `foundingDate` | Date the company was founded |
| `registeredDate` | Date first entered in the register |
| `sectorCode` / `sectorLabel` | Institutional sector code and description |
| `vatRegistered` | Whether the company is in the VAT register |
| `inBusinessRegister` | Whether the company is in the business enterprise register |
| `bankrupt` | Bankruptcy flag |
| `underLiquidation` | Voluntary liquidation flag |
| `underForcedLiquidation` | Compulsory liquidation / dissolution flag |
| `partOfGroup` | Whether the company belongs to a group |
| `lastAnnualAccounts` | Year of the most recent submitted annual accounts |
| `shareCapital` | Share capital amount, currency and type, when present |
| `ceo`* | Chief executive (daglig leder) name |
| `chair`* | Board chair name |
| `officers`* | Full list of roles: board members, chair, CEO, deputies, auditor and more, each with role, name, holder type, date of birth (for people), who elected them and whether they have resigned |
| `url` | Link to the company's public page |
| `scrapedAt` | ISO timestamp of collection |

*\*`ceo`, `chair` and `officers` are added when Fetch officers and roles is enabled (default on). One fast request per company returns the complete leadership.*

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

### Input

| Field | Type | Default | Description |
| --- | --- | --- | --- |
| `query` | string (required) | `Equinor` | Company name (or part of it), or a 9-digit organisation number for a direct lookup. |
| `municipality` | string | | Restrict to a 4-digit municipality number, e.g. `0301` (Oslo). |
| `industryCode` | string | | Restrict to a NACE industry code, e.g. `41.200`. |
| `orgForm` | string | | Restrict to a legal form code, e.g. `AS`, `ASA`, `ENK`, `NUF`. |
| `postalCode` | string | | Restrict to a 4-digit postal code. |
| `withDetails` | boolean | `true` | Fetch the board, chair, CEO and auditor for each company. |
| `maxItems` | integer (1-10000) | `50` | Maximum records to collect. |

#### Example input

```json
{
  "query": "Equinor",
  "orgForm": "ASA",
  "withDetails": true,
  "maxItems": 50
}
````

#### Example output

```json
{
  "orgNumber": "923609016",
  "name": "EQUINOR ASA",
  "orgForm": "ASA",
  "orgFormLabel": "Allmennaksjeselskap",
  "industryCode": "06.100",
  "industryLabel": "Utvinning av råolje",
  "employees": 21467,
  "website": "www.equinor.com",
  "phone": "51 99 00 00",
  "email": null,
  "businessAddress": {
    "street": "Forusbeen 50",
    "postalCode": "4035",
    "city": "STAVANGER",
    "municipality": "STAVANGER",
    "municipalityNumber": "1103",
    "country": "Norge",
    "countryCode": "NO"
  },
  "foundingDate": "1972-09-18",
  "registeredDate": "1995-03-12",
  "sectorLabel": "Statlig eide aksjeselskaper mv.",
  "vatRegistered": true,
  "bankrupt": false,
  "underLiquidation": false,
  "shareCapital": { "amount": 5976872600, "currency": "NOK", "type": "Aksjekapital" },
  "ceo": "Anders Opedal",
  "chair": "Jarle Kjell Roth",
  "officers": [
    {
      "roleGroup": "DAGL",
      "roleGroupLabel": "Daglig leder",
      "role": "DAGL",
      "roleLabel": "Daglig leder",
      "name": "Anders Opedal",
      "holderType": "person",
      "holderOrgNumber": null,
      "dateOfBirth": "1968-05-04",
      "electedBy": null,
      "resigned": false
    },
    {
      "roleGroup": "STYR",
      "roleGroupLabel": "Styre",
      "role": "LEDE",
      "roleLabel": "Styrets leder",
      "name": "Jarle Kjell Roth",
      "holderType": "person",
      "holderOrgNumber": null,
      "dateOfBirth": "1960-04-26",
      "electedBy": null,
      "resigned": false
    }
  ],
  "url": "https://virksomhet.brreg.no/nb/oppslag/enheter/923609016",
  "scrapedAt": "2026-07-05T12:00:00.000Z"
}
```

### Notes and limits

- **Result cap.** A single search returns up to **10000 records**. To narrow a broad name, add a municipality, industry, legal form or postal code filter.
- **Organisation number lookup.** When `query` is a 9-digit organisation number, one exact company is returned instead of a name search.
- **Officers.** With `withDetails` on (default), each company is enriched with its full set of roles: board members, chair, CEO (daglig leder), deputies and auditor. People include a date of birth; corporate role holders (for example an auditing firm) include their organisation number. Set `withDetails` to false to return company-level fields only and skip the per-company role request.
- Fields are populated when they are published for a company and returned as `null` otherwise.

### Use cases

- KYB, due diligence and compliance checks on Norwegian companies.
- Lead generation and enrichment from a company name or an industry.
- Building leadership and decision-maker lists from board, chair and CEO data.
- Market research on companies by sector, region or legal form.

### Disclaimer

This actor retrieves **public records** published as open data from Norway's central register of business entities. You are responsible for using the data lawfully, including for KYB, due diligence and lead-generation purposes, and for complying with applicable privacy and data-protection rules in your jurisdiction. This actor is independent and is not affiliated with or endorsed by any Norwegian government body or register.

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

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

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

### Related scrapers

Need data from the same space? Here are other scrapers we build and maintain:

- [New York Business Entity & LLC Records Scraper](https://apify.com/scrapers_lat/ny-dos-business-scraper): Search New York business entity records by name or DOS ID. Get entity type, status, filing date, registered agent and chairman or CEO.
- [France Company Registry Scraper (SIREN, Officers, Finances)](https://apify.com/scrapers_lat/france-company-search-scraper): Extract French company records with SIREN, legal form, NAF code, officers, VAT number and financials.
- [Taiwan Business Registry Scraper (Company & UBN)](https://apify.com/scrapers_lat/taiwan-business-registry-scraper): Extract Taiwan company registration records with capital, representative, address, directors and business scope.
- [Singapore BCA Registered Contractors Scraper](https://apify.com/scrapers_lat/singapore-bca-contractors-scraper): Scrape Singapore BCA registered contractors with company name, UEN, address, phone and registration expiry.

### More scrapers at scrapers.lat

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

# Actor input Schema

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

A company name (or part of it) to search for, or a 9-digit Norwegian organisation number to look up a single company directly.

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

Optional. Restrict results to a Norwegian municipality by its 4-digit municipality number, for example 0301 for Oslo or 4601 for Bergen.

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

Optional. Restrict results to a NACE industry code, for example 41.200 (construction of buildings) or 62.010 (computer programming).

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

Optional. Restrict results to a legal form code, for example AS (private limited), ASA (public limited), ENK (sole proprietorship) or NUF (Norwegian branch of a foreign company).

## `postalCode` (type: `string`):

Optional. Restrict results to a 4-digit Norwegian postal code.

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

Fetch the board members, chair, CEO (daglig leder) and auditor for each company. Adds one fast request per company and returns the full leadership of every match.

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

Maximum number of company records to collect. The source allows up to 10000 results per search.

## Actor input object example

```json
{
  "query": "Equinor",
  "withDetails": true,
  "maxItems": 50
}
```

# Actor output Schema

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

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "query": "Equinor",
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/norway-companies-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "query": "Equinor",
    "maxItems": 50,
}

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

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

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

```

## CLI example

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Norway Company Registry & Officers Scraper",
        "description": "Search Norway's company register and extract records with officers. Get org number, name, legal form, NACE code, address, employees, VAT and bankruptcy status, website and the board, chair and CEO. Export to JSON, CSV or Excel.",
        "version": "0.1",
        "x-build-id": "TK8p4MExxFSVEzOVo"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers_lat~norway-companies-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers_lat-norway-companies-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapers_lat~norway-companies-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers_lat-norway-companies-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapers_lat~norway-companies-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers_lat-norway-companies-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "query"
                ],
                "properties": {
                    "query": {
                        "title": "Company name or organisation number",
                        "type": "string",
                        "description": "A company name (or part of it) to search for, or a 9-digit Norwegian organisation number to look up a single company directly."
                    },
                    "municipality": {
                        "title": "Municipality number",
                        "type": "string",
                        "description": "Optional. Restrict results to a Norwegian municipality by its 4-digit municipality number, for example 0301 for Oslo or 4601 for Bergen."
                    },
                    "industryCode": {
                        "title": "Industry code (NACE)",
                        "type": "string",
                        "description": "Optional. Restrict results to a NACE industry code, for example 41.200 (construction of buildings) or 62.010 (computer programming)."
                    },
                    "orgForm": {
                        "title": "Legal form",
                        "type": "string",
                        "description": "Optional. Restrict results to a legal form code, for example AS (private limited), ASA (public limited), ENK (sole proprietorship) or NUF (Norwegian branch of a foreign company)."
                    },
                    "postalCode": {
                        "title": "Postal code",
                        "type": "string",
                        "description": "Optional. Restrict results to a 4-digit Norwegian postal code."
                    },
                    "withDetails": {
                        "title": "Fetch officers and roles",
                        "type": "boolean",
                        "description": "Fetch the board members, chair, CEO (daglig leder) and auditor for each company. Adds one fast request per company and returns the full leadership of every match.",
                        "default": true
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of company records to collect. The source allows up to 10000 results per search."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
