Orakel Docs

Field catalog

Every field Orakel exposes, its type, and its source.

Every field Orakel exposes, typed and attributed. Types use TypeScript-ish notation. Nullable fields reflect source gaps. Source names: Brreg, Regnskap, Aksjonær, Konkursregisteret, Doffin, Mattilsynet, TBR, SSB, PRH, Tilastokeskus, Bolagsverket, SCB, GLEIF, Newsweb, Orakel (computed or enrichment-derived).

Composite key: Company and its child tables are keyed on (country, orgNumber). orgNumber is 9 digits for NO, NNNNNNN-N for FI, 10 digits for SE. Don't assume length.

_sources (response-level)

Every /api/companies/* response carries a _sources object alongside the data. It surfaces which upstream fed which field so consumers can render per-field attribution without re-inferring source mappings client-side. See Attribution → _sources response field for the full shape and a rendering snippet.

FieldTypeNotes
_sources.attributionstring[]Deduplicated display list — paste into a "Data via …" footer
_sources.fieldsRecord<string, string | { source: string; computed: true }>Per-field source map; keys omitted when data is absent

Common fields.* values: "Brønnøysundregistrene" (NO core), "Bolagsverket" (SE core + financials), "YTJ" (FI core), "Regnskapsregisteret" (NO financials), "Tilastokeskus" (FI financials), "SSB Klass" (industry/org-form/country/county labels), "SSB" (aggregate context when include=context), "Orakel enrichment pipeline" (domain, social handles, technologies — synthesized from multiple upstream signals).

_sources credits the source of what's returned; it does not imply coverage depth. For financial-year depth by country see Limitations → Financial-year depth.

Company

One row per legal entity.

FieldTypeSourceNotes
orgNumberstringBrreg (NO) / PRH (FI) / Bolagsverket (SE)9 digits NO, NNNNNNN-N FI, 10 digits SE
countryCountryCodeOrakel"NO" | "FI" | "SE"
namestringBrreg / PRH / BolagsverketCurrent active registered name
orgFormCodestringBrreg / PRH / Bolagsverkete.g. AS, ASA, Oy, AB
orgFormDescriptionstring | nullBrreg / PRH / Bolagsverket (SE: SCB)SE description comes from SCB jurForm
naceCode1string | nullBrreg / PRH / SCBSE NACE is from SCB, not Bolagsverket
naceDescription1string | nullBrreg / PRH / BolagsverketSE uses free-text verksamhetsbeskrivning
naceCode2string | nullBrreg / SCBNO, SE only
naceDescription2string | nullBrregNO only
naceCode3string | nullBrreg / SCBNO, SE only
naceDescription3string | nullBrregNO only
employeeCountnumber | nullBrregNO only
hasRegisteredEmployeesbooleanBrregNO only; defaults false elsewhere
businessAddressStreetstring | nullBrreg / PRH / Bolagsverket
businessAddressZipstring | nullBrreg / PRH / Bolagsverket
businessAddressCitystring | nullBrreg / PRH / BolagsverketFI prefers English post-office name
businessAddressMunistring | nullBrreg / PRHNO, FI only
businessAddressMuniNostring | nullBrreg / PRHJoins to Municipality.code and ssb_municipality_stats.municipalityNo
postalAddressStreetstring | nullBrreg / PRHNO, FI only
postalAddressZipstring | nullBrreg / PRHNO, FI only
postalAddressCitystring | nullBrreg / PRHNO, FI only
websitestring | nullBrreg / PRHSelf-reported at registration; may be stale
phonestring | nullBrregNO only
enrichedDomainsstring[]OrakelAll verified domains for the company
primaryDomainstring | nullOrakelBest-match verified domain
domainConfidencenumber | nullOrakel0–100 composite score
brregWebsiteValidboolean | nullOrakelWhether Brreg's registered website verified
linkedinHandlestring | nullOrakelExtracted from homepage
facebookHandlestring | nullOrakelExtracted from homepage
instagramHandlestring | nullOrakelExtracted from homepage
twitterHandlestring | nullOrakelExtracted from homepage
parentOrgNumberstring | nullBrregImmediate parent in a corporate group
technologiesJson | nullOrakelArray of { name, category, confidence, detectedAt } — see Technology section
techSyncedAtDate | nullOrakelLast technology scan
sslSansSyncedAtDate | nullOrakelLast crt.sh SAN scan
foundingDateDate | nullBrreg / PRH / BolagsverketStiftelsesdato (NO)
registrationDateDate | nullBrreg / PRH / Bolagsverket
registeredInVatbooleanBrreg / PRHNO, FI (Merverdiavgiftsregisteret / registeredEntries=6)
registeredInBizbooleanBrreg / PRHNO (Foretaksregisteret), FI (tradeRegisterStatus=1)
isBankruptbooleanBrregNO only
bankruptcyDateDate | nullBrregNO only. Date bankruptcy proceedings were opened. Set when isBankrupt is true.
isBeingDissolvedbooleanBrreg / BolagsverketNO, SE (Bolagsverket avregistreringsdatum)
isInGroupbooleanBrregNO only
sectorCodestring | nullBrregNO only; institusjonell sektorkode
sectorDescriptionstring | nullBrregNO only
descriptionstring | nullBrreg (NO) / Bolagsverket (SE) / YTJ (FI) / CVR (DK)Business activity description. Source text varies by country.
descriptionKeywordsstring[]OrakelTop-10 keywords extracted from description; stopwords removed
trafficRanknumber | nullOrakel (Tranco)Tranco top-1M rank (1 = highest traffic). Updated weekly. Null if domain not in list.
trafficRankUpdatedAtDate | nullOrakelWhen trafficRank was last refreshed
employerRegisterDateDate | nullYTJFI only. Date company first registered as a regular employer
directMarketingDeniedboolean | nullCVRDK only. Direct marketing protection flag (reklamebeskyttet)
businessAddressLatnumber | nullOrakel (Kartverket / DAWA / Nominatim)Geocoded latitude. Populated by weekly job, not at ingest.
businessAddressLngnumber | nullOrakel (Kartverket / DAWA / Nominatim)Geocoded longitude. Same source as businessAddressLat.
digitalizationIndexnumber | null [computed]OrakelFraction of 12 tech categories covered (0–1). Null when technologies is null.
socialIndexnumber | null [computed]OrakelFraction of 4 social platforms with a handle (0–1).
sizeClass"micro" | "small" | "medium" | "large" | "enterprise" | null [computed]OrakelFrom employeeCount: micro 0–10, small 11–50, medium 51–200, large 201–1000, enterprise 1001+.
latestRevenueNOKbigint | null [computed]OrakelDenormalized latest revenue from Financial; updated on financial sync
companySummarystring | nullOrakelAI-generated 2–3 sentence description of the company's business (Norwegian). Null until the first public company page visit triggers generation.

Financial

Unique on (country, orgNumber, regnskapstype, periodFrom, periodTo). Ratios computed at read time.

FieldTypeSourceNotes
orgNumberstringRegnskap (NO) / Tilastokeskus (FI)FK to Company
countryCountryCodeOrakel
regnskapstypestringRegnskap / TilastokeskusSELSKAP (company) | KONSERN (consolidated). Always SELSKAP for FI
periodFromDateRegnskap / TilastokeskusFiscal period start
periodToDateRegnskap / TilastokeskusFiscal period end
currencystringRegnskap / TilastokeskusAs filed; most NO filings NOK, FI defaults EUR
revenuenumber | nullRegnskapSum driftsinntekter; not yet mapped for FI
operatingCostsnumber | nullRegnskapSum driftskostnad; not yet mapped for FI
operatingResultnumber | nullRegnskapDriftsresultat; not yet mapped for FI
netFinancialsnumber | nullRegnskapNetto finans; not yet mapped for FI
preTaxProfitnumber | nullRegnskapOrdinært resultat før skattekostnad; not yet mapped for FI
netResultnumber | nullRegnskapÅrsresultat; not yet mapped for FI
totalAssetsnumber | nullRegnskap / TilastokeskusFI maps from XBRL fi_MC:x360
totalEquitynumber | nullRegnskapSum egenkapital; not yet mapped for FI
totalDebtnumber | nullRegnskapSum gjeld; not yet mapped for FI
varekostnadnumber | nullRegnskapsregisteretCost of goods sold (Varekostnad). NO only. Populated from multi-year history; null on filings where the figure isn't available.
avskrivningnumber | nullRegnskapsregisteretDepreciation and amortisation (Avskrivning). NO only. Same coverage as varekostnad.
syncedAtDateOrakelLast time Orakel fetched this filing
ratios.profitMarginnumber | null [computed]OrakelnetResult / revenue
ratios.operatingMarginnumber | null [computed]OrakeloperatingResult / revenue
ratios.returnOnAssetsnumber | null [computed]OrakelnetResult / totalAssets
ratios.returnOnEquitynumber | null [computed]OrakelnetResult / totalEquity
ratios.equityRationumber | null [computed]OrakeltotalEquity / totalAssets
ratios.debtToEquityRationumber | null [computed]OrakeltotalDebt / totalEquity
ratios.grossMarginnumber | null [computed]Orakel(revenue − varekostnad) / revenue. null when varekostnad is absent.
ratios.ebitdanumber | null [computed]OrakeloperatingResult + avskrivning. null when either field is absent.
revenueGrowthYoYnumber | null [computed]Orakel(revenue_t − revenue_t-1) / abs(revenue_t-1)

Role

Board, CEO, auditor, owners. NO and DK.

FieldTypeSourceNotes
orgNumberstringBrregFK to Company
countryCountryCodeOrakel"NO" | "DK"
roleGroupCodestringBrrege.g. STYR (board)
roleGroupDescriptionstring | nullBrreg
roleTypeCodestringBrrege.g. LEDE (chair), DAGL (CEO), REVI (auditor)
roleTypeDescriptionstring | nullBrreg
personFirstNamestring | nullBrregNatural-person role holders
personMiddleNamestring | nullBrreg
personLastNamestring | nullBrreg
personBirthDateDate | nullBrregFull birth date as filed
entityOrgNumberstring | nullBrregEntity role holders (auditor firms)
entityNamestring | nullBrreg
isResignedbooleanBrregFratraadt
isDeregisteredbooleanBrreg
sortOrdernumberBrregStable order within a role group
ownershipPercentnumber | nullBrreg (NO) / CVR (DK)EIER/EJER roles only. NO: Brreg eierandel.prosent. DK: CVR EJERANDEL_PROCENT attribute.
syncedAtDateOrakel

SubUnit

Branch offices. Linked via parentOrgNumber. NO and DK (production units via penheder).

FieldTypeSourceNotes
orgNumberstringBrregSub-unit's own org number
countryCountryCodeOrakelAlways "NO"
parentOrgNumberstringBrregFK to parent Company
namestringBrreg
orgFormCodestringBrreg
orgFormDescriptionstring | nullBrreg
naceCode1string | nullBrreg
naceDescription1string | nullBrreg
employeeCountnumber | nullBrregSub-unit headcount
hasRegisteredEmployeesbooleanBrreg
locationAddressStreetstring | nullBrregPhysical location, not postal
locationAddressZipstring | nullBrreg
locationAddressCitystring | nullBrreg
locationAddressMunistring | nullBrreg
locationAddressMuniNostring | nullBrreg
phonestring | nullBrreg
registrationDateDate | nullBrreg
addressLatnumber | nullOrakel (Kartverket / Nominatim)Geocoded latitude of locationAddress.
addressLngnumber | nullOrakelGeocoded longitude.

Shareholder

One row per shareholder per share class per year. GDPR-sensitive; see aksjonaerregisteret. NO only.

FieldTypeSourceNotes
orgNumberstringAksjonærInvestee company; FK to Company
countryCountryCodeOrakelAlways "NO"
shareholderNamestringAksjonærDisplay name (person or entity)
shareholderOrgNumberstring | nullAksjonær9-digit when shareholder is Norwegian entity; null for persons and foreign
shareholderTypestring | nullAksjonær"person" | "company" | "foreign"
postalCodestring | nullAksjonærEntity shareholders only
locationstring | nullAksjonærEntity shareholders only
shareClassstring | nullAksjonære.g. A, B, ORDINÆR
shareCountbigintAksjonærShares held in this class
totalSharesInCompanybigint | nullAksjonærTotal shares in this class, when supplied
yearnumberAksjonærSnapshot year (fiscal year described)
ownershipPctnumber | null [computed]OrakelshareCount / totalSharesInCompany × 100, 2 decimals

Inspection (Mattilsynet)

Food-safety visits. NO only.

FieldTypeSourceNotes
tilsynIdstringMattilsynetUnique per visit
orgNumberstringMattilsynetMay reference a sub-unit rather than parent
namestringMattilsynetVenue name as filed
addressstring | nullMattilsynet
postnrstring | nullMattilsynet
poststedstring | nullMattilsynet
dateDateMattilsynetInspection date
totalRatingnumberMattilsynetSmilefjes rating code (integer, not percentage)
rating1number | nullMattilsynetPer-theme sub-score
rating2number | nullMattilsynet
rating3number | nullMattilsynet
rating4number | nullMattilsynet
inspectionTypenumberMattilsynetVisit type code
syncedAtDateOrakel

License (TBR)

Alcohol and tobacco licenses, unique on (licenseNumber, registerType). NO only.

FieldTypeSourceNotes
licenseNumbernumberTBRBevillingsnummer or Registreringsnummer
orgNumberstringTBRLicense holder
holderNamestring | nullTBRInnehaver
venueNamestring | nullTBRSted
venueOrgNumberstring | nullTBRSub-unit org number when different from holder
registerTypestringTBRAlkoholsbevilling | Tobakksbevilling
licenseTypeCodestringTBR01SKJE, 11ENGR, 18TBIM, 19TBEK
licenseTypeDescstring | nullTBR
productGroupsstring[]TBRGRP1, GRP2, GRP3, TROY, TINN
addressstring | nullTBR
postnrstring | nullTBR
poststedstring | nullTBR
municipalitystring | nullTBRIssuing municipality name
municipalityNostring | nullTBRSSB 4-digit code
validFromDate | nullTBR
validToDate | nullTBR
syncedAtDateOrakel

ProcurementNotice (Doffin)

Keyed on noticeId. Buyer orgNumber nullable when Doffin didn't supply a matchable ID. NO only.

FieldTypeSourceNotes
noticeIdstringDoffinStable upstream identifier
orgNumberstring | nullDoffinBuyer; null when upstream format didn't normalise
contractingAuthoritystring | nullDoffinBuyer name
titlestringDoffin
descriptionstring | nullDoffinLong-form text
cpvCodesstring[]DoffinCommon Procurement Vocabulary codes
noticeTypestring | nullDoffintender / award / prior information
estimatedValuenumber | nullDoffinBuyer's estimate at publication
currencystring | nullDoffin
publishedDateDate | nullDoffin
issueDateDate | nullDoffin
deadlineDate | nullDoffinSubmission deadline
locationIdsstring[]DoffinNUTS / municipality codes
statusstring | nullDoffinOpen enum — upstream can add values
rawDataJson | nullDoffinFull upstream payload for unmodelled fields
syncedAtDateOrakel

DomainEnrichment

Per-company enrichment pipeline state. NO live; FI and SE planned.

FieldTypeSourceNotes
orgNumberstringOrakelFK to Company
countryCountryCodeOrakel
statusstringOrakelpending | processing | confirmed | ambiguous | rejected
confirmedDomainsstring[]OrakelResult set
primaryDomainstring | nullOrakelBest-match verified domain
confidencenumberOrakel0–100 composite score
candidatesJson | nullOrakelPer-candidate signal breakdown
stagenumberOrakelPipeline stage 0–5
prioritynumberOrakelHigher = processed first
brregWebsiteValidboolean | nullOrakelSignal: did Brreg's website verify
homepageOrgNrstring | nullOrakelSignal: org number found on candidate homepage
rdapHolderstring | nullOrakelSignal: NORID RDAP domain holder
llmConfidencenumber | nullOrakelLLM adjudication score when used
llmReasoningstring | nullOrakelLLM reasoning text
linkedinHandlestring | nullOrakelCaptured during scraping
facebookHandlestring | nullOrakel
instagramHandlestring | nullOrakel
twitterHandlestring | nullOrakel
startedAtDate | nullOrakel
completedAtDate | nullOrakel

DomainSecurity

DNS security posture per company domain. Populated by a weekly enrichment sweep. One row per (country, orgNumber) — covers the company's primary verified domain.

FieldTypeSourceNotes
orgNumberstringOrakelFK to Company
countryCountryCodeOrakel
domainstringOrakelDomain that was checked
hasDnssecbooleanOrakelDNSSEC delegation present
hasSpfbooleanOrakelSPF TXT record present
hasDmarcbooleanOrakelDMARC TXT record present
hasMxbooleanOrakelMX record present — company receives email at this domain
dmarcPolicy"none" | "quarantine" | "reject" | nullOrakelEnforcement level from DMARC p= tag. Null when hasDmarc is false.
emailProviderstring | nullOrakelInferred from MX hostname patterns. Values: "google-workspace" | "microsoft-365" | "zoho" | "protonmail" | "fastmail" | "icloud" | "mimecast" | "other"
checkedAtDateOrakelWhen this domain was last checked

Technology

Company.technologies is a JSON array. Each element:

FieldTypeSourceNotes
namestringOrakele.g. WordPress, Google Analytics, Meta Pixel
categorystringOrakelcms | analytics | chat | marketing | ecommerce | framework | advertising
confidencenumberOrakel0–100, per-signature weight
detectedAtstring (ISO date)OrakelWhen this scan detected the signature

Ad pixels

Company.technologies entries with category = "advertising": Meta Pixel, Google Tag Manager, Snap Pixel, TikTok Pixel, X Pixel, LinkedIn Insight Tag. Queryable via ?hasAnyAdPixel=true.

Social handles

Scalar columns on Company and DomainEnrichment.

FieldTypeSourceNotes
linkedinHandlestring | nullOrakelLinkedIn company-page slug
facebookHandlestring | nullOrakel
instagramHandlestring | nullOrakel
twitterHandlestring | nullOrakelX/Twitter handle

Municipality

From SSB Klass 131.

FieldTypeSourceNotes
codestring (4 digits)SSBe.g. 3905 (Tønsberg)
namestringSSB
countyCodestring (2 digits)SSBFirst two digits of code
countyNamestringSSBFrom classification 104 (fylker)

SSB municipality stats

Keyed on (municipalityNo, year, metric).

FieldTypeSourceNotes
municipalityNostringSSBJoins to Company.businessAddressMuniNo
yearnumberSSB
metricstringSSBCurrently population
valuenumberSSB
sourceTablestringSSBSSB table ID, e.g. 07459
capturedAtDateOrakel

SSB industry stats

Keyed on (naceSection, year, metric). Section mapped from Company.naceCode1.

FieldTypeSourceNotes
naceSectionstringSSBSingle letter, e.g. J for ICT
yearnumberSSB
metricstringSSBavgMonthlyWage | enterpriseCount
valuenumberSSB
sourceTablestringSSB / OrakelSSB table ID (11419, 14000) or brreg-derived
capturedAtDateOrakel

BankruptcyEvent (Konkursregisteret)

Court-filed bankruptcy and debt negotiation events. Source: Brønnøysundregistrene Konkursregisteret public API (NLOD 2.0). NO only. A company can have multiple events (a case is opened and later closed).

FieldTypeSourceNotes
idstringKonkursregisteretAnnouncement ID from Konkursregisteret
orgNumberstringKonkursregisteretFK to Company
eventTypestringKonkursregisteret"debt_negotiation" | "bankruptcy_opened" | "bankruptcy_closed" | "forced_dissolution"
courtNamestring | nullKonkursregisteretHandling court
filedAtDateKonkursregisteretDate the event was filed
closedAtDate | nullKonkursregisteretDate proceedings closed. Null for open cases.
rawJsonKonkursregisteretFull upstream payload

OwnershipDisclosure (Newsweb)

Mandatory major-shareholder threshold filings for Oslo Børs and Euronext Growth Oslo listed companies. Filed when a shareholder crosses 5%, 10%, 15%, 20%, 25%, 33%, or 50%. Source: Oslo Børs Newsweb (OB:FLAGI / OB:FLAGI2 message types). NO only, listed companies only.

FieldTypeSourceNotes
idstringNewswebAnnouncement ID from Oslo Børs Newsweb
orgNumberstring | nullOrakelMatched via EuronextListing; null if the issuer has no matched company
issuerNamestringNewswebIssuer company name as filed
issuerTickerstring | nullNewswebExchange ticker symbol
isinstring | nullNewswebISIN code when present
titlestringNewswebAnnouncement title — contains shareholder name and threshold crossed
publishedAtDateNewswebPublication timestamp
categoryIdnumberNewswebNewsweb category ID (1006 = ownership flagging)
rawJsonNewswebFull upstream API response

LeiRecord (GLEIF)

Legal Entity Identifier codes from the GLEIF open register. ~254k records across NO/SE/DK/FI; refreshed monthly. Not every company has an LEI — primarily banks, funds, and publicly traded companies are required to hold one.

FieldTypeSourceNotes
leistringGLEIF20-character LEI code (ISO 17442)
orgNumberstring | nullGLEIFParsed from GLEIF registeredAs field; null when not parseable
countryCountryCodeGLEIFISO 2-letter country code
legalNamestringGLEIFLegal name as registered in GLEIF
entityStatusstringGLEIF"ACTIVE" | "INACTIVE" | "ANNULLED"
registrationStatusstringGLEIF"ISSUED" | "LAPSED" | "RETIRED"
legalFormstring | nullGLEIFISO 20275 ELF code (legal entity form)
nextRenewalDateDate | nullGLEIFDate the LEI must next be renewed
syncedAtDateOrakelLast GLEIF sync

Country coverage

EntityNOFISEDK
Company✓ (seed list)
Financialbest-effort (totalAssets only)✓ (iXBRL, FY 2020+)
Role
SubUnit✓ (production units via penheder)
Shareholder
Inspection (Mattilsynet)
License (TBR)
ProcurementNotice (Doffin)
DomainEnrichmentplannedplanned
DomainSecurityplannedplanned
Technology / Ad pixels / Socialplannedplanned
Municipality / SSB stats
BankruptcyEvent (Konkursregisteret)
OwnershipDisclosure (Newsweb)✓ (listed only)
LeiRecord (GLEIF)

On this page