Orakel Docs
Data sources

Brønnøysundregistrene

Norwegian central company register — firmographics, sub-units, and roles.

Source attribution

Source: Brønnøysundregistrene (Brreg)
Data: Companies (Enhetsregisteret), sub-units (underenheter), roles (board, CEO, auditor)
License: NLOD 2.0 (Norwegian Licence for Open Government Data)
Attribution required: Yes — "Brønnøysundregistrene" must be credited on any redistribution
Link: https://www.brreg.no
Update cadence: Every 15 minutes (diff sync), monthly full snapshot

What it is

Brreg is Norway's central registry for businesses and organizations. Every legal entity registered in Norway — AS, ASA, ENK, NUF, foundations, municipalities, associations — has a record here, keyed by a 9-digit organization number.

Orakel ingests the full dataset and tracks changes through the Brreg updates feed. Every 15 minutes Orakel pulls new changes and upserts the affected records; once a month a full snapshot re-seeds the database to catch anything the feed missed.

Fields provided

FieldTypeNotes
orgNumberstring (9 digits)Part of the composite key (country, orgNumber). For Brreg rows, country = "NO".
namestringOfficial registered name
orgFormCode / orgFormDescriptionstringAS, ASA, ENK, NUF, etc.
naceCode1 / naceDescription1stringPrimary industry (NACE)
naceCode2 / naceCode3stringUp to two further industry codes
employeeCountintRegistered employee count
hasRegisteredEmployeesboolSome companies file without a count
businessAddress*stringsStreet, zip, city, municipality name, municipality number
postalAddress*stringsSeparate postal address where different
websitestringAs registered with Brreg — not always current
phonestringAs registered with Brreg
parentOrgNumberstringImmediate parent in a corporate group
foundingDatedateStiftelsesdato
registrationDatedateRegistreringsdato Enhetsregisteret
registeredInVatboolRegistered in Merverdiavgiftsregisteret
registeredInBizboolRegistered in Foretaksregisteret
isBankruptboolKonkurs flag
isBeingDissolvedboolUnder avvikling or tvangsavvikling
isInGroupboolPart of a corporate group
sectorCode / sectorDescriptionstringInstitusjonell sektorkode
subUnits[]recordsUnderenheter — branch offices, each with its own orgNumber, location address, employee count, NACE code
roles[]recordsBoard members, CEO, auditor and similar — see the Role entries below

Roles

Each role record carries:

FieldTypeNotes
roleGroupCode / roleGroupDescriptionstringe.g. STYR (board)
roleTypeCode / roleTypeDescriptionstringe.g. LEDE (chair), DAGL (CEO), REVI (auditor)
personFirstName / personMiddleName / personLastNamestringFor natural-person role holders
personBirthDatedateFull birth date as filed
entityOrgNumber / entityNamestringFor entity role holders (e.g. auditor firms)
isResignedboolFratraadt
isDeregisteredbool
sortOrderintRekkefolge — stable order within a role group

Endpoints that surface this data

  • GET /api/companies — search companies; returns Brreg firmographics plus embedded financials and active roles
  • GET /api/companies/:orgNumber — full company record. Norwegian companies not yet in the database are fetched from Brreg on the fly and cached
  • GET /api/companies/:orgNumber/group — corporate-group tree built from parentOrgNumber
  • GET /api/updates?since=<ISO date> — cursor-paginated feed of companies whose record changed after the given timestamp. Backed by Brreg's own updates feed.

Limitations

  • Brreg itself covers firmographics and roles. Financial statements live in regnskapsregisteret; shareholder data lives in aksjonaerregisteret.
  • Registered website is self-reported at registration and is frequently stale. Orakel runs a separate domain-enrichment pipeline (primaryDomain, enrichedDomains) to produce a verified domain.
  • Employee counts for the parent Company do not include sub-unit headcounts — aggregate across subUnits[] if you need a total.

Gotchas

  • The 15-minute diff sync can lag the public Brreg UI by a few minutes. For a guaranteed-fresh record, pass ?country=NO to GET /api/companies/:orgNumber — on a database miss Orakel fetches live from Brreg.
  • Dissolved and bankrupt companies are retained. dissolvedAt may be set while the record still appears in search results; filter on isBankrupt or isBeingDissolved if you want to exclude them.
  • orgNumber is globally unique within Norway, but across the Nordic registries Orakel stores records under (country, orgNumber). Always pass country explicitly when querying a specific record from a multi-country client.
  • Brreg stores auditors as entity roles (entityOrgNumber populated) rather than as person roles. Board roles are per-person.

On this page