orakel
Docs navigation

Canonical

Aksjonærregisteret

Shareholder ownership for Norwegian AS/ASA companies — who owns what, annual snapshot.

Updated 2026-04-21

Source: Aksjonærregisteret (Skatteetaten — Norwegian Tax Administration) Data: Shareholders and ownership percentages for AS/ASA companies License: NLOD 2.0 (Norwegian Licence for Open Government Data) Attribution required: Yes — credit "Skatteetaten / Aksjonærregisteret" Link: https://www.skatteetaten.no/skjema/aksjonaerregisteret/ Update cadence: Annual snapshot, typically released March/April for the previous fiscal year

What it is

Aksjonærregisteret is the official shareholder register for Norwegian AS and ASA companies, maintained by the Norwegian Tax Administration. Each row records one shareholder position in one company at the snapshot date: the shareholder identity, the share class, and the number of shares held.

Orakel ingests the annual CSV release from Skatteetaten. The register is useful for group-structure analysis (who owns the parent of a group), beneficial-ownership mapping, and M&A research. See the GDPR section below for how personal-data obligations shape what Orakel stores and exposes.

Fields provided

Field Type Notes
orgNumber string Investee company. Part of the composite key (country, orgNumber).
shareholderName string Shareholder display name (person or entity)
shareholderOrgNumber string 9-digit org number when the shareholder is a Norwegian entity; null for natural persons and foreign entities
shareholderType string "person" | "company" | "foreign"
postalCode / location string Stored only for entity shareholders (not natural persons) — see GDPR section
shareClass string e.g. A, B, ORDINÆR
shareCount bigint Shares held in this class
totalSharesInCompany bigint Total outstanding shares of this class for the company at snapshot, when supplied by the source
year int Snapshot year
ownershipPct float Computed at read time: shareCount / totalSharesInCompany × 100, to two decimals

Unique key: (country, orgNumber, shareholderName, shareClass, year).

GDPR & personal data

This source contains personal data. Natural-person shareholders are identified by name; the register also carries birth year and postal area at source. Orakel's data-minimisation policy, documented in the full GDPR assessment, shapes what we store and return.

Legal basis. Processing is lawful under GDPR Art. 6(1)(f) — legitimate interest. The interest balancing test rests on four facts: the data is already publicly available via Skatteetaten, Orakel operates a B2B information service, Norwegian shareholders have a reasonable expectation that AS/ASA ownership is public, and the processing is in line with what established peers (Proff.no, Enin.ai, Bisnode) already do with the same source.

What Orakel stores.

  • Shareholder name, share class, share count, snapshot year — for all shareholder types.
  • postalCode and location — only for entity shareholders, never for natural persons.
  • Birth date / fødselsnummer — never stored. Filtered out at CSV import.

What Orakel returns.

  • GET /api/companies/:orgNumber/shareholders hides natural-person rows by default. They are returned only when the caller sets ?includePersons=true.
  • All API traffic requires an authenticated key. There is no public web UI.

Retention. Snapshots older than three years are deleted when a new annual import completes. CSV source files are deleted after successful import. Backups rotate at 30 days.

Data-subject rights. Requests for access, rectification, erasure, or objection go to hello@orakel.cloud and are handled within 30 days. Rectification of source data is referred back to Skatteetaten. Erasure requests are assessed individually — because the underlying data is public, erasure may be refused where the legitimate interest balance still holds, and refusal is documented.

Endpoints that surface this data

  • GET /api/companies/:orgNumber/shareholders — shareholders of the given company for one or more snapshot years. Returns { data, availableYears }. Natural persons hidden unless includePersons=true is passed. Optional year parameter.
  • GET /api/shareholders/by-owner?shareholderOrgNumber=<9-digit> — reverse lookup: every company a given entity owns shares in, sorted by share count. Optional year parameter. Entity shareholders only.

Limitations

  • AS and ASA only. Sole proprietorships, foundations, associations, and municipal entities are not in scope.
  • Annual snapshot. Intra-year changes (secondary transactions, new issuances) aren't captured until the next release.
  • The raw feed can collapse small positions (<1%) into aggregate rows for large companies. Orakel imports what Skatteetaten publishes and does not reconstruct these.

Gotchas

  • Foreign entity shareholders have no Norwegian orgNumber. They are stored with shareholderOrgNumber = null and shareholderType = "foreign" — match on shareholderName if you need to aggregate.
  • Natural persons are identified publicly by name + postal area + birth year at source. Orakel's public shape is narrower — name only — which matches the privacy-preserving defaults above.
  • ownershipPct uses totalSharesInCompany from the source where present; when it's missing Orakel falls back to the sum of stored positions for that (year, shareClass). The fallback can understate the denominator if small positions have been collapsed upstream.
  • Snapshot dates differ between the Skatteetaten release year and the fiscal year it refers to. year in Orakel is the fiscal year the snapshot describes.