🦖 TinyRex Data Toolspractical guides for web data APIs

How to look up Norwegian companies by organisation number and build lead lists from Brreg

Updated 2026-10-28 · Tool used: Norway Company Search - Org Number Lookup & B2B Leads (Brreg) on Apify · Price: $0.001 per company ($1 per 1,000); invalid org numbers, no-match searches, duplicates and filtered rows are free

Every Norwegian company has a 9-digit organisation number in Enhetsregisteret, the central coordinating register run by the Brønnøysund Register Centre (Brreg). It holds far more than the name: industry code, employee count, business address, email, phone and website when the company registered them, VAT status, share capital and flags for bankruptcy or liquidation.

This guide shows how to read that official open data API in bulk: enrich a list of org numbers, match company names to org numbers, or build a lead list such as "IT companies in Oslo with 10 to 200 employees and an email address" or "every AS registered in Bergen since last Monday". No API key or login is needed.

Open Norway Company Search on Apify →

Steps

  1. For lookups, paste org numbers or company names into companies, one per line. 923609016, 923 609 016 and NO923609016MVA all work, and the mod-11 check digit is validated first, so typos come back as free rows.
  2. For a lead list, leave companies empty and set filters: naceCodes (prefixes work, e.g. 62 for IT services), municipalities (names like Oslo or 4-digit numbers), postalCodes, legalForms, minEmployees/maxEmployees, and registeredFrom for fresh companies.
  3. Turn on withEmailOnly to keep only companies with a registered email (skipped rows are free), and includeRoles if you need the CEO, chair, board and auditor (names and roles only, no birth dates).
  4. Run it and export the dataset as CSV or Excel. For a weekly feed of new companies, save the input as a task with registeredFrom set to last week and add a Schedule.

Example input

{
  "companies": [
    "923609016",
    "Telenor"
  ],
  "maxResultsPerName": 1,
  "preferLargest": true
}

Example output (one item, shortened)

{
  "query": "naeringskode=62 kommunenummer=4601 fraAntallAnsatte=10",
  "queryType": "search",
  "found": true,
  "orgNumber": "987601787",
  "name": "HELSE VEST IKT AS",
  "legalForm": "Aksjeselskap",
  "legalFormCode": "AS",
  "naceCode": "86.101",
  "naceDescription": "Somatiske sykehustjenester",
  "secondaryNace": [],
  "employees": 836,
  "mobile": null,
  "website": "https://www.helse-vest-ikt.no",
  "businessAddress": {
    "street": "Bjørnsons gate 29",
    "postalCode": "5052",
    "city": "BERGEN",
    "municipality": "BERGEN",
    "municipalityNumber": "4601",
    "country": "Norge",
    "countryCode": "NO"
  },
  "postalAddress": {
    "street": "Inndalsveien 12",
    "postalCode": "5052",
    "city": "BERGEN",
    "municipality": "BERGEN",
    "municipalityNumber": "4601",
    "country": "Norge",
    "countryCode": "NO"
  },
  "foundedDate": "2004-12-07",
  "registeredDate": "2004-12-15",
  "vatRegistered": true,
  "vatNumber": "NO987601787MVA",
  "inBusinessRegister": true,
  "active": true,
  "bankrupt": false,
  "underLiquidation": false,
  "underForcedDissolution": false,
  "deletedDate": null,
  "partOfGroup": true,
  "parentOrgNumber": null,
  "sectorCode": "6100",
  "sector": "Statsforvaltningen",
  "shareCapital": {
    "amount": 1000000,
    "currency": "NOK",
    "shares": 2000
  },
  "lastAnnualAccountsYear": 2025,
  "brregUrl": "https://virksomhet.brreg.no/nb/oppslag/enheter/987601787",
  "matchTotal": 75,
  "error": null
}

Every run's dataset can be downloaded as JSON, CSV, Excel, XML or HTML from the Apify Console, or via https://api.apify.com/v2/datasets/<datasetId>/items?format=csv.

Run it from code

Python

from apify_client import ApifyClient  # pip install apify-client

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
  "companies": [
    "923609016",
    "Telenor"
  ],
  "maxResultsPerName": 1,
  "preferLargest": true
}
run = client.actor("tinyrex/norway-company-search").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

JavaScript / Node.js

import { ApifyClient } from 'apify-client'; // npm i apify-client

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('tinyrex/norway-company-search').call({
  "companies": [
    "923609016",
    "Telenor"
  ],
  "maxResultsPerName": 1,
  "preferLargest": true
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

curl (no SDK)

# Runs the actor and returns the results directly (CSV here; use format=json for JSON)
curl -X POST "https://api.apify.com/v2/acts/tinyrex~norway-company-search/run-sync-get-dataset-items?format=csv" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"companies": ["923609016", "Telenor"], "maxResultsPerName": 1, "preferLargest": true}' > results.csv

Get your API token in Apify Console → Settings → API & Integrations. The free Apify plan includes monthly credit that is enough to try this.

Use it from an AI agent (MCP)

The Apify MCP server exposes this actor as a tool for Claude, Cursor, VS Code, n8n and other MCP clients. Add this to your client's MCP config (or use the OAuth flow at mcp.apify.com instead of a token):

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=tinyrex/norway-company-search",
      "headers": {
        "Authorization": "Bearer <YOUR_APIFY_TOKEN>"
      }
    }
  }
}

Then ask in plain language, e.g. "Norway org number lookup for this list and give me a table".

Pricing

Pay per result: $0.001 per company ($1 per 1,000); invalid org numbers, no-match searches, duplicates and filtered rows are free. You can cap the cost of every run in the run options.

FAQ

Is there a free API for Norwegian company data?

Yes. Brønnøysundregistrene publishes the Enhetsregisteret open data API with no key required, under the Norwegian Licence for Open Government Data (NLOD) 2.0, which allows commercial reuse with attribution. This actor calls it politely (a few requests per second with backoff) and returns flat rows.

How do I get a list of all companies in a Norwegian industry or municipality?

Set naceCodes and municipalities and run without companies. The register serves at most 10,000 results per search, so for bigger lists split by municipality or NACE code. The matchTotal field shows the full count for market sizing.

Can I find newly registered companies in Norway?

Yes. Set registeredFrom (and optionally registeredTo) together with a municipality or industry filter, and turn off sortByEmployees since new companies usually have none yet. Accountants, banks, insurers and SaaS sales teams use this as a weekly lead feed.

Is it GDPR compliant?

Register data can include names and work emails of people. If you use it for marketing you are the data controller, so check your legal basis and honour opt-outs. Roles are returned without birth dates.

Try it on Apify →

More guides