Norway Companies Scraper avatar

Norway Companies Scraper

Pricing

from $11.90 / 1,000 results

Go to Apify Store
Norway Companies Scraper

Norway Companies Scraper

Scrape Norway's Brønnøysund company register by name or filter (legal form, NACE, municipality, employees, VAT, dates). Clean firmographics with CEO, board, annual accounts, address and share capital. Batch lookup by org number, sub-units of a parent, and a change feed for CRM sync.

Pricing

from $11.90 / 1,000 results

Rating

0.0

(0)

Developer

Norm Data

Norm Data

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

8 days ago

Last modified

Categories

Share

Norm Data

🇳🇴 Norway Companies Scraper

Scrape the Norwegian company register (Brreg / Brønnøysundregistrene, the Brønnøysund Register Centre) with no API key and no login. Search over a million Norwegian entities by name or by structured filters, look up a batch of organisation numbers, pull every establishment of a company, or read the register's change feed.

Get clean structured company data for KYB, compliance and B2B lead generation: legal form, NACE industry codes, addresses, employees, VAT (MVA) and bankruptcy status, the full board, chair, CEO and auditor, share capital, and filed annual accounts.

🎯 Who uses it?

🛡️ KYB / KYC and compliance teams

Verify a Norwegian counterparty by organisation number and capture legal form, status, officers and financials for the onboarding file.

📇 B2B sales and lead-gen teams

Build targeted company lists by industry (NACE), municipality, size, or VAT status, with phone, website and address.

🗂️ CRM and data teams

Feed a list of organisation numbers and refresh every account with current registry fields, leadership and accounts.

📈 Credit and risk analysts

Pull revenue, equity, liabilities and multi-year filed accounts for a portfolio of companies.

🗺️ Location and market researchers

Use sub-units mode to list every site a company operates from, or the change feed to watch new registrations and bankruptcies.

✨ What it does

  • Search companies by name and any of: municipality, NACE industry code, legal form, postal code, employee range, institutional sector, VAT status, founding date range, registration date range, or bankrupt-only. Filters combine with logical AND.
  • Look up by organisation number: paste a batch of nine-digit numbers, get the full record for each, companies and sub-units both. A number that doesn't resolve still comes back as its own row with an error, so the output always matches your input list.
  • Sub-units (establishments): every branch, site, or department registered under a parent company, each with its own address, employees and industry code.
  • Change feed: every entity registered or changed on or after a date, newest first, for syncing a local copy or watching for new companies, bankruptcies and liquidations.
  • Board and CEO (optional): CEO, chair, and the full officer list with role codes, role names, birth dates, and listed order.
  • Annual accounts (optional): filed accounts for every year on record, with revenue, operating result, total assets, equity, debt, and whether the filing was actually audited.

Missing source values are returned as null, never invented.

🏆 Why this scraper

  • Two modes nobody else on Apify has: every establishment of a company, and the register's own change feed for monitoring and CRM sync.
  • Real KYB depth. Board, chair, CEO, auditor, share capital, sector code, group membership, historical names and statutory purpose on every record.
  • Multi-year financials with a real credit signal. Revenue, results, assets, equity and debt from filed accounts, plus whether each filing was actually audited, since small Norwegian companies can legally opt out.
  • No API key, no login, no captcha. Public open data, delivered clean and flat.

⚖️ How it compares

CapabilityThis actorOther Brreg scrapers on Apify
Name search + organisation number lookupyesyes
Batch list of organisation numbers in one runyessome
Filters: municipality, NACE, legal form, postal codeyesyes
Filters: employee range, VAT status, sector, date rangesyessome
Bankrupt-only filteryesrare
Officers: board, chair, CEO, auditor (full array with birth dates)yesnames only, or none
Filed annual accounts, multi-yearyesrare
Sub-units: every establishment of a companyyesno
Change feed: entities registered or changed since a dateyesno

📦 What data you get

