The registered roles of a Norwegian legal entity: CEO, board chair and members, auditor, accountant and others, each with role group and type, person or entity name, organisation number for entities, whether the role is deregistered or resigned, and order. Filter by role group or active roles only. Birth dates are left out.
Every response includes credits_used: the credits this call cost.
Parameters
name
type
description
org_numberrequired
string
Organisation number (9 digits). Example: 923609016
group
string
Role group codes, comma-separated (e.g. DAGL CEO, STYR board, REVI auditor, REGN accountant).
active
boolean
true: only current roles; false: only deregistered or resigned roles.
import os, requests
res = requests.get(
"https://api.api.sh/brreg/v1/roles",
params={"org_number": "923609016"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json()
const url = new URL("https://api.api.sh/brreg/v1/roles");
url.searchParams.set("org_number", "923609016");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json();
Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).
The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.