Skip to content

COMPANY API

Companies

Companies by organisation number, on the same keys, grants and allowance as the address API. Looking up a company counts as one lookup per day, like an address; search is free. A grant names company sections as company:<section>. Entries that are, or may be, a person are withheld.
API version
0.4.0
Endpoints
4
Sections
17
Contents

Endpoints

https://api.approach.no/api/v1/companies · OpenAPI contract

GET

/catalog

no key required

Discover versioned section and field contracts.

Takes no parameters.

Responses and error codes

HTTPMeaningCodes in the body
200Section catalog—
GET

/{id}

Get all granted sections.

Parameters

NameTypeBounds and defaultDescription
id
path · required
string^[0-9]{9}$Nine-digit organisasjonsnummer
sections
query
string—Comma-separated section ids from /catalog
limit
query
integer1–500
default 50
—
meta
query
boolean—
default true
false drops each section's source.fields block, which repeats the field contract /catalog serves once; the records, status, warnings and withheld_fields are unchanged.

Responses and error codes

GET

/{id}/sections/{section}

Get one section with pagination.

Parameters

NameTypeBounds and defaultDescription
id
path · required
string^[0-9]{9}$Nine-digit organisasjonsnummer
section
path · required
stringidentity | accounts | ownership | roles | distress | aquaculture | electrician_registration | central_approval | events | default_events | tenders_issued | tenders_won | history | locations | rd_projects | news | industry_news—
cursor
query
string——
limit
query
integer1–500
default 50
—
meta
query
boolean—
default true
false drops each section's source.fields block, which repeats the field contract /catalog serves once; the records, status, warnings and withheld_fields are unchanged.

Responses and error codes

Sections

Titles, sources and caveats are as the contract writes them.

IdTitle and sourceDetails
identityWhat the company register says this company is
Brreg Enhetsregisteret
Caveats
  • Registered facts, not a verification of trading activity: a company can be registered and dormant. employees is what the company last reported to the register, which lags reality and is often absent for small companies.
  • industry_code is the main NACE code; industry_code_2 and _3 are the further ones the register lists. sector_code is the institutional sector (institusjonellSektorkode). share_capital is in share_capital_currency. registered_in_* say whether the entity is in the VAT register, Foretaksregisteret and Frivillighetsregisteret. is_in_group is the register's erIKonsern; parent_org_number is overordnetEnhet, the unit an entity sits under in the public sector, not a corporate parent. last_submitted_accounts_year is the latest year the company has filed accounts for; audit_opt_out_date is the day it opted out of statutory audit. historical_names lists earlier names, each with valid_from and valid_to. purpose is what the articles state; activity is what the entity says it does.
  • For a sole proprietorship (enkeltpersonforetak) and other register entries that are, or may be, a natural person (is_natural_person true), street_address, homepage, historical_names, purpose and activity are withheld in every access level, and the section says so in restricted_reason natural_person and withheld_fields: the registered address of such an entry is often the owner's home. The name, kommune and postal code are kept: the name is the subject's registered name, and a kommune or postal code spans many households.
40 fields · company
accountsAnnual accounts as filed with Regnskapsregisteret
Brreg Regnskapsregisteret
Caveats
  • Currency is the one the company reports in and is not always NOK, so figures from different companies are not addable without converting them. The register publishes only the latest approved filing, from the 2018 accounting year onward, so earlier years appear only if we had already stored them. Banks, insurers and group accounts are excluded by the register itself, and a company with no row here may simply not be accounting-obliged.
  • Every expected filer is re-asked at least every 25 days and every year served is kept: first_seen_at is when we first held the year, last_seen_at when the register last served it (older years stop advancing once a newer filing replaces them at the source). restatement_count counts the times the register served different figures or a different filing for the same year after we stored it; the figures shown are the latest.
36 fields · company
ownershipHow the shareholding is spread, by fiscal year
Skatteetaten aksjonærregisteret, aggregated by Approach
Caveats
  • Counts and concentration only; the section never names a shareholder. hhi is the Herfindahl index over ownership shares, where 0.25 and above reads as concentrated. Nationality is inferred from the shareholder's postal code, so a Norwegian address held by a foreign owner counts as Norwegian. A company whose register entry states a share total the holdings contradict is measured against the larger of the two.