EntityUseful fields
CompanyRegistered name, organisation number, active status, legal form, NACE industry codes, institutional sector, employee count, founding and registration dates, VAT status, and bankruptcy/liquidation flags.
PeopleCEO, chair, and the full officer list with role names, birth dates, and listed order.
FinancialsFiled annual accounts per year: revenue, operating result, annual result, total assets, equity, debt, whether audited.
Address & contactBusiness and postal addresses, phone, website, and email where registered.
Group & historyGroup membership, parent organisation number, and previous names with date ranges.
Sub-units & changesEstablishment rows with their own address and industry code, and change-feed rows with change type and timestamp.

Every record includes scraped_at (UTC). Download your dataset from Apify as CSV, JSON, or Excel.

💡 Use cases

🛡️ Verify a counterparty

{ "mode": "lookup", "orgNumbers": ["923609016", "974760673"] }

📇 Build a lead list by industry and size

{ "mode": "search", "municipality": "0301", "orgForm": "AS", "employeesFrom": 20, "employeesTo": 100, "vatRegistered": "yes", "maxItems": 500 }

🗺️ Map every site a company operates from

{ "mode": "subunits", "parentOrgNumber": "923609016" }

📡 Watch for new or changed companies

{ "mode": "updates", "changedSince": "2026-09-01", "maxItems": 1000 }

⚙️ How the input is organised

The input form is split into sections that follow the mode you pick:

SectionWhat it's for
ModePick what to get: Search, Look up, Sub-units, or Change feed.
Search filtersName plus structured filters: municipality, NACE code, legal form, postal code, employee range, sector, VAT status, bankrupt-only, and date ranges.
Look up and sub-unitsOrganisation numbers to look up, or a parent organisation number for sub-units.
Change feedThe date to pull changes since.
EnrichmentAdd board/CEO data and filed annual accounts. Only charged when that data is actually found.

Apify Free plan: every run is limited to a fixed 10-row sample. Upgrade your Apify plan to run your own settings.

💰 Pricing

Pay-per-event: a price for each kind of record the run produces. You only pay for the kinds you turn on:

Charged forFreeBronzeSilverGold+
result: One company row written to the dataset.0.0140.01330.01260.0119
Detail Record: Board, CEO and officers for one company.0.0150.01420.01340.0126
Financials record: Filed annual accounts for one company.0.0150.01420.01340.0126

New Apify accounts start with $5 in free credit.

🚀 Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Norway Companies Scraper.
  3. Fill in the input (or keep the prefilled example), set the maximum number of results, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python, and schedule it with Apify's built-in Scheduler.

🤖 Use with AI agents (MCP)

Give an AI agent live access to the Norway Companies Scraper through the Model Context Protocol:

claude mcp add --transport http apify "https://mcp.apify.com?tools=normdata/norway-companies-scraper"

Then prompt it in plain language to run the scraper and read back the results.

🔧 Troubleshooting

An organisation number returned an error: "not found" row. Check it's the 9-digit number. The row is kept so your output matches your input list.

Names and labels are in Norwegian. They're kept exactly as filed, the register doesn't publish translations.

Board or accounts are missing. Turn on "Include board and CEO" or "Include annual accounts". Accounts only exist for companies that file them.

❓ FAQ

QuestionAnswer
Where does the data come from?Brønnøysund Register Centre's public open data.
Can I get every branch of a company?Yes, Sub-units mode with the parent organisation number.
Can I watch for new companies or bankruptcies?Yes, Change feed mode with "Changed since", on a schedule.
Are audited accounts flagged?Yes, each filing says whether it was actually audited.
Do I need an API key?No.

🛡️ Limits & responsible use

This Actor reads only the Norwegian company register's own public open data. It never signs in and never accesses anything gated behind an account.

A Look up number that doesn't resolve still writes one row with error: "not found" rather than failing the run, so your output count matches your input list. Company names and labels are kept as filed in Norwegian; the register does not hold English names.

📧 Contact

Need a scraper for a different site, or found something wrong with this one? norm.data.scrapers@gmail.com

🧪 Local development

bun install
bun test # offline: input parsing and normalisation against synthetic fixtures
bun run src/main.ts # reads storage/key_value_stores/default/INPUT.json