Nordic Company Registry & Financials API (Norway, Finland) avatar

Nordic Company Registry & Financials API (Norway, Finland)

Pricing

from $6.00 / 1,000 company records

Go to Apify Store
Nordic Company Registry & Financials API (Norway, Finland)

Nordic Company Registry & Financials API (Norway, Finland)

Look up or search Norwegian & Finnish companies in the official registers. One clean record per company: status, address, NACE, employees, VAT, board & roles, financial key figures.

Pricing

from $6.00 / 1,000 company records

Rating

0.0

(0)

Developer

Niklas Bergström

Niklas Bergström

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Look up Norwegian and Finnish companies by organisation number or name, and get one clean, normalized JSON record per company, straight from the official government registers. No scraping, no API keys, no registration.

Each record includes:

  • legal name and former names
  • status (active, bankrupt, in liquidation, dissolved)
  • legal form
  • addresses
  • NACE/TOL industry codes
  • employees
  • VAT number
  • share capital
  • board and management roles
  • official annual-account key figures: revenue, operating profit, net income, total assets, equity and liabilities

Norway and Finland share one schema, so you can mix countries in a single run and get identical columns in JSON, CSV or Excel.

Coverage: Norway & Finland (Sweden coming).

CountryRegisterLookup by IDName searchRoles / boardFinancialsLicence
🇳🇴 NorwayBrønnøysundregistrene (Enhetsregisteret + Regnskapsregisteret)✅✅✅✅ key figures (latest filed year)NLOD 2.0
🇫🇮 FinlandPRH / YTJ open data + PRH XBRL financial statements✅✅❌ (not in open data)⚠️ filing index + XBRL document linksCC BY 4.0
🇸🇪 SwedenBolagsverket🔜 coming––––

What can I use it for?

  • KYC / KYB and supplier onboarding. Check that a company exists, is active and is not bankrupt or in liquidation, and get its VAT number.
  • CRM and lead enrichment. Turn a list of org numbers into addresses, industry codes, websites, employee counts and decision-makers.
  • Credit and risk screening. Pull revenue, profit, equity and total assets for Norwegian companies.
  • Market mapping. Search by name across both countries and build a list of companies in a niche.

How to use it

  1. Paste org numbers into Company IDs, or company names into Search by name.
  2. Turn on Include roles and/or Include financials if you need them.
  3. Click Start. Then download the results as JSON, CSV or Excel, or fetch them through the Apify API, from Make, Zapier or n8n, or with the Apify MCP server.

Input

FieldTypeDescription
companyIdsarray of stringsNorwegian org numbers (923609016) and/or Finnish Business IDs (0112038-9). The country is auto-detected and checksum-validated. Add a prefix to force a country: NO:923609016, FI:0112038-9.
searchQueriesarray of stringsCompany names to search for, e.g. "Kesko". Results are ranked: active companies first, then exact match, then prefix match.
countryAUTO / NO / FIRestricts IDs and searches to one country. AUTO detects the country of each ID and searches both Norway and Finland.
maxResultsPerQueryinteger (default 10)Maximum number of companies returned for each search query and country.
includeInactiveboolean (default true)Whether search results include dissolved or bankrupt companies.
includeRolesboolean (default false)Adds CEO, board, auditor, accountant and similar roles (Norway).
includeFinancialsboolean (default false)Adds annual-account key figures (Norway) or the XBRL filing index (Finland).
includeRawDataboolean (default false)Attaches the untouched register response under raw.
maxConcurrency / maxRetriesintegerTuning settings. The defaults are polite to the registers.
{
"companyIds": ["923609016", "0112038-9", "NO:914778271"],
"searchQueries": ["Kesko"],
"maxResultsPerQuery": 3,
"includeRoles": true,
"includeFinancials": true
}

Output

Every dataset item has recordType company or error. Dataset views are provided for Overview, Financials, Contacts and Errors.

Abridged example (Equinor ASA):