14 fields · company
rolesBoard and management roles the register publishes
Brreg Enhetsregisteret roller
Caveats
  • Counts by role, and names only the companies that hold a role, as the array corporate_holder_names. Natural persons are counted, never named. A resigned role is excluded from the counts but the row remains while the register keeps it.
10 fields · company
distressBankruptcy and winding-up as recorded in the register, current and past
Brreg Enhetsregisteret
Caveats
  • A registered status, never a judgement about the business. No current record here means the register holds no such status for this company today; it is not evidence of financial health, and it says nothing about proceedings that have not reached the register.
  • status_type is konkurs, under_avvikling or under_tvangsavvikling (forced dissolution or winding-up). status_date is the register's own date for the status; announced_date is the opening announcement's date, falling back to status_date. A status that has cleared is kept with is_current false: it cleared between last_seen_at and cleared_at. under_tvangsavvikling is tracked from 30 Sep 2026 and cleared statuses from the same day; earlier ones are in default_events where an announcement recorded them.
  • Sole proprietorships (enkeltpersonforetak) and other register entries that are, or may be, a natural person are withheld whole: the section answers restricted, with error withheld_natural_person and no records, because what the section holds about such an entry is about a person. A foreign enterprise registered in Norway (NUF), a foreign entity (UTLA) or a bankruptcy estate (KBO) has no legal form in the register that rules a person out, so it is served only when its name ends in the designator of a legal person (Ltd, GmbH, AB, ApS, B.V., S.A., AS and the like) or begins with UAB or SIA; any other is withheld the same way, including companies whose name carries no designator or only a bare SA, SE, DA, BA, MB or OU, which are also words in personal names. Partnerships whose partners are personally liable (ANS, DA, KS, partrederi, sameie) are served: what is held is the partnership's, under its own organisasjonsnummer. Only organisasjonsnumre in the current company register are answered, so an entity deleted from it returns company_not_found even where the source still holds records for it. A restricted answer says nothing about whether anything was announced.
17 fields · company
aquacultureAquaculture licences held, with permitted biomass
Fiskeridirektoratet Akvakulturregisteret
Caveats
  • Capacity is permitted biomass, not what is standing in the sea, and the unit travels with it because the register mixes tonnes with counts of fish. A licence held by a private person carries no organisasjonsnummer in the source and cannot appear here. locality_nr is the key to fish health, lice counts and escapes, which are published per locality.
22 fields · company
electrician_registrationElectrical-business entries in the collected DSB register
DSB Elvirksomhetsregisteret
Caveats
  • A row is a match in our saved public export, not a live authorisation or approval check. Read status, tasks, facility_types and fetched_at together; do not infer what a non-Aktiv status will become. No row means no match in this snapshot: it does not establish unlawful work or whether registration is required. Successful collection replaces the snapshot; failures retain older data. Registration does not prove that this company worked at an address or that a particular job complies with requirements. electricians_count_range is the source's band (for example 1-5), not an exact count. Check current status and applicable work scope with DSB: https://elvirksomhetsregisteret.dsb.no/
15 fields · company
central_approvalCentral approval for building work (DiBK sentral godkjenning)
DiBK Sentral godkjenning (register of centrally approved enterprises, saved copy)
Caveats
  • A row is a match in our saved copy of DiBK's register, not a live check. approved says whether the central approval was valid in the copy, approval_period_to until when, and valid_approval_areas what it covers: each entry is a function (for example responsible design or execution), a subject area and a grade, as DiBK publishes them. Check current status and scope with DiBK before relying on an approval (https://sgregister.dibk.no/).
  • No row does not mean the enterprise is unapproved: it may hold no central approval and rely on the kommune's local approval, which this register does not cover, or it may be a sole trader (enkeltpersonforetak, left out because the entry is a person) or not matched in Enhetsregisteret. A successful collection replaces the copy whole, so an enterprise that lost its approval disappears at the next run; a failed collection keeps the older copy.
  • Contact details, postal address and website in DiBK's register are not served. Licence: DiBK publishes the register on a public site with no stated licence; confirm DiBK's terms before redistributing it in bulk. Attribution: Direktoratet for byggkvalitet (DiBK).
