🇫🇮 Finland — Patentti- ja rekisterihallitus (PRH) — avoindata YTJ API
Access Finland's official company register in real time via the OpenRegistry MCP endpoint. Unified schema, source-linked, live passthrough (no caching).
Data license: Creative Commons Attribution 4.0 (CC BY 4.0)
Real-time: yes — every call hits upstream
Caching notes: All caches: 10 seconds (de-duplicates rapid repeated calls within a single AI turn; otherwise always fresh). Pass fresh=true to bypass even the 10s cache.
Finland — open-data company + XBRL APIs (no auth), with a registry-extract scrape for the free trade-register extract PDF and a listed-issuer surface for annual-report filings and major-shareholder flaggings. Finnish business id is 7digits-1; 8-digit auto-reformatted.
Company ID format
Finnish Y-tunnus (business ID): 7 digits + dash + check digit, e.g. '0112038-9' (Nokia Oyj). 8-digit form '01120389' is auto-reformatted.
Examples: 0112038-9, 1927400-1, 0763619-9
Supported tools (8)
search_companies
get_company_profile
list_filings
get_financials
get_officers
get_shareholders
get_document_metadata
fetch_document
Status values
Native values upstream reports: 1, 4
Mapping to the unified four-value enum:
Unified
Native values
active
1
inactive
4
dissolved
(none)
unknown
(none)
Known quirks
id_formatinfo — company_id is the Finnish business id: 7 digits + dash + 1 check digit (e.g. '0112038-9'). 8-digit no-dash form is auto-reformatted. Anything else → 400.
statusinfo — Status mapping: end-date present → dissolved; else trade-register status='1' → active, '4' → inactive (removed from trade register). The opaque top-level `status` integer is preserved in jurisdiction_data but not used for coarse-status mapping.
searchinfo — search_companies auto-routes: if the query normalises to a Finnish business id, it hits the business-id endpoint; otherwise it's a name search. Accepts curated filters (location, companyForm, mainBusinessLine, postCode, registrationDateStart/End, businessIdRegistrationStart/End) plus page/pageSize (max 100).
redactioninfo — Name / address / business-line / company-form descriptions arrive in three languages (Finnish=1, Swedish=2, English=3). Unified fields prefer English, falling back to Finnish then Swedish; all three are preserved in jurisdiction_data.
filingswarning — list_filings is backed by the separate XBRL open-data feed and returns digitally-filed annual accounts only — every row maps to category='accounts'. Passing any other category returns an empty list. Other filing types (changes, resolutions) are not in the open feed.
documentsinfo — document_id has three formats: a businessId+financial-date pair for XBRL annual accounts (returns XBRL XML), a listed-issuer attachment id with optional server-side-unzipped entry for annual-report packages, and a trade-register-extract id for the free registry extract PDF.
officerswarning — get_officers is implemented by downloading and parsing the free trade-register extract PDF (session-driven web scrape) — board + managing-director rows only, all returned as is_active=true (the extract only lists currently registered people). No appointed_on precision beyond the registration date shown on the extract.
shareholderswarning — get_shareholders returns a non-standard shape: { coverage_note, threshold_events[] }. Finland has no queryable central shareholder register; for listed public-limited issuers only, the adapter scrapes major-shareholder threshold-crossing flaggings. Unlisted limited-liability companies and non-listed issuers return an empty threshold_events with a coverage_note explaining why.
filingsinfo — get_financials merges two sources: the XBRL open-data feed (unlisted limiteds, primary) and the listed-issuer annual-report surface (fallback — tried only when the primary returns 0 rows). Package attachments are also server-side unzipped and each extracted entry is emitted as an additional UnifiedFinancialStatement item, so callers can fetch individual iXBRL files without handling the archive themselves.
pscblocker — get_persons_with_significant_control returns 501. Finland's beneficial-ownership service offers PDF/CSV downloads but access is restricted to a company's own registered responsible persons or AML-eligible requesters.
chargesblocker — get_charges returns 501. Finnish business pledges live in a separate paid registry and are not in the open-data feed.
officersblocker — search_officers and get_officer_appointments return 501. No cross-company officer search is exposed on the free surface.
Available jurisdiction_data fields
Every tool response carries a jurisdiction_data object with the raw upstream fields (names unchanged). The full field set per record type: