Regnskapstall APIregnskapstall.no ↗
Access Norwegian company financials, ownership, board roles, announcements, and competitors via the Regnskapstall.no API. 7 endpoints, up to 6 years of data.
What is the Regnskapstall API?
The Regnskapstall.no API provides 7 endpoints covering Norwegian company financial statements, ownership structure, leadership roles, registry announcements, and industry peers. Starting with search_companies to resolve a company name or organization number to a slug, you can then pull up to six years of income statement and balance sheet data, shareholder percentages, board composition, and official Brønnøysundregistrene announcements for any registered Norwegian entity.
curl -X GET 'https://api.parse.bot/scraper/ff43b56e-1e72-452b-a0d1-4c391b8bc9f6/search_companies?query=Equinor' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace regnskapstall-no-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Regnskapstall.no SDK — Norwegian company financial data lookup."""
from parse_apis.regnskapstall_no_api import Regnskapstall, FinancialView, CompanyNotFound
client = Regnskapstall()
# Search for companies by name — limit caps total items returned.
for company in client.companysummaries.search(query="Equinor", limit=3):
print(company.name, company.organization_number, company.has_finance)
# Drill into one result: get full overview via .details()
summary = client.companysummaries.search(query="Equinor", limit=1).first()
if summary:
detail = summary.details()
print(detail.name, detail.official_info, detail.key_roles)
# Constructible access: fetch financials directly by known slug.
equinor = client.companies.get(slug="equinor-asa-100133055S4")
stmt = equinor.financials.get(view=FinancialView.STANDALONE)
print(stmt.sections)
# Instance method: roles and ownership
info = equinor.roles_and_owners()
for role in info.roles[:3]:
print(role.role, role.name)
for owner in info.owners[:3]:
print(owner.name, owner.share)
# Sub-resource iteration: competitors (bounded)
for comp in equinor.competitors.list(limit=5):
print(comp.name, comp.slug)
# Typed error handling
try:
client.companies.get(slug="nonexistent-company-000000000S0")
except CompanyNotFound as exc:
print(f"Not found: {exc.slug}")
print("exercised: companysummaries.search / details / companies.get / financials.get / roles_and_owners / competitors.list")
Full-text search over Norwegian companies by name or organization number. Returns matching companies with basic registration info and an internal slug used to fetch details, financials, and related data via other endpoints. Results are not paginated; a single request returns all matches.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword — company name or 9-digit organization number |
{
"type": "object",
"fields": {
"companies": "array of company objects with Name, OrganizationNumber, Address, Id, Slug (URL-safe identifier for other endpoints), Birthyear, and HasFinance fields"
},
"sample": {
"data": {
"companies": [
{
"Id": "100133055S4",
"Name": "Equinor ASA",
"Address": "Forusbeen 50, 4035 Stavanger",
"Birthyear": null,
"HasFinance": true,
"OrganizationNumber": "923609016"
}
]
},
"status": "success"
}
}About the Regnskapstall API
Company Search and Identification
All lookups begin with search_companies, which accepts a query string — either a company name or organization number — and returns an array of matching companies. Each result includes Name, OrganizationNumber, Address, Birthyear, HasFinance, and the Id field used as the slug parameter in every subsequent endpoint. The HasFinance flag tells you upfront whether financial statements are available before making further calls.
Financial Statements and Company Overview
get_company_financials returns multi-year structured data organized into named sections such as Resultatregnskap (income statement), Balanseregnskap (balance sheet), and Regnskapsanalyse (financial ratios), with each line item keyed by year. The optional view parameter lets you switch between standalone (parent company accounts) and full (consolidated view). get_company_overview complements this with registration metadata — NACE codes, establishment date, registered address — alongside a financial_summary for the latest year and a key_roles object mapping titles like Styrets leder (chairman) and Daglig leder (CEO) to names.
Roles, Ownership, and Announcements
get_company_roles_and_owners returns an array of role-name pairs covering board members, CEO, and auditor, plus an owners array listing shareholder names and percentage stakes. Note that subsidiaries and some private companies may return empty arrays if no public ownership data is registered. get_company_announcements pulls official registry events from Brønnøysundregistrene — each record includes a date in DD.MM.YYYY format and a type such as Styre, Adresse, or Nyregistrering — along with a total count of all announcements on record.
Competitors and New Registrations
get_company_competitors returns peers grouped by NACE industry classification. Companies without a registered NACE code return a 404 input_not_found error, so it is worth checking the official_info from get_company_overview first. get_new_registrations requires no inputs and returns the most recently established companies visible on the site, giving each result a name and slug ready for use with any other endpoint.
The Regnskapstall API is a managed, monitored endpoint for regnskapstall.no — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when regnskapstall.no changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official regnskapstall.no API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a due-diligence tool that pulls six years of income statement and balance sheet data for Norwegian acquisition targets using
get_company_financials. - Monitor ownership changes in a portfolio of Norwegian companies by polling
get_company_roles_and_ownersfor shareholder percentages. - Track new market entrants in Norway by consuming
get_new_registrationson a schedule and enriching each result withget_company_overview. - Map competitive landscapes for a given industry by calling
get_company_competitorsand fetching financial summaries for each returned peer slug. - Automate compliance checks by watching
get_company_announcementsfor registry events like board changes (Styre) or address updates (Adresse). - Resolve an organization number to structured company data — address, NACE code, establishment year — without manual registry lookups.
- Enrich a B2B CRM with Norwegian company leadership data including board chairman and CEO names from
get_company_overviewkey_roles.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Regnskapstall.no provide an official developer API?+
What does `get_company_financials` actually return, and how many years does it cover?+
Resultatregnskap), balance sheet (Balanseregnskap), and financial ratios (Regnskapsanalyse) — with each line item containing values keyed by year. Coverage is up to six years per company. The optional view parameter selects between standalone (parent-only accounts) and full (consolidated or detailed view); omitting it returns the default view.Will ownership and role data always be populated?+
get_company_roles_and_owners returns empty roles and owners arrays for companies — typically subsidiaries or certain private entities — where no public role or ownership data is registered in the Norwegian registry. The get_company_overview endpoint includes a key_roles object that may still carry limited leadership data for such companies even when the dedicated roles endpoint returns nothing.Does the API expose historical ownership changes or shareholder transaction dates?+
get_company_roles_and_owners returns the current registered ownership percentages and role assignments without a history of past changes or transaction dates. get_company_announcements does capture dated registry events that sometimes reflect ownership-related changes. You can fork this API on Parse and revise it to add a historical ownership endpoint if that data becomes available on the source.What happens when `get_company_competitors` is called for a company with no NACE code?+
input_not_found error. NACE classification is required for peer grouping. You can confirm whether a company has a NACE code by checking the official_info object returned by get_company_overview before calling this endpoint.