Norway assigns every registered entity a nine-digit organisasjonsnummer. The checksum catches most transcription mistakes before you even touch the register. Useful when you are reconciling offshore subsidiaries from an OCR-damaged invoice dump at 2am.
Brønnøysundregistrene is also one of the tidier European registers to query programmatically. Public records expose stable identifiers, filing metadata, address blocks, officer data. You are not forced through scanned PDFs for every lookup. After dealing with Polish KRS extracts or Russian выписка records from the FNS, the Norwegian system feels oddly practical.
OpenRegistry exposes live Brønnøysundregistrene data through MCP. Calls hit the official register directly rather than a scraped mirror or delayed export.
For newsroom investigations, the company name is usually the least interesting field. Structure matters more. Norwegian records often expose values such as:
organization_numbernameorganization_formregistration_datebusiness_addresspostal_addressstatusindustry_codeindustry_description
The raw jurisdiction_data payload keeps upstream Norwegian field names where possible. That helps during fact-checking. When another reporter asks where a value originated, you can point straight at the registry response instead of arguing over a vendor-normalised schema.
Officer records are where cross-border tracing starts to get useful. A typical get_officers call exposes directors and management roles tied to the organisasjonsnummer. Norwegian filings separate board structures from executive functions more clearly than several southern European systems. Role mapping becomes less fuzzy.
A basic MCP query looks like this:
{
"tool": "search_companies",
"arguments": {
"jurisdiction": "NO",
"query": "AKER ASA"
}
}
That returns candidate entities with organisation numbers. Once you have the identifier, you can request the full company profile:
{
"tool": "get_company_profile",
"arguments": {
"jurisdiction": "NO",
"company_number": "886581432"
}
}
For procurement investigations or sanctions reporting, the next move is often officer mapping:
{
"tool": "get_officers",
"arguments": {
"jurisdiction": "NO",
"company_number": "886581432"
}
}
This is where MCP starts fitting investigative workflows rather than basic compliance lookups. You can pivot from a Norwegian holding company into other jurisdictions exposed through the same server. OpenRegistry currently covers 27 registers, including Norway, Finland, Poland, the Cayman Islands, Russia, the UK, New Zealand. That cuts down the usual browser juggling and messy export handling.
The limits still matter.
Norway is comparatively open, though beneficial ownership visibility across Europe became uneven after the CJEU C-601/20 ruling. Several UBO registers moved behind AML-gated access or reduced public visibility altogether. OpenRegistry does not bypass those restrictions. If the upstream register blocks public access, the MCP layer cannot return the data.
Filing access has its own quirks. Some records are fully structured. Others point toward attached filing artefacts that still require manual reading. Teams accustomed to Companies House bulk JSON exports sometimes expect every register to behave identically. Brønnøysundregistrene is cleaner than most systems. Document interpretation still falls on the reporter.
Another operational detail matters during sensitive investigations: OpenRegistry returns raw upstream values instead of inferring ownership chains automatically. Less convenient at first glance. Then legal review starts.
Anyone who worked on Panama Papers reporting or OCCRP corporate tracing has seen bad entity resolution contaminate an entire graph. Two directors with similar transliterated names get merged together, then the mistake spreads through downstream analysis. Registry provenance takes longer to work with, though it is safer.
Norwegian records become more useful when combined with procurement disclosures or shipping data. I have seen reporters trace vessel-management structures by pivoting from AIS ownership hints into Norwegian entities, then checking board appointments against leaked correspondence. The register does not tell the whole story by itself. It gives you authoritative anchor points.
OpenRegistry does not store historical snapshots. Every request reflects the current state of Brønnøysundregistrene when the query runs. That helps during live reporting where directors resign mid-investigation or entities dissolve before publication. It also means you should archive your own evidence trail. Save response payloads. Keep filing references. Timestamp the records you rely on.
One operational detail is easy to miss: the anonymous OpenRegistry tier works without sign-up and allows 20 requests per minute per IP. For small newsroom projects or quick subsidiary checks, that is usually enough to validate a lead before wiring the register into internal tooling.
The MCP endpoint is available at openregistry.sophymarine.com/mcp for direct calls against the Norwegian register and the other supported jurisdictions.
Top comments (0)