10 fields · company
eventsWhat Brønnøysund has announced about the company, newest first
Brreg kunngjøringer
Caveats
  • The kind of event and the day it was announced, never the announcement text: the text names board members, auditors, debtors and dates of birth. source_url is the register's own page for the announcement, where Brønnøysund publishes the full text.
  • Sole proprietorships (enkeltpersonforetak) and other register entries that are, or may be, a natural person are withheld whole: the section answers restricted, with error withheld_natural_person and no records, because what the section holds about such an entry is about a person. A foreign enterprise registered in Norway (NUF), a foreign entity (UTLA) or a bankruptcy estate (KBO) has no legal form in the register that rules a person out, so it is served only when its name ends in the designator of a legal person (Ltd, GmbH, AB, ApS, B.V., S.A., AS and the like) or begins with UAB or SIA; any other is withheld the same way, including companies whose name carries no designator or only a bare SA, SE, DA, BA, MB or OU, which are also words in personal names. Partnerships whose partners are personally liable (ANS, DA, KS, partrederi, sameie) are served: what is held is the partnership's, under its own organisasjonsnummer. Only organisasjonsnumre in the current company register are answered, so an entity deleted from it returns company_not_found even where the source still holds records for it. A restricted answer says nothing about whether anything was announced.
  • event_type is the register's own wording, kept verbatim; event_category is Approach's grouping of it: konkurs, tvangsavvikling, gjeldsforhandling, sletting, fusjon, fisjon, kapital, regnskap, styre, adresse, nyregistrering, formål, rettelse or annet. A correction arrives as a new event of its own, never as an edit of the earlier one.
  • Coverage runs from 2000, read one announcement day at a time. ledger_read_at is how far the ledger is known to be whole: every day before it was read in full after the day had ended, so an announcement published after it may not be here yet. A day in the last 60 that is not fully read holds it at that day's start, and freshness turns stale once that is more than three days ago. court and court_case_number are filled only where the announcement named them, mostly bankruptcy, dissolution and debt-negotiation announcements, and are empty for most older ones; court is served only when it reads as a court's name.
9 fields · company
default_eventsDated history of bankruptcy, forced dissolution and winding-up
Brreg kunngjøringer and Enhetsregisteret
Caveats
  • event_type: konkurs_opened, konkurs_amended, konkurs_resumed, konkurs_closed, tvangsopplosning_notice, tvangsopplosning, tvangsopplosning_lifted, tvangsavvikling, avvikling, avvikling_reversed, rekonstruksjon_opened/amended/confirmed, tvangsakkord_opened/closed from announcements (source kunngjoring, event_date = the day announced, announcement_type verbatim); and konkurs_flag_set/cleared, avvikling_flag_set/cleared, tvangsavvikling_flag_set/cleared from the register (source enhetsregisteret). A register flag event is dated the day it was seen when the previous sighting was at most two days earlier, otherwise event_date is empty: it changed some time before observed_on.
  • Announcements cover what the ledger holds from 2000; register flag transitions are recorded from 30 Sep 2026. An event is a registered fact, never a judgement, and no event is not evidence of financial health.
  • Sole proprietorships (enkeltpersonforetak) and other register entries that are, or may be, a natural person are withheld whole: the section answers restricted, with error withheld_natural_person and no records, because what the section holds about such an entry is about a person. A foreign enterprise registered in Norway (NUF), a foreign entity (UTLA) or a bankruptcy estate (KBO) has no legal form in the register that rules a person out, so it is served only when its name ends in the designator of a legal person (Ltd, GmbH, AB, ApS, B.V., S.A., AS and the like) or begins with UAB or SIA; any other is withheld the same way, including companies whose name carries no designator or only a bare SA, SE, DA, BA, MB or OU, which are also words in personal names. Partnerships whose partners are personally liable (ANS, DA, KS, partrederi, sameie) are served: what is held is the partnership's, under its own organisasjonsnummer. Only organisasjonsnumre in the current company register are answered, so an entity deleted from it returns company_not_found even where the source still holds records for it. A restricted answer says nothing about whether anything was announced.
11 fields · company
tenders_issuedPublic tenders the company issued as buyer, newest first
Doffin (DFØ, NLOD 2.0)
Caveats
  • Every notice Doffin holds from 2017 that names this organisasjonsnummer as a buyer or co-buyer, including the below-threshold notices TED never carries; a notice Doffin forwarded to TED is here once, with ted_publication_number naming the TED copy. Only public buyers publish in Doffin, so most companies have no record here and that says nothing about them.
  • notice_class reads the notice's own type: announcement (a competition), intention, planning, award, contract_change or award_cancelled. An award is a notice of its own and never replaces the announcement it follows; procedure_id ties them together where the notice page has been read. winners counts the winners the award names and never names them. estimated_value is the buyer's estimate in the currency stated, excluding VAT. nuts_codes place the work at county level at best.
20 fields · company · NLOD 2.0 (DFØ, Doffin)
tenders_wonPublic contracts the company was awarded, newest first
Doffin (DFØ, NLOD 2.0)
Caveats
  • Award notices in Doffin that name this organisasjonsnummer as a winner. A winner is matched on the organisasjonsnummer the notice publishes: an award that names the winner only by name, and awards whose notice page has not yet been read, are absent, so no record here does not mean the company won nothing. estimated_value is the buyer's estimate for the procedure or lot, not the contract's value to this winner; lot_ids names the lots won where the notice says. announcement_notice_id is the competition the award follows where Doffin's procedure timeline names it.
  • Sole proprietorships (enkeltpersonforetak) and other register entries that are, or may be, a natural person are withheld whole: the section answers restricted, with error withheld_natural_person and no records, because a contract won by such an entry is a person's income. A restricted answer says nothing about whether anything was won.
18 fields · company · NLOD 2.0 (DFØ, Doffin)
historyHow the register entry has changed over time, newest first
Brreg Enhetsregisteret, versions recorded by Approach
Caveats
  • One record per state of the register entry we have recorded: a new version is written when the name, legal form, status, main industry, employees, business or postal address, founding, dissolution or deletion date or a bankruptcy or winding-up flag changes. valid_from is when we first saw the state and valid_to when we saw it replaced (empty for the current one); they are our observation times, not the register's own dates. Recording began in Sep 2026, so earlier changes are not here; for earlier names see identity.historical_names.
  • change_kind backfill is the state when recording began, or the first sighting of an entity registered more than 30 days earlier; first_seen is a newly registered entity; changed is a change we saw. changed_fields names what differs from the previous version (empty for the first). A version recorded while the entity had a person's legal form (an enkeltpersonforetak later converted) has name and street_address withheld and natural_person_version true.
  • Sole proprietorships (enkeltpersonforetak) and other register entries that are, or may be, a natural person are withheld whole: the section answers restricted, with error withheld_natural_person and no records, because what the section holds about such an entry is about a person. A foreign enterprise registered in Norway (NUF), a foreign entity (UTLA) or a bankruptcy estate (KBO) has no legal form in the register that rules a person out, so it is served only when its name ends in the designator of a legal person (Ltd, GmbH, AB, ApS, B.V., S.A., AS and the like) or begins with UAB or SIA; any other is withheld the same way, including companies whose name carries no designator or only a bare SA, SE, DA, BA, MB or OU, which are also words in personal names. Partnerships whose partners are personally liable (ANS, DA, KS, partrederi, sameie) are served: what is held is the partnership's, under its own organisasjonsnummer. Only organisasjonsnumre in the current company register are answered, so an entity deleted from it returns company_not_found even where the source still holds records for it. A restricted answer says nothing about whether anything was announced.
24 fields · company
locationsWhere the registered business address sits in the address register
Brreg Enhetsregisteret matched to Kartverket's address register by Approach
Caveats
  • The registered business address (forretningsadresse) matched to one address in the address register, by street, number and postal code; address_id is the key the Address API answers on (address_api_path). match_method exact_street_number is a match; unmatched means the address did not resolve to one address and address_id is empty. Only the business address is matched: a company's other premises, branches (underenheter) and postal address are not here.
  • Sole proprietorships (enkeltpersonforetak) and other register entries that are, or may be, a natural person are withheld whole: the section answers restricted, with error withheld_natural_person and no records, because what the section holds about such an entry is about a person. A foreign enterprise registered in Norway (NUF), a foreign entity (UTLA) or a bankruptcy estate (KBO) has no legal form in the register that rules a person out, so it is served only when its name ends in the designator of a legal person (Ltd, GmbH, AB, ApS, B.V., S.A., AS and the like) or begins with UAB or SIA; any other is withheld the same way, including companies whose name carries no designator or only a bare SA, SE, DA, BA, MB or OU, which are also words in personal names. Partnerships whose partners are personally liable (ANS, DA, KS, partrederi, sameie) are served: what is held is the partnership's, under its own organisasjonsnummer. Only organisasjonsnumre in the current company register are answered, so an entity deleted from it returns company_not_found even where the source still holds records for it. A restricted answer says nothing about whether anything was announced.