{
"recordType": "company",
"country": "NO",
"companyId": "923609016",
"vatNumber": "NO923609016MVA",
"name": "EQUINOR ASA",
"alternativeNames": ["Den norske stats oljeselskap a.s", "STATOIL ASA", "STATOILHYDRO ASA"],
"legalForm": { "code": "ASA", "description": "Allmennaksjeselskap" },
"status": "active",
"isActive": true,
"registrationDate": "1995-03-12",
"foundedDate": "1972-09-18",
"businessAddress": { "street": "Forusbeen 50", "postalCode": "4035", "city": "STAVANGER", "municipality": "STAVANGER", "countryCode": "NO" },
"industryCodes": [{ "code": "06.100", "description": "Utvinning av råolje", "scheme": "SN2025/NACE (Norway)", "primary": true }],
"employees": 21231,
"website": "www.equinor.com",
"shareCapital": { "amount": 5976872600.0, "currency": "NOK" },
"roles": [
{ "role": "Daglig leder", "roleCode": "DAGL", "roleGroup": "Daglig leder", "name": "Anders Opedal", "entityType": "person", "since": "2020-11-02" }
],
"financials": {
"available": true,
"latestFiledYear": "2025",
"currency": "USD",
"periodEnd": "2025-12-31",
"statementType": "company",
"keyFigures": {
"revenue": 67956000000.0, "operatingProfit": 5563000000.0, "profitBeforeTax": 6124000000.0,
"netIncome": 5731000000.0, "totalAssets": 103432000000.0, "equity": 39182000000.0,
"totalLiabilities": 64249000000.0, "cashAndBank": 17651000000.0
}
},
"sourceUrl": "https://virksomhet.brreg.no/nb/oppslag/enheter/923609016",
"license": "NLOD 2.0 (Norwegian Licence for Open Government Data)",
"fetchedAt": "2026-10-27T04:07:13Z"
}

status is always one of active, pending, restructuring, liquidation, bankrupt, dissolved or unknown. The register's own wording is kept in statusDetails.

Error items (errorType: invalid_id, not_found, needs_credentials, api_error) tell you exactly which inputs failed, so a run never fails silently.

Pricing (pay per event)

EventPriceWhen
company-record$0.006One company record delivered
financial-record$0.03Key figures included in a record (Norway)

Invalid IDs, IDs that don't exist in the register, Swedish IDs and API errors are free (you get an error item explaining why). Apify platform usage is included in the price.

The Actor respects your maximum cost per run. It checks the remaining budget before each record. When the budget cannot cover the financials, it delivers the record without key figures and does not charge for them. When the budget cannot cover the record itself, it stops cleanly.

Examples:

  • 1,000 companies with basic data cost $6.
  • 1,000 Norwegian companies with financial key figures cost $36.

Data sources and licences

Every record carries sourceName, sourceUrl and license, which makes attribution easy.

This Actor only uses official, keyless public APIs. It does not scrape websites. It rate-limits itself per host and retries with exponential backoff, honouring Retry-After.

Limitations

  • Finland:
    • Roles and board members are not part of PRH's open data; they are only available through PRH's paid Virre service, so roles is empty and rolesNote explains why.
    • Employee counts are not published.
    • Financials are returned as a list of filed XBRL statements with document links. Key figures are not parsed yet, so no financial-record charge applies.
    • Name search is a register text search. Very generic names may need a more specific query.
  • Norway: The open Regnskapsregisteret API returns the latest filed annual accounts only, not a multi-year history. Small companies and some company types (e.g. housing co-ops) may have no accounts.
  • Sweden: Coming in a future version. Swedish org numbers are recognised today and return a free needs_credentials item.
  • Denmark (CVR): Not supported.

Privacy / GDPR

Role holders are natural persons. This Actor exports only their name, role and start date, which is what the registers publish openly. It does not export birth dates, even where the register provides them.

You are responsible for having a lawful basis for processing personal data under GDPR (e.g. legitimate interest for KYB or B2B prospecting), and for honouring data-subject rights.

FAQ

How do I find the organisation number? Use searchQueries with the company name. Every result includes companyId.

Can I monitor companies for changes? Schedule the Actor and diff status, roles and financials.latestFiledYear between runs.

Is the data real-time? Yes. Every record is fetched live from the registers at run time (fetchedAt).