# Norway Company Financials — Brønnøysund Accounts Key Figures (`nexgensignal/norway-company-financials-key-figures`) Actor

Revenue, profit, equity, assets and debt for Norwegian companies from the Brønnøysund Register of Company Accounts, by org number or by municipality, industry and size. Part of NexGen Signal — official-source data products

- **URL**: https://apify.com/nexgensignal/norway-company-financials-key-figures.md
- **Developed by:** [NexGen Signal](https://apify.com/nexgensignal) (community)
- **Categories:** Lead generation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $33.50 / 1,000 norway accounts records

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/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 Financials — Brønnøysund Accounts Key Figures

**Official source. No API key. Pay per record.**

This actor gives you the headline financials of Norwegian companies — revenue, operating result, profit before tax, net income, equity, debt and total assets — straight from the Brønnøysund Register Centre's Register of Company Accounts (Regnskapsregisteret), the official register every Norwegian limited company files its annual accounts with. Each record is one company's key figures from its latest filed annual accounts, together with the company's name, company form, municipality and industry code from the Central Coordinating Register for Legal Entities (Enhetsregisteret).

Use it two ways:

- **Look up companies you already know.** Send up to 20,000 nine-digit organisation numbers and get each company's key figures back, with anything missing listed in the run receipt.
- **Search and pull.** Choose municipalities, industry codes, company forms, employee counts or founding dates, and the actor finds the matching active companies in the Entity Register and returns the key figures for each one.

On 27 September 2026 the Entity Register held **423,196 active AS and ASA companies** that were not bankrupt or being wound up (83,992 in Oslo, 23,214 in Bergen, 17,837 with an industry code starting 62 — computer programming and consultancy). In a 549-company sample from Oslo, 510 had key figures on file (93%).

### Who buys this and for what job

- **Credit, risk and KYB teams** checking a Norwegian customer's or supplier's size, profitability and equity before extending terms.
- **B2B sales and account-based marketing teams** building target lists by revenue band within a region or industry.
- **M\&A, private-equity and corporate-finance analysts** screening Norwegian companies by revenue, margin and balance-sheet strength.
- **Economists, researchers and journalists** comparing companies across municipalities and industries.
- **Data teams** enriching a CRM keyed on organisation number with official financials.

### Sample output

![Sample output — Norway Company Financials](https://api.apify.com/v2/key-value-stores/IXCaMKjxSmUTLHhmq/records/norway-company-financials-key-figures.png)

```json
{
  "record_id": "NO:995451697:6668162",
  "organisation_number": "995451697",
  "company_name": "+2 INTERIØR AS",
  "organisation_form": "AS",
  "municipality_number": "0301",
  "municipality": "OSLO",
  "industry_code": "74.130",
  "industry_description": "Interiørdesignvirksomhet",
  "accounts_id": 6668162,
  "journal_number": "2026415338",
  "accounts_type": "SELSKAP",
  "period_from": "2025-01-01",
  "period_to": "2025-12-31",
  "currency": "NOK",
  "parent_company": false,
  "winding_up_accounts": false,
  "layout": "store",
  "small_company_rules": true,
  "accounting_rules": "regnskapslovenAlminneligRegler",
  "unaudited_accounts": false,
  "audit_opted_out": false,
  "equity_and_liabilities_total": 6881359,
  "equity_total": 4686212,
  "retained_earnings": 4656212,
  "paid_in_equity": 30000,
  "liabilities_total": 2195147,
  "current_liabilities": 2195147,
  "long_term_liabilities": null,
  "assets_total": 6881359,
  "current_assets": 6536960,
  "fixed_assets": 344399,
  "operating_revenue": 7364644,
  "operating_costs": 7015939,
  "operating_result": 348705,
  "financial_income": 51358,
  "financial_costs": 6600,
  "net_financial_items": 44758,
  "profit_before_tax": 393462,
  "net_income": 254140,
  "source_record": { "…": "the register's own record, unchanged" },
  "licence": "Norwegian Licence for Open Government Data (NLOD 2.0) …",
  "attribution": "Contains data under the Norwegian licence for Open Government data (NLOD) distributed by the Brønnøysund Register Centre (https://data.norge.no/nlod/en/2.0); reformatted by NexGen Signal.",
  "observed_at": "2026-09-27T04:12:56Z"
}
```

### Pricing

| Apify plan | Price per record |
|---|---|
| Free | $0.05 |
| Bronze | $0.045 |
| Silver | $0.04 |
| Gold and above | $0.0335 |

You pay only for records delivered to your dataset. Companies without key figures on file cost nothing. `maxRecords` caps what a run can cost: 500 records cost $25 on the Free plan and $16.75 on Gold.

### Input

| Field | What it does | Default |
|---|---|---|
| `organisationNumbers` | Look up these companies (9 digits each, up to 20,000). Use this **or** the search filters | none |
| `municipalityNumbers` | Search: municipality numbers, e.g. `0301` Oslo, `4601` Bergen, `5001` Trondheim | all |
| `industryCodes` | Search: SN industry codes, full (`62.100`) or leading digits (`62`) | all |
| `organisationForms` | Search: company forms — `AS`, `ASA`, `NUF`, `SA`, `STI`, `BA`, `SE`, `IKS`, `KF`, `SF` | `AS`, `ASA` |
| `nameContains` | Search: company name contains this text | none |
| `minEmployees`, `maxEmployees` | Search: registered employees (0, or 5 and above — the register does not publish 1–4) | none |
| `foundedFrom`, `foundedTo` | Search: founding date range | none |
| `year` | Ask for a specific accounting year (the open service holds the latest filed accounts) | latest |
| `accountsType` | `SELSKAP` company accounts, `KONSERN` group accounts, or `ALL` | `SELSKAP` |
| `maxRecords` | Maximum records delivered and billed (up to 10,000 per run) | 10 |

**Default changed on 30 Sep 2026:** if you leave `maxRecords` out, a run now returns up to **10** records (it was 500). Set `maxRecords` yourself to get more — the maximum is unchanged.

Example — IT companies in Oslo with at least 20 employees:

```json
{"municipalityNumbers": ["0301"], "industryCodes": ["62"], "minEmployees": 20, "maxRecords": 1000}
```

Example — look up two companies, company and group accounts:

```json
{"organisationNumbers": ["923609016", "914534534"], "accountsType": "ALL"}
```

### Output

| Field | Meaning |
|---|---|
| `record_id` | `NO:<organisation number>:<accounts id>` |
| `organisation_number`, `company_name`, `organisation_form` | The company, from the Entity Register |
| `municipality_number`, `municipality`, `industry_code`, `industry_description` | Business-address municipality and main industry, as registered |
| `accounts_id`, `journal_number`, `accounts_type` | The register's identifiers for the filing; company or group accounts |
| `period_from`, `period_to`, `currency` | Accounting period and the currency the accounts are reported in |
| `parent_company`, `winding_up_accounts`, `layout`, `small_company_rules`, `accounting_rules`, `unaudited_accounts`, `audit_opted_out` | Filing flags, as registered |
| `operating_revenue`, `operating_costs`, `operating_result` | Income statement: operating lines |
| `financial_income`, `financial_costs`, `net_financial_items` | Income statement: financial lines |
| `profit_before_tax`, `net_income` | Result before tax and annual result |
| `assets_total`, `current_assets`, `fixed_assets` | Balance sheet: assets |
| `equity_total`, `retained_earnings`, `paid_in_equity` | Balance sheet: equity |
| `liabilities_total`, `current_liabilities`, `long_term_liabilities`, `equity_and_liabilities_total` | Balance sheet: liabilities |
| `source_record` | The register's key-figures record exactly as returned, in its original Norwegian field names |
| `source`, `licence`, `attribution`, `observed_at` | Provenance on every record |

Amounts are delivered exactly as filed, in the company's reporting currency — nothing is converted, rounded or scaled. A figure the company did not report is `null` (in the Oslo sample, 149 of 500 small companies had no operating-revenue line, typically holding companies).

### Cost guidance

A municipality or industry pull of 500 companies costs $16.75 on Gold. A 2,000-company target list costs $67 on Gold. Lookups of your own list cost only for the companies that have key figures on file. In testing, 500 Oslo companies took about one to one and a half minutes.

### How a run works

For a search, the actor asks the Entity Register for active companies matching your filters (never bankrupt or winding-up companies), then asks the accounts register for each company's key figures, a few at a time. For a lookup, it reads each organisation number in the Entity Register first and skips anything that is not a company form this actor delivers. Records are pushed to your dataset first and charged only after they are delivered; if you set a maximum charge, the run stops cleanly when it is reached. Every run saves a receipt (`RUN_RECEIPT`) listing numbers not found, forms not delivered, companies without key figures, any lookups that failed after retries, and confirmation that charges equal deliveries. If the service does not answer after several retries, the run ends with a clear message and nothing is charged.

### Honest limitations

- **Latest filed accounts only.** The open service holds key figures from each company's latest filed annual accounts (in the Oslo sample, 481 of 500 were for 2025 and 19 for 2024). Full accounts, notes and multi-year history are not part of the open service.
- **A temporary service.** In Norway's national data catalogue, Brønnøysund describes this key-figures API as temporary, built for research and development, and says (in Norwegian) that it will not be further developed or maintained and may be shut down without notice. If that happens, runs will end with a clear message and charge nothing.
- **Some companies are not covered.** The register says figures for banks and insurance companies, for example, are not available through this service; such lookups are listed in the run receipt and never charged.
- **Search reaches at most 10,000 companies per query.** That is the Entity Register's own limit; narrow by municipality, industry or size to reach the rest.
- **No people.** Sole proprietorships (ENK) and partnership forms (ANS, DA, KS) are never delivered, because their names are often a person's name. No board members, managers, auditors or contact persons are read.
- **Service hiccups.** The service occasionally answers "temporarily unavailable" for a minute or two; the actor retries, and anything still failing is listed in the receipt rather than guessed.

### Licence and attribution

The key-figures service ("Nøkkeltall fra årsregnskapet") is registered by the Brønnøysund Register Centre in Norway's national data catalogue with the licence **NLOD 2.0** (Norwegian Licence for Open Government Data), and the Entity Register API documentation states "License: Norsk lisens for offentlige data (NLOD)". NLOD 2.0 allows anyone to "use the information for any purpose and in all contexts", including copying and distributing it, with attribution. Every record carries: *Contains data under the Norwegian licence for Open Government data (NLOD) distributed by the Brønnøysund Register Centre; reformatted by NexGen Signal.* This actor is not affiliated with or endorsed by the Brønnøysund Register Centre.

### Differentiation

Most Norway actors on the Store read the Entity Register (company name, address, industry) and stop there. Financials usually come from commercial aggregators — for example getascraper/proff-scandinavia-scraper and trev0n/northdata-scraper read third-party company-information sites. This actor goes to the official accounts register itself, delivers the figures exactly as filed with the register's own record attached, and lets you pull a whole region or industry at once instead of one company page at a time.

### The NexGen Signal family

Part of NexGen Signal — official-source data products, no API keys, pay per record. Related actors:

- [UK Company Accounts & Financials — Companies House Data](https://apify.com/nexgensignal/uk-companies-house-accounts-financial-records)
- [UK Company Status Records — Companies House](https://apify.com/nexgensignal/uk-company-status-records)
- [US Business Entity Search & Status Check — 7 States](https://apify.com/nexgensignal/us-business-entity-status-check)
- [Florida Business Entity Search — Sunbiz Master & Status](https://apify.com/nexgensignal/florida-business-entity-master-records)

# Actor input Schema

## `organisationNumbers` (type: `array`):

Look up specific Norwegian companies by 9-digit organisation number (up to 20,000), e.g. 923609016. Leave empty to search with the filters below instead.

## `municipalityNumbers` (type: `array`):

Search: only companies whose business address is in these municipalities (4 digits), e.g. 0301 Oslo, 4601 Bergen, 5001 Trondheim.

## `industryCodes` (type: `array`):

Search: only companies with these Norwegian SN industry codes, e.g. 62.100 (computer programming).

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

Search: company forms to include. AS = private limited company, ASA = public limited company, NUF = foreign branch, SA = cooperative, STI = foundation. Sole proprietorships and partnerships are never included.

## `nameContains` (type: `string`):

Search: only companies whose name contains this text.

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

Search: only companies with at least this many registered employees (0, or 5 and above — the register does not publish 1–4).

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

Search: only companies with at most this many registered employees (0, or 5 and above).

## `foundedFrom` (type: `string`):

Search: only companies founded on or after this date.

## `foundedTo` (type: `string`):

Search: only companies founded on or before this date.

## `year` (type: `integer`):

Optional. Ask for a specific accounting year. Leave empty for the latest filed accounts (the open service holds key figures from the latest filed accounts).

## `accountsType` (type: `string`):

Company accounts, group accounts, or both where a company files both.

## `maxRecords` (type: `integer`):

Maximum records delivered and billed in this run (one record = one company's key figures for one set of accounts).

## Actor input object example

```json
{
  "organisationNumbers": [],
  "municipalityNumbers": [
    "0301"
  ],
  "industryCodes": [],
  "organisationForms": [
    "AS",
    "ASA"
  ],
  "accountsType": "SELSKAP",
  "maxRecords": 10
}
```

# Actor output Schema

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

The delivered records.

# 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 = {
    "municipalityNumbers": [
        "0301"
    ],
    "maxRecords": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgensignal/norway-company-financials-key-figures").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 = {
    "municipalityNumbers": ["0301"],
    "maxRecords": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("nexgensignal/norway-company-financials-key-figures").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 '{
  "municipalityNumbers": [
    "0301"
  ],
  "maxRecords": 10
}' |
apify call nexgensignal/norway-company-financials-key-figures --silent --output-dataset

```

## MCP server setup

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

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/kbgaggvyjVyKsgzgl/builds/v76sBoFINSBsqx9iz/openapi.json
