Brreg Scraper: Norway Company Registry Search & Leads
Pricing
from $0.80 / 1,000 companies
Brreg Scraper: Norway Company Registry Search & Leads
Search Norway's official Brreg register (Enhetsregisteret) by name, NACE industry, municipality, size or date: org number, address, employees, website.
Pricing
from $0.80 / 1,000 companies
Rating
0.0
(0)
Developer
MRSLM Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare
Search Norway's official business register (Brreg) by name, industry, municipality, size or registration date: org number, address, NACE, employees, website. $1.00 per 1,000 companies.
This Actor searches the Central Coordinating Register for Legal Entities (Enhetsregisteret) run by the Brønnøysund Register Centre (Brreg), Norway's official register of every company and organisation. Search by company name, filter by NACE industry code, municipality, company form, employee count, VAT status or registration date, and get clean rows with the organisation number, address, industry, employees, website, share capital and status flags. No login, no API key and no browser: it uses Brreg's own open-data API.
What the Brreg Scraper does
Brreg publishes the full register through a free open-data API at data.brreg.no. The Actor turns your input into register queries, pages through every match, removes duplicates across searches, drops sole proprietorships (ENK) so no private persons appear, and saves one row per company.
The most popular use is a feed of newly registered Norwegian companies: set registeredWithinDays (for example 1 or 7) plus an industry or municipality, schedule it, and you get a fresh lead list every morning. Others use it to look up and verify a list of company names, or to size a market (how many AS companies in NACE 62 have 10-50 employees in Bergen?).
Who it is for
- Accountants, banks, insurers and B2B sales teams who want to contact newly founded companies first.
- Recruiters and suppliers who need every company in an industry and municipality, sized by employees.
- Market analysts and journalists tracking company formation by sector and region.
- Data and compliance teams that verify organisation numbers, VAT status and bankruptcy flags in bulk.
Quick start
- Press Start. The form is already filled with this example input, so the first run returns real rows in under a minute:
{"industryCodes": ["62"],"registeredWithinDays": 30,"maxResults": 30}
- Swap in your own values, or call the Actor through the Apify API, Make, Zapier, n8n or the Python/JS clients with the same JSON.
- Download the results as JSON, CSV or Excel from the Output tab, or schedule the run to repeat.
Real example: new IT companies in Oslo in the last 90 days
Run on 2 November 2026 with this input:
{"industryCodes": ["62"],"municipalityNumbers": ["0301"],"registeredWithinDays": 90,"maxResults": 200}
0301 is the municipality number for Oslo, 62 matches every NACE code starting with 62 (computer programming and IT consultancy), and maxResults: 200 caps the run. The run hit the cap in 6 seconds and was charged 200 company events, about $0.20.
- Industry split: 152 rows under 62.100 (programming), 48 under 62.200 (IT consultancy and management).
- Company forms: AS 190, NUF 7, FLI 2, DA 1. Sole proprietorships (ENK) are never returned.
- Registered between 2026-08-20 and 2026-11-02; 18 of the 200 are already VAT-registered and 7 list a website. Brand-new companies rarely have either yet, which is exactly why a fresh-registration feed is useful: you reach them before anyone else.
The newest rows (newest first):
| Name | Org number | NACE | Registered |
|---|---|---|---|
| LOSJI AS | 938795983 | 62.100 | 2026-11-02 |
| AI-KOLLEKTIVET AS | 938785678 | 62.200 | 2026-10-30 |
| ITURNUS AS | 938787395 | 62.100 | 2026-10-30 |
| MUSKLR AS | 938787484 | 62.100 | 2026-10-30 |
| PUNCHLINE AS | 838787312 | 62.100 | 2026-10-30 |
| STELLAR SOLUTIONS BY BERTOLI MAURO AS | 938781060 | 62.200 | 2026-10-29 |
To get every new Oslo IT company, set maxResults to 0. To cover all of Norway, remove municipalityNumbers.
Sample row (real run, trimmed)
{"orgNumber": "838747752","name": "MINDA AS","organisationForm": "AS","organisationFormName": "Aksjeselskap","industry": {"code": "62.100","description": "Dataprogrammeringstjenester"},"industry2": null,"industry3": null,"employees": null,"website": null,"businessAddress": {"street": "Heistadtangen 28","postalCode": "3941","city": "PORSGRUNN","municipality": "PORSGRUNN","municipalityNumber": "4001","country": "NO"},"postalAddress": null,"foundedDate": "2026-09-22","registeredDate": "2026-10-26","inBusinessRegister": true,"vatRegistered": false,"vatRegisteredDate": null,"partOfGroup": false,"shareCapital": {"amount": 30000,"currency": "NOK","shares": 30000,"type": "Aksjekapital"},"lastAnnualAccountsYear": null,"sector": {"code": "2100","description": "Private aksjeselskaper mv."},"purpose": "Utvikle, eie, lisensiere, markedsføre og selge programvare, digitale tjenester, data- og AI-baserte løsninger for idrett, organisasjoner og tilknyttet virksomhet, samt rådgivning og annen virksomhet som naturlig står ...","bankrupt": false,"underLiquidation": false,"forcedDissolution": false,"deletedDate": null,"parentOrgNumber": null,"registryUrl": "https://virksomhet.brreg.no/nb/oppslag/enheter/838747752"}
Also included: secondary industries, postal address, founding date, VAT registration date, group membership, share capital, last filed accounts year, sector, stated purpose, bankruptcy and liquidation flags and the parent org number.
Output fields
| Field | What it holds |
|---|---|
orgNumber | 9-digit organisation number (organisasjonsnummer). |
name | Registered company name. |
organisationForm | Form code: AS, ASA, NUF, ANS, DA and others. |
organisationFormName | Form name in Norwegian. |
industry | Main NACE (SN2007) code and description. |
industry2 / industry3 | Secondary industries, when registered. |
employees | Employee count from the register (null when not reported). |
website | Website, normalised to https://. |
businessAddress | Street, postcode, city, municipality, municipality number, country. |
postalAddress | Postal address, when different. |
foundedDate | Date the company was founded. |
registeredDate | Date it entered the Central Coordinating Register. |
inBusinessRegister | True when it is in the Register of Business Enterprises. |
vatRegistered / vatRegisteredDate | VAT (MVA) register status and date. |
partOfGroup | True when part of a corporate group. |
shareCapital | Amount, currency, share count and type. |
lastAnnualAccountsYear | Last year with filed annual accounts. |
sector | Institutional sector code and description. |
purpose | Stated purpose of the company (trimmed). |
bankrupt / underLiquidation / forcedDissolution | Status flags. |
deletedDate | Deletion date for removed entities. |
parentOrgNumber | Parent unit, when the row is a sub-unit or part of a group. |
registryUrl | Link to the official Brreg page. |
Filters
searchTerms: company names (one per line). Brreg matches on the name.industryCodes: SN2007/NACE codes or prefixes.62= all IT services,62.100= programming,70.2= management consulting.municipalityNumbers: 4-digit codes, e.g.0301Oslo,4601Bergen,5001Trondheim,1103Stavanger.organisationForms: e.g.AS,ASA,NUF(foreign branch). Default: all company forms except sole proprietorships.registeredWithinDays: only companies registered in the last N days.minEmployees/maxEmployees: employee band from the register.vatRegisteredOnly,excludeBankrupt(on by default),newestFirst(on by default).maxResultsPerSearchandmaxResults: caps.
Leave everything empty and the Actor runs the example search (IT companies registered in the last 30 days, up to 30) so a first click on Start always returns real rows.
Export to CSV, Excel, JSON or Google Sheets
Every run saves its rows to an Apify dataset. Open the Output tab and pick a format:
- CSV or Excel for spreadsheets and CRM imports. Nested fields (arrays and objects) are flattened into columns such as
locations/0. - JSON or JSONL to keep the nested structure for code and databases.
- Google Sheets: add the Apify "Google Sheets export" integration to the Actor or schedule, and every finished run is appended to a sheet.
You can also copy the dataset link from the Storage tab. It is a stable API URL your own scripts can download at any time.
Use it from Make, Zapier or n8n
The Actor has official Apify modules in all three tools:
- Make: add the Apify → Run an Actor module, choose
mrslm_data/norway-company-registry, paste the JSON input, then add Apify → Get Dataset Items and map the fields into Google Sheets, HubSpot, Airtable or Slack. - Zapier: use the Apify app with the trigger Finished Actor Run (set up a schedule in Apify) or the action Run Actor, then Fetch Dataset Items.
- n8n: use the Apify node (Run Actor + Get dataset items), or a plain HTTP Request node calling the run-sync endpoint shown below.
Schedule it
In Apify Console open Schedules → Create new, choose this Actor and a cron such as 0 7 * * 1-5 (07:00 every working day). With registeredWithinDays: 1 each daily run returns the companies registered since the day before. Pair the schedule with an integration (e-mail, Slack, Google Sheets or a webhook) so new rows reach you without opening Apify.
Call it from the API (Python, JavaScript or curl)
The input below is the same JSON you would paste into the form.
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("mrslm_data/norway-company-registry").call(run_input={"industryCodes": ["62"],"municipalityNumbers": ["0301"],"registeredWithinDays": 7})for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row)
JavaScript / Node.js (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('mrslm_data/norway-company-registry').call({"industryCodes": ["62"], "municipalityNumbers": ["0301"], "registeredWithinDays": 7});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length, 'companys');
curl (runs the Actor and returns the rows in one call, for runs under 5 minutes):
curl -X POST "https://api.apify.com/v2/acts/mrslm_data~norway-company-registry/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>&format=csv" \-H "Content-Type: application/json" \-d '{"industryCodes": ["62"], "municipalityNumbers": ["0301"], "registeredWithinDays": 7}'
Use it from AI agents and chat assistants (MCP)
Apify's MCP server (https://mcp.apify.com) exposes Store Actors as tools for Claude, ChatGPT, Cursor and other MCP clients. Add the server with your Apify token, enable mrslm_data/norway-company-registry, and ask in plain language, for example: "List IT companies registered in Oslo in the last 7 days with their org number and address." The assistant fills the input, runs the Actor and reads the rows back. You pay the same per-company price as a normal run.
What it costs
- Company: $1.00 per 1,000 saved (Silver $0.90, Gold $0.80)
- Plus $0.00005 per run. You pay only for companies saved after your filters. Searches with no matches are free.
Worked example: a full list of IT companies (NACE 62) registered in Oslo in the last 90 days is a few hundred rows, about $0.20-0.40 per run. A daily "new companies in Norway yesterday" feed across all industries is usually 150-400 rows a working day, well under $0.50.
Tips
- New-company feed:
registeredWithinDays: 1, an industry prefix, and a weekday schedule. - Bigger companies only:
minEmployees: 10drops shells and one-person companies. - Foreign companies in Norway:
organisationForms: ["NUF"]lists Norwegian branches of foreign companies. - Enrich a list: put company names in
searchTermsand setmaxResultsPerSearch: 1to get the best match per name.
Limits
- Employee counts come from the register and are often missing for small or brand-new companies (
null). - No people: board members, CEOs and owners (roller) are not read, and sole proprietorships are always excluded.
- No financial statements (revenue, profit).
lastAnnualAccountsYearonly tells you the last year accounts were filed. - Sub-units (underenheter, local branches) are not returned; one row per main legal entity.
FAQ
Where does the data come from? From the official Brønnøysund Register Centre open-data API (data.brreg.no), published under the Norwegian Licence for Open Government Data (NLOD).
Is any personal data included? Sole proprietorships (ENK) and other personal business forms are always excluded, so every row is a limited company or other legal entity. No people's names are output.
How fresh is it? Live. Brreg updates its register continuously.
Can I get only new records each day? Yes. Use the date window input and schedule the Actor; each run returns what is new in that window.
What is NACE / SN2007? Norway's industry classification (Standard for næringsgruppering 2007), which follows the EU NACE Rev. 2 codes.
Can I use the organisation number to look up more? Yes. registryUrl opens the official page, and the org number is the key in every Norwegian public register.
Data source, freshness and licence
Source: the Brønnøysund Register Centre open-data API (data.brreg.no, Enhetsregisteret). Brreg updates the register continuously, and every run queries it live. Licence: Norwegian Licence for Open Government Data (NLOD 2.0); credit "Brønnøysundregistrene" when you republish.
Is it legal?
This Actor only reads official open-data APIs that the publisher offers to everyone without a login or key. It obeys robots.txt, stays under the published rate limits, and never tries to get past logins, paywalls, captchas or bot checks. Sole proprietorships (ENK) and other personal business forms are always excluded, so every row is a limited company or other legal entity. No people's names are output. You are responsible for how you use the data: follow the source's licence and terms and the privacy and marketing laws that apply to you (GDPR, CAN-SPAM, PECR, etc.). This tool is independent and not affiliated with or endorsed by the data publisher.