Data Sources
Norway uses a single official registry for all company data.- Bronnysundregistrene (BR-Reg / The Bronnoysund Register Centre) — Operated by the Norwegian government, BR-Reg maintains the Enhetsregisteret (Entity Register) and Foretaksregisteret (Business Register). It is the sole data source for all Norwegian entities. Accessed via a REST API (
data.brreg.no/enhetsregisteret/api), it provides comprehensive company data including legal form, status, management roles, activity codes (NACE), employees, addresses, contact information, and sub-entities (establishments). The API covers all entity types: commercial companies, sole proprietorships, non-profits, and public institutions.
The BR-Reg REST API returns structured JSON data with a clean, flat structure. Company data, roles, and sub-entities are accessed through separate API endpoints. Roles data includes role groups (
rollegrupper) containing individual role entries with type codes and person/entity details.Company Identifiers
Query Identifiers
| Company Type | Source | Format | Example | Notes |
|---|---|---|---|---|
| All entities | BR-Reg | 9 digits (Organization Number) | 923609016 | Organisasjonsnummer, accepts spaces or dots as separators |
Identifiers in API Response
Once you retrieve company data, theidentifiers object contains all available identifiers for that entity:
| Identifier Type | Format | Example | Found In |
|---|---|---|---|
organisasjonsnummer | 9 digits | 923609016 | All entities |
vatNumber | 9 digits + MVA | 923609016MVA | VAT-registered companies (auto-generated) |
VAT Number Auto-Generation: The VAT number is automatically generated by appending
MVA to the organization number when the company has registrertIMvaregisteret = true. It is not a separate identifier from the registry.Search Capabilities
| Search Type | Pattern | Example | Match Type | Expected Results |
|---|---|---|---|---|
| By Organization Number | 9 digits | 923609016 | Exact | Single company (1 result) |
| By Organization Number (spaces) | 3+3+3 digits | 923 609 016 | Exact | Single company (1 result) |
| By Organization Number (dots) | 3.3.3 digits | 923.609.016 | Exact | Single company (1 result) |
| By Name | Text string | "Equinor" | Fuzzy | Multiple results (up to 20) |
Name search queries the BR-Reg REST API at
/enheter?navn=.... Identifier searches (organization number) perform exact lookups via /enheter?organisasjonsnummer=... and are significantly faster.Quirks & Gotchas
| Quirk | Details |
|---|---|
| Organization number normalization | The 9-digit organization number accepts three input formats: 123456789, 123 456 789, 123.456.789. All are normalized by stripping spaces and dots. The display format uses dots (123.456.789). |
| VAT number auto-generation | VAT numbers are not stored in the registry. They are automatically generated by appending MVA to the organization number when registrertIMvaregisteret = true. |
| Deterministic role mapping | All 20 role type codes have pre-computed isLegalRepresentative and isOtherKeyPerson flags. No AI is involved in role classification. |
| Two-pass board member detection | Board members (MEDL) are normally classified as Other Key Persons. However, if there is exactly one non-employee board member on the entire board, that person is promoted to Legal Representative as “Sole Board Member”. This requires counting all board members before classification. |
| Signing authority promotion | Board members with explicit signing authority (keywords: signatur, prokura, firmategn, alene) are promoted from Other Key Person to Legal Representative regardless of board size. |
| Employee representative detection | Board members elected by employees (valgtAv.kode === 'AREP') or with employee-related keywords (ansatte, ansatterepresentant) are excluded from the single-member board count. They are always classified as Other Key Persons. |
| No shareholder or UBO data | The BR-Reg public API does not expose ownership, shareholder, or beneficial ownership information. |
| Up to 3 NACE codes | Norway provides up to 3 structured NACE activity codes (naeringskode1, naeringskode2, naeringskode3). These are official registry codes, never AI-inferred. |
| Address preference | The system prefers forretningsadresse (business address) over postadresse (postal address) for legalAddress. Establishments prefer beliggenhetsadresse (location address). |
| Registration date priority | Registration date uses a preference chain: stiftelsesdato (founding date) > registreringsdatoEnhetsregisteret (entity register date) > oppstartsdato (start date). |
| Resigned roles filtered | Roles with fratraadt = true (resigned) are excluded from both legal representatives and other key persons. |
| Phone number formatting | Norwegian phone numbers are formatted to E.164 format by prepending +47 if the number is 8 digits and does not already include the country code. |
| Activity description sources | Activity description is sourced from aktivitet (activity text array) first, falling back to vedtektsfestetFormaal (statutory purpose) if unavailable. |
| Financial years from separate endpoint | Annual report availability is fetched from virksomhet.brreg.no (a different endpoint than the main API at data.brreg.no), parsing the regnskapsAarResponse from the HTML response. |
Mappings
Company Status
Company status is determined deterministically from boolean flags in the BR-Reg API response. No AI inference is involved in status determination.| Local Status | English | Standardized Status | Closure Reason | Notes |
|---|---|---|---|---|
| Aktiv | Active | Active | — | Default status when no closure flags are set |
| Konkurs | Bankruptcy | Closed | Bankruptcy | konkurs = true |
| Under avvikling | Under Liquidation | Under Insolvency Proceeding | Voluntary Dissolution | underAvvikling = true |
| Under tvangsavvikling eller tvangsopplosning | Under Forced Liquidation | Under Insolvency Proceeding | Court Order | underTvangsavviklingEllerTvangsopplosning = true |
| Opphort | Ceased | Closed | Other | nedleggelsesdato or slettedato is set |
Status determination uses a priority chain: (1)
konkurs (bankruptcy), (2) underAvvikling (voluntary liquidation), (3) underTvangsavviklingEllerTvangsopplosning (forced liquidation), (4) presence of nedleggelsesdato or slettedato (cessation/deletion date). If none apply, the company is Active.Legal Forms
Norway uses theorganisasjonsform.kode from the BR-Reg API. The system translates the code to English using a deterministic pre-computed lookup table with 32 legal form codes. Legal form standardization (ISO 20275 code) is AI-enriched via the enrichLegalForm parser.
Key Business Forms
Key Business Forms
| Code | Norwegian Name | English Translation | Typical Standardized |
|---|---|---|---|
| AS | Aksjeselskap | Private Limited Company | Limited Liability Company |
| ASA | Allmennaksjeselskap | Public Limited Company | Corporation |
| ENK | Enkeltpersonforetak | Sole Proprietorship | Sole Proprietorship |
| ANS | Ansvarlig selskap | General Partnership | Partnership |
| DA | Selskap med delt ansvar | General Partnership with Shared Liability | Partnership |
| KS | Kommandittselskap | Limited Partnership | Partnership |
| NUF | Norskregistrert utenlandsk foretak | Norwegian Registered Foreign Company | Other |
| ESEK | Europeisk selskap | European Company | Corporation |
Cooperatives & Non-Profits
Cooperatives & Non-Profits
| Code | Norwegian Name | English Translation | Typical Standardized |
|---|---|---|---|
| SA | Samvirkeforetak | Cooperative | Cooperative |
| BA | Selskap med begrenset ansvar | Cooperative | Cooperative |
| BBL | Boligbyggelag | Housing Cooperative | Cooperative |
| BRL | Borettslag | Condominium | Cooperative |
| FLI | Forening/lag/innretning | Association | Nonprofit Organization |
| STI | Stiftelse | Foundation | Nonprofit Organization |
| KIRK | Den norske kirke | Church | Nonprofit Organization |
| PK | Pensjonskasse | Pension Fund | Other |
Public & Government Entities
Public & Government Entities
| Code | Norwegian Name | English Translation | Typical Standardized |
|---|---|---|---|
| FKF | Fylkeskommunalt foretak | Municipal Enterprise | Government-Owned Entity |
| KF | Kommunalt foretak | Municipal Enterprise | Government-Owned Entity |
| IKS | Interkommunalt selskap | Inter-Municipal Company | Government-Owned Entity |
| SF | Statsforetak | State Enterprise | Government-Owned Entity |
| KOMM | Kommune | Municipality | Government-Owned Entity |
| FYLK | Fylkeskommune | County | Government-Owned Entity |
| STAT | Staten | State | Government-Owned Entity |
| OPMV | Offentlig administrasjon | Public Administration | Government-Owned Entity |
Special & Other Forms
Special & Other Forms
| Code | Norwegian Name | English Translation | Typical Standardized |
|---|---|---|---|
| SPA | Sparebank | Savings Bank | Other |
| GFS | Gjensidig forsikringsselskap | Co-ownership | Other |
| SAM | Tingsrettslig sameie | Co-ownership | Other |
| TVAM | Tvungent sameie | Forced Co-ownership | Other |
| KBO | Konkursbo | Bankruptcy Estate | Other |
| PRE | Partrederi | Partnership with Divided Responsibility | Partnership |
| VPFO | Verdipapirfond | Securities Fund | Other |
| IKJP | Ikke-juridisk person | Non-Legal Entity | Other |
| ORGL | Annen organisasjonsform | Other Organizational Form | Other |
The English translation of legal form codes is deterministic (pre-computed lookup table with 32 entries). However, the standardized category and ISO 20275 code assignment are AI-enriched via the
enrichLegalForm parser, so exact standardized mappings may evolve.Legal Representatives
Legal representatives are extracted deterministically from the BR-Reg roles API endpoint (/enheter/{id}/roller). The system uses a pre-computed mapping of 20 role type codes with explicit isLegalRepresentative flags. A two-pass algorithm handles board member classification.
Legal Representative Roles (9 codes)
Legal Representative Roles (9 codes)
| Code | Norwegian Name | English Translation | Mapped Role |
|---|---|---|---|
| DAGL | Daglig leder | Managing Director/CEO | Managing Director |
| LEDE | Styrets leder | Chairman/Chair of the Board | Chairman |
| NEST | Nestleder | Deputy Chairman/Deputy Chair | Deputy Chairman |
| INNH | Innehaver | Owner/Proprietor | Owner |
| BEST | Bestyrende reder | Managing Owner (Shipping) | Managing Owner |
| REPR | Norsk representant for utenlandsk enhet | Norwegian Representative for Foreign Entity | Representative |
| KOMP | Komplementar | General Partner | General Partner |
| DTSO | Deltaker med solidarisk ansvar | Partner with Joint and Several Liability | Partner |
| EIKM | Eierkommune | Owner Municipality | Owner Municipality |
Other Key Person Roles (8 codes)
Other Key Person Roles (8 codes)
| Code | Norwegian Name | English Translation | Mapped Role |
|---|---|---|---|
| MEDL | Styremedlem | Board Member | Board Member |
| VARA | Varamedlem | Deputy Board Member | Board Member |
| REVI | Revisor | Auditor | Auditor |
| OBS | Observator | Observer | Board Observer |
| FFOR | Forretningsforer | Business Manager | Business Manager |
| REGN | Regnskapsforer | Accountant | Accountant |
| DTPR | Deltaker med proratarisk ansvar | Partner with Pro Rata Liability | Partner |
| BOBE | Bostyrer | Bankruptcy Trustee/Administrator | Administrator |
Non-Relevant Roles (3 codes, excluded from output)
Non-Relevant Roles (3 codes, excluded from output)
| Code | Norwegian Name | English Translation | Notes |
|---|---|---|---|
| KONT | Kontaktperson | Contact Person | Not a key person |
| ADOS | Administrativ enhet - offentlig sektor | Administrative Unit - Public Sector | Not a key person |
| KDEB | Konkursdebitor | Bankruptcy Debtor | Not a key person |
Special Board Member Logic
The system implements a two-pass algorithm for board member classification:| Scenario | Classification | Notes |
|---|---|---|
Board member (MEDL) with signing authority | Legal Representative | Keywords: signatur, prokura, firmategn, alene |
| Single non-employee board member on the board | Legal Representative | Promoted to “Sole Board Member” when there is exactly 1 non-employee board member |
| Board member in multi-member board | Other Key Person | Standard classification |
| Employee representative board member | Other Key Person | Detected by valgtAv.kode === 'AREP' or employee-related keywords |
Role classification is fully deterministic using the pre-computed
ROLE_TYPES mapping. No AI inference is involved in determining whether a person is a legal representative or other key person. Only the English translation enrichment step uses AI (for standardized role mapping to Topograph enum).Shareholders
Shareholder data is not available from the BR-Reg API. The Norwegian business registry does not expose ownership or shareholder information through its public API.Unlike Denmark (which provides shareholder data via CVR) or the Netherlands (which extracts shareholder data from trade register extracts via AI parsing), Norway’s public registry API does not include any ownership data.
Other Key Persons
Other key persons include board members, auditors, accountants, business managers, and other non-executive roles. Both individual and corporate entities can hold these roles (e.g., an auditing firm asREVI).
Ultimate Beneficial Owners
UBO data is not available from the BR-Reg API. The Norwegian business registry does not expose beneficial ownership information through its public API endpoints.Activity Codes
Norway uses the SN2007 (Standard for naeringsgruppering) classification, which is the Norwegian implementation of NACE Rev. 2. Activity codes come directly from the BR-Reg API structured fields (naeringskode1, naeringskode2, naeringskode3).
| Classification | Source | Example | AI Inferred? |
|---|---|---|---|
| NACE | naeringskode1.kode (primary) | 62.010 | No (official from registry) |
| NACE | naeringskode2.kode (secondary) | 49.500 | No (official from registry) |
| NACE | naeringskode3.kode (tertiary) | 35.110 | No (official from registry) |
| ISIC | Derived from NACE via enrichActivities parser | 6201 | Sometimes |
AI Enrichment: NACE codes are never AI-inferred for Norway — they come directly from the registry as structured data. ISIC codes are derived from NACE via the
enrichActivities parser, which may use AI when formal mapping tables do not cover the specific code. Every activity item includes an isAIInferred flag.Data Availability
Data Availability Matrix
| Data Type | Commercial Companies | Sole Entrepreneurs | Non-Profits | Public Entities | Notes |
|---|---|---|---|---|---|
| Company Profile | ✅ Async | ✅ Async | ✅ Async | ✅ Async | Full data from BR-Reg API |
| Legal Representatives | ✅ | ✅ | ✅ | ✅ | Deterministic from roles API |
| Other Key Persons | ✅ | ⚠️ Limited | ✅ | ✅ | Board members, auditors, etc. |
| Shareholders | ❌ | ❌ | ❌ | ❌ | Not available from BR-Reg |
| Ultimate Beneficial Owners | ❌ | ❌ | ❌ | ❌ | Not available from BR-Reg |
| Establishments | ✅ | ✅ | ✅ | ✅ | From sub-entities (underenheter) |
| Activity Codes | ✅ | ✅ | ✅ | ✅ | NACE from naeringskode fields |
Documents
All Companies
| Document Type | API Category | Format | SKU | Availability | Notes |
|---|---|---|---|---|---|
| Enhetsutskrift (Trade Register Extract) | tradeRegisterExtract | NOR_REGISTER_EXTRACT | ✅ Always available | Official extract (~30 sec delivery) | |
| Arsregnskap (Annual Report) | financialStatements[] | NOR_ANNUAL_REPORT | ✅ When filed | Annual reports by fiscal year (~30 sec delivery) |
Trade Register Extract: The Enhetsutskrift is always available for any registered entity. It is retrieved from the official register and generated as a PDF with an estimated delivery time of ~30 seconds.
Annual Reports: Financial statements are listed by querying the
virksomhet.brreg.no endpoint for available financial years. Each year with an annual report generates a separate document entry with period information (start and end dates of the fiscal year). The document name follows the pattern Arsregnskap {year} (e.g., “Arsregnskap 2024”). Annual reports are fetched and cached permanently since they do not change once published.Example API Responses
All examples use placeholder data. Query:POST /company with { "id": "<id>", "countryCode": "NO", "dataPoints": ["companyProfile"] }
Active AS (Source: BR-Reg)
Active AS (Source: BR-Reg)
ENK Sole Proprietorship (Source: BR-Reg)
ENK Sole Proprietorship (Source: BR-Reg)
ENK) have the owner (Innehaver) as the only legal representative. No shareholders or board members are present.Closed Company -- Bankruptcy (Source: BR-Reg)
Closed Company -- Bankruptcy (Source: BR-Reg)
konkurs = true, status is CLOSED with closure reason BANKRUPTCY. A bankruptcy trustee (Bostyrer, code BOBE) may appear as an other key person.Non-Profit -- Association (Source: BR-Reg)
Non-Profit -- Association (Source: BR-Reg)
FLI) are retrieved from the same BR-Reg API as commercial companies. They may have board members, chairman, and auditors. No shareholders or UBOs.Available Documents (company example)
Available Documents (company example)
Documents are returned when
"dataPoints": ["availableDocuments"] is requested.| API Category | Document | Notes |
|---|---|---|
tradeRegisterExtract | Enhetsutskrift PDF | Always available (~30 sec) |
financialStatements[] | Arsregnskap (annual reports by year) | When filed, with period data |