Norway Company Register Scraper: Brreg Business Data avatar

Norway Company Register Scraper: Brreg Business Data

Pricing

from $0.56 / 1,000 results

Go to Apify Store
Norway Company Register Scraper: Brreg Business Data

Norway Company Register Scraper: Brreg Business Data

Norwegian companies from the official Brønnøysund register as flat rows: search by municipality, industry, legal form, size or age, or pull the daily feed of new, changed and deleted companies.

Pricing

from $0.56 / 1,000 results

Rating

0.0

(0)

Developer

Demetrius Greses Jr

Demetrius Greses Jr

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Returns Norwegian companies from the official Brønnøysund company register as flat, Excel-ready rows (organisation number, name, legal form, industry code, address, employees, registration date, bankruptcy and liquidation flags), for B2B sales teams, KYC analysts and market researchers, with a daily feed of new, changed and deleted companies.

Use cases

  • B2B sales teams: pull every active AS in Oslo in computer programming (industry 62.100) with its address and registration date as a spreadsheet for account research.
  • KYC and compliance analysts: run the change feed each day and watch for new, changed and deleted companies, then check bankruptcy and liquidation flags on the companies you monitor.
  • Market researchers: count and profile companies by municipality, industry code, legal form, size band and founding year.
  • Data and BI teams: load a daily change feed into a warehouse or dashboard, keyed on the stable organisation number, with ISO dates.
  • AI agents: answer questions such as "how many AS companies registered in Bergen since 2024?" through the Apify API or MCP server, against one fixed schema.

Sample output

Three rows from a live run (search for AS companies in municipality 0301, Oslo):

nameidlegalFormindustryemployeesregisteredAt
AUTOBJØRN A/S810359862AksjeselskapReparasjon og vedlikehold av motorvogner121995-02-19
BJØRNSTJERNE BJØRNSONSGATE AS810363142AksjeselskapUtleie av egen eller leid fast eiendomnull1995-02-19
METALLCO AS810392312AksjeselskapMaterialgjenvinning491995-02-19

One item as JSON, from the same run (the purpose text is shortened):

{
"id": "810392312",
"name": "METALLCO AS",
"legalFormCode": "AS",
"legalForm": "Aksjeselskap",
"registeredAt": "1995-02-19T00:00:00.000Z",
"foundedAt": "1967-01-10T00:00:00.000Z",
"industryCode": "38.210",
"industry": "Materialgjenvinning",
"industryCode2": null,
"industryCode3": null,
"employees": 49,
"employeesRegistered": true,
"street": "Strømsveien 287",
"postalCode": "0668",
"city": "OSLO",
"municipalityCode": "0301",
"municipality": "OSLO",
"countryCode": "NO",
"postalAddress": "Postboks 15 ALNABRU, 0614 OSLO",
"website": null,
"bankrupt": false,
"bankruptAt": null,
"underLiquidation": false,
"underCompulsoryLiquidation": false,
"vatRegistered": true,
"businessRegistered": true,
"lastAnnualAccountsYear": 2025,
"shareCapital": 17483400,
"shareCapitalCurrency": "NOK",
"sectorCode": "2100",
"sector": "Private aksjeselskaper mv.",
"inGroup": true,
"formerNames": ["ROLF BAKKE AS"],
"purpose": "Handel, agenturvirksomhet, eksport og import, produksjon og alt hva dermed står i forbindelse …",
"changeType": null,
"deletedAt": null,
"sourceUrl": "https://data.brreg.no/enhetsregisteret/api/enheter/810392312",
"detailUrl": "https://w2.brreg.no/enhet/sok/detalj.jsp?orgnr=810392312",
"scrapedAt": "2026-10-12T23:08:41.860Z"
}

Pricing

$0.80 per 1,000 results. A 500-result run costs about $0.40. You pay only for results saved to your dataset, plus Apify's standard start fee of $0.00005 per run. Apify Silver and Gold plan users get lower per-result prices automatically.

Set Max results to cap what a run can cost. The Actor stops cleanly when it reaches your spending limit.

Input

See the input tab for the full configuration. The fields are:

