GnistAI GnistAI
Log in

Getting Started with Brønnøysund (Brreg)

Norwegian business registry — company details, roles, and financial filings.

All Tutorials   |   Overview   |   Playground   |   MCP   |   REST API   |   Home
Legal

Data source: Brønnøysundregistrene

Overview

Brønnøysund (Brreg) wraps Brønnøysundregistrene, handling authentication, pagination, and rate limits for you. This tutorial covers all 6 tools with working code examples you can copy and run.

Prerequisites

  1. Sign up at https://context.gnist.ai/signup for a free API key (100 calls/day).
  2. Choose your integration method: MCP protocol or REST API.

Connect via MCP

Add to your MCP client config (Claude Desktop, Cursor, etc.):

MCP Config
{
  "mcpServers": {
    "gnist-brreg": {
      "url": "https://context.gnist.ai/mcp/brreg/",
      "headers": {
        "Gnist-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Tools (6)

lookup_brreg_company

Look up a Norwegian company by its 9-digit organisation number. Returns full company record including legal form, industry code, address, employee count, registration date, and VAT/bankruptcy status. Args: org_number: Norwegian org number — 9 digits, with or without spaces/dashes (e.g. "923609016", "923 609 016"). Returns: Company record, or {"error": "not_found"} if the org number is unknown.

ParameterTypeRequiredDescription
org_numberstringrequiredNorwegian org number — 9 digits, with or without spaces/dashes (e.g. "923609016", "923 609 016").
curl -X POST "https://context.gnist.ai/mcp/brreg/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "lookup_brreg_company", "arguments": {"org_number": "923609016"}}}'
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/brreg/",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={'id': 1,
 'jsonrpc': '2.0',
 'method': 'tools/call',
 'params': {'arguments': {'org_number': '923609016'},
            'name': 'lookup_brreg_company'}},
)
print(resp.json())

search_brreg_companies

Search the Norwegian Business Registry by name and/or attributes. At least one filter parameter must be provided. Args: name: Company name or partial name to search for (case-insensitive). municipality_code: 4-digit Norwegian municipality code (kommunenummer), e.g. "0301" for Oslo. industry_code: NACE industry code, e.g. "62.010" for software development. legal_form: Legal form code, e.g. "AS" (private limited), "ASA" (public limited), "ENK" (sole trader), "DA" (general partnership). max_results: Maximum number of results to return (1–50, default 10). Returns: Object with count and list of matching company records.

ParameterTypeRequiredDescription
nameanyoptionalCompany name or partial name to search for (case-insensitive).
municipality_codeanyoptional4-digit Norwegian municipality code (kommunenummer), e.g. "0301" for Oslo.
industry_codeanyoptionalNACE industry code, e.g. "62.010" for software development.
legal_formanyoptionalLegal form code, e.g. "AS" (private limited), "ASA" (public limited), "ENK" (sole trader), "DA" (general partnership).
max_resultsintegeroptionalMaximum number of results to return (1–50, default 10). (default: 10)
curl -X POST "https://context.gnist.ai/mcp/brreg/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_brreg_companies", "arguments": {"name": "example"}}}'
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/brreg/",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={'id': 1,
 'jsonrpc': '2.0',
 'method': 'tools/call',
 'params': {'arguments': {'name': 'example'}, 'name': 'search_brreg_companies'}},
)
print(resp.json())

get_brreg_company_roles

Get the leadership roles for a Norwegian company. Returns board members, CEO, signatories, and other registered roles with person names and role types. Args: org_number: Norwegian org number — 9 digits, with or without spaces/dashes. Returns: Object with count and list of roles, each with role_type, person_name, birth_year (if available), and entity details for corporate roles.

ParameterTypeRequiredDescription
org_numberstringrequiredNorwegian org number — 9 digits, with or without spaces/dashes.
curl -X POST "https://context.gnist.ai/mcp/brreg/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_brreg_company_roles", "arguments": {"org_number": "12345"}}}'
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/brreg/",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={'id': 1,
 'jsonrpc': '2.0',
 'method': 'tools/call',
 'params': {'arguments': {'org_number': '12345'},
            'name': 'get_brreg_company_roles'}},
)
print(resp.json())

get_brreg_subsidiaries

Get direct subsidiaries of a Norwegian company. Finds all companies registered with the given org number as their parent entity (overordnetEnhet). Args: org_number: Norwegian org number of the parent company. max_results: Maximum number of subsidiaries to return (1–50, default 50). Returns: Object with count and list of subsidiary company records.

ParameterTypeRequiredDescription
org_numberstringrequiredNorwegian org number of the parent company.
max_resultsintegeroptionalMaximum number of subsidiaries to return (1–50, default 50). (default: 50)
curl -X POST "https://context.gnist.ai/mcp/brreg/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_brreg_subsidiaries", "arguments": {"org_number": "12345"}}}'
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/brreg/",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={'id': 1,
 'jsonrpc': '2.0',
 'method': 'tools/call',
 'params': {'arguments': {'org_number': '12345'},
            'name': 'get_brreg_subsidiaries'}},
)
print(resp.json())

get_brreg_recent_changes

Get recent changes to monitored Norwegian companies. Returns field-level diffs (before/after values) for companies whose registry data changed since the given timestamp. Only companies on the configured watchlist are tracked. Args: since: ISO 8601 timestamp — return changes captured after this time. limit: Maximum number of changes to return (1–100, default 50). Returns: Object with count and list of change records, each containing entity_id, changed_at timestamp, and a list of field changes with before/after values.

ParameterTypeRequiredDescription
sincestringrequiredISO 8601 timestamp — return changes captured after this time (e.g. "2026-04-01T00:00:00Z").
limitintegeroptionalMaximum number of changes to return (1–100, default 50). (default: 50)
curl -X POST "https://context.gnist.ai/mcp/brreg/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_brreg_recent_changes", "arguments": {"since": "2026-04-01T00:00:00Z"}}}'
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/brreg/",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={'id': 1,
 'jsonrpc': '2.0',
 'method': 'tools/call',
 'params': {'arguments': {'since': '2026-04-01T00:00:00Z'},
            'name': 'get_brreg_recent_changes'}},
)
print(resp.json())

report_feedback

Report a bug, feature request, or general feedback for this data source. Use this when something doesn't work as expected, when you'd like a new feature, or when you have suggestions for improvement. Args: feedback: Describe the issue or suggestion. feedback_type: One of 'bug', 'feature_request', or 'general'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (default: general)
curl -X POST "https://context.gnist.ai/mcp/brreg/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "report_feedback", "arguments": {"feedback": "example"}}}'
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/brreg/",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={'id': 1,
 'jsonrpc': '2.0',
 'method': 'tools/call',
 'params': {'arguments': {'feedback': 'example'}, 'name': 'report_feedback'}},
)
print(resp.json())

Common Patterns

Search then retrieve
Use search_brreg_companies to find items, then lookup_brreg_company to get full details. This two-step pattern is common for exploring data before drilling down.
Pagination
Several tools support limit, offset, or page parameters. Start with small limits during development, then increase for production queries.

FAQ

What data does Brønnøysund (Brreg) provide?

Norwegian business registry — company details, roles, and financial filings. It exposes 6 tools: lookup_brreg_company, search_brreg_companies, get_brreg_company_roles, get_brreg_subsidiaries, get_brreg_recent_changes, report_feedback.

What do I need to get started?

A Gnist API key (free tier: 100 calls/day). Sign up at https://context.gnist.ai/signup.

What format does the Brønnøysund (Brreg) API return?

JSON, via either MCP protocol (JSON-RPC 2.0) or REST API.

Next Steps

Related Tutorials