7 fields · company
rd_projectsResearch and innovation projects funded or applied for at the Research Council
Forskningsrådet prosjektbanken (NLOD)
Caveats
  • Projects the Research Council of Norway lists with this organisasjonsnummer as the project owner, applications that were declined included: project_phase says which (Bevilgning, Avsluttet, Mottatt, Avslag). Amounts are NOK; amount_awarded is empty where nothing was awarded. Only the Research Council's own portfolio: SkatteFUNN, Innovasjon Norge and EU funding are not here. Refreshed quarterly.
  • The project leader is never served: it names a person. Sole proprietorships and other register entries that are, or may be, a natural person are withheld whole: the section answers restricted, with error withheld_natural_person, restricted_reason natural_person and no records, because a grant to such an entry is a person's income.
23 fields · company · NLOD (Forskningsrådet)
newsWhat the news and Oslo Børs said about the company in the last 90 days
News articles (E24, NRK, Aftenposten, VG, TU, Digi, Google News) and Oslo Børs NewsWeb, linked by Approach
Caveats
  • Headline, source, publication time and link only, plus Approach's own derived values: event type, sentiment and how the company was identified. The article itself is the publisher's; follow url to read it. Descriptions, summaries, article text and the people an article names are never served.
  • record_type is news_mention for editorial news and stock_notice for a regulatory notice the company published on Oslo Børs NewsWeb; NewsWeb notices are linked to their issuer by the exchange's own ticker or issuer name.
  • A news article is tied to the company only when the name our analysis read out of it names this one register entry: short or generic names (under five characters, words like Nordic, Viking, Norge, Energi) are refused, and so is a name two register entries or two listed companies share. confidence is high for a ticker, the exchange's issuer name or an exact legal name with its suffix, and medium for a listed company's short name or a registered name without a suffix; both measured at least 95 % precise on a hand-judged sample. The link says the article names the company; it is not a judgement that the story is mainly about it.
  • Coverage is not completeness. An article is linked only after our analysis has read the companies out of it, and articles not yet analysed carry no mentions, so no record here does not mean the press said nothing. The register copy we match against lacks some companies, whose news therefore cannot be linked.
  • sentiment runs from -1 to 1 and is ours, not the publisher's: toward this company where the analysis gave one (sentiment_scope company), otherwise the article's overall tone (article). Stock notices carry none. month_mentions, month_notices and month_avg_sentiment are the whole month's figures within the 90 days, and mentions_90d, notices_90d and avg_sentiment_90d the window's, on every record, so the first page carries the trend.
20 fields · company
industry_newsRecent news from the company's industry, last 30 days
News articles tagged by industry and Oslo Børs NewsWeb notices from companies in the same NACE division, linked by Approach
Caveats
  • Headline, source, publication time and link only, plus Approach's own derived values: event type, sentiment and how the company was identified. The article itself is the publisher's; follow url to read it. Descriptions, summaries, article text and the people an article names are never served.
  • The industry is the NACE division of the company's registered industry_code. industry_news is an article whose sector or industry tag maps to that division in Approach's published mapping (enriched.news_industry_nace); matched_tags says which. peer_stock_notice is an Oslo Børs notice from another company in the same division, named by issuer_org_number; interest rate adjustments are left out.
  • Tags come from our analysis of each article and are broad: a division inside a large tag (finance, manufacturing, public sector) gets that tag's news as a whole. A company with no industry_code, or one in a division no tag maps to, has no industry news. Articles not yet analysed carry no tags.
13 fields · company