FieldTypeDescription
modestringsearch (default) reads companies that match the filters. updates reads the change feed: new, changed and deleted companies since updatesSince.
namestringKeep companies whose name matches this text, as the register matches names. Search mode only.
legalFormsarrayLegal form codes, for example AS, ASA, ANS, DA, NUF, SA. Empty means all forms except sole proprietorships (ENK, opt-in below). Private persons (PERS) and estates (BO, KBO) are never output. Search mode only.
municipalityCodesarray4-digit municipality numbers, for example 0301 for Oslo. Empty means the whole country. Search mode only.
industryCodesarraySN2025 industry codes, for example 62.100 (computer programming), or a prefix such as 62 for the whole division. Older SN2007 codes such as 62.010 match nothing. Search mode only.
minEmployeesintegerKeep companies with at least this many registered employees. Search mode only.
maxEmployeesintegerKeep companies with at most this many registered employees. Search mode only.
registeredFromstringKeep companies registered on or after this date, YYYY-MM-DD. Search mode only.
registeredTostringKeep companies registered on or before this date, YYYY-MM-DD. Search mode only.
onlyActivebooleanLeave out companies that are bankrupt or under liquidation (default true). Search mode only. The change feed always includes them.
includeSoleProprietorshipsbooleanInclude sole proprietorships (ENK). Off by default: a sole proprietorship is named after its owner. Private persons (PERS) and estates (BO, KBO) are never output, whatever this setting.
updatesSincestringChange feed mode only: the earliest change time, ISO 8601, for example 2026-10-11T00:00:00Z. Empty means 24 hours before the run.
maxItemsintegerMaximum number of results to return (default 100, up to 50,000). You are charged per result.
proxyConfigurationobjectNot needed for this official open-data API, so it is off by default.

Example input (the daily test):

{
"mode": "search",
"municipalityCodes": ["0301"],
"legalForms": ["AS"],
"maxItems": 20
}

Example input for the change feed, run daily (leave updatesSince empty to read the last 24 hours):

{
"mode": "updates",
"maxItems": 500
}

Integrations

  • API: run the Actor and fetch results with the Apify API or the JavaScript and Python clients.
  • AI agents: call it as a tool through the Apify MCP server.
  • No-code: connect it to Make, Zapier or n8n, or export results straight to Google Sheets.
  • Scheduling: run the change feed daily with Apify Schedules. With updatesSince left empty, each run reads the last 24 hours, so you get only recent changes.

FAQ

What are the limits? The register answers at most 10,000 matches per query. A search with more matches and a Max results above 10,000 is split automatically: first by municipality, then by registration year, with duplicates removed by organisation number. A single municipality and registration year with more than 10,000 companies cannot be split further, so the first 10,000 are read and the log says so. A query with 10,000 matches or fewer is read in full. Sub-entities (branches, underenheter) are not included in version 0.1. Each changed company in the change feed costs one register lookup. The Actor makes about three lookups a second, so a 24-hour feed of 8,734 changes takes about 50 minutes to read in full. Every saved row is one platform charge call, which takes about 0.1 to 0.3 seconds, so a run of tens of thousands of rows takes hours; start with a small Max results to test.

Why are some fields empty? A field is null when the company did not register it. Most companies have no registered employee count, for example. In one 20-row sample, 17 rows had employees null.

Why does municipalityCodes return companies whose business address is elsewhere? The register matches the municipality on the business address or on the postal address, and the Actor passes that match on. municipalityCode and municipality show the business address, so they can differ from the filter.

Which industry codes work? industryCodes take the SN2025 codes that the Brønnøysund register uses now, for example 62.100 for computer programming. Older SN2007 codes such as 62.010 match nothing. If your codes match no company, the run succeeds with no rows, and its status message names the codes and gives this hint. A prefix matches every code under it: 62 covers the whole division, 62.1 or 62.10 covers the codes that start with those digits, and 62.100 is a single code. Several codes and prefixes can go in one list.

Why are sole proprietorships and other personal records missing? Sole proprietorships (ENK) are named after their owners, so they are left out unless you turn on includeSoleProprietorships. Records of other natural persons (PERS), estates (BO) and bankruptcy estates (KBO) name private individuals and are never output.

What does changeType mean? In change feed mode: Ny means a new company, Endring a changed one, Ukjent a change the register did not classify, Sletting a deletion reported by the feed while the register still returns the company as live (rare), and deleted a company the register reports as deleted. In search mode the field is null. Deleted companies keep their name and legal form when the register still returns them; otherwise only the organisation number is known.

What is never collected? The Actor never reads board members, signatories or other roles, and never reads personal identification numbers. Contact fields (email address, phone, mobile) are never copied into a result, so they cannot appear in the dataset. A company name can still contain a person's name, which is why the personal forms (ENK, PERS, BO, KBO) are excluded by default.

Is this legal? The Actor collects public data only, from the official Brønnøysund open API. It needs no login, no account cookies and no CAPTCHA solving, and it asks the register for about three requests a second, never more than three at a time. It is not affiliated with, endorsed by or connected to the Brønnøysund Register Centre. Contains data under the Norwegian licence for Open Government data (NLOD) 2.0 distributed by the Brønnøysund Register Centre (Brønnøysundregistrene). You are responsible for how you use the data.

Something broke or a field is missing? Open an issue on the Actor's Issues tab. We answer within one business day and usually ship a fix within 48 hours.

Changelog

  • 0.1 (2026-10-12): First release. Search by filters with splitting past 10,000 results, a daily change feed with new, changed and deleted companies, flat rows and privacy defaults.
  • 0.1.x (2026-10-13): SN2025 industry codes and code prefixes; hint when an industry code matches nothing.