Skip to content

Experimental routes

experimental · KR, ES, NL, DK, SE, PL, FI

These routes are implemented and tested offline, but have not been qualified for this release. Opening a Company on one emits an ExperimentalRouteWarning once per route and process:

ExperimentalRouteWarning: ES/spain_cnmv is an experimental route: it has not been qualified for this release, so results may be incomplete. Supported routes: US, UK, JP, FR.

They are outside the stability promise: a minor release may change, promote or remove them. The six European routes passed a second-wave qualification run on 2026-10-09 and stay experimental until the maintainers complete the release review; Korea could not be qualified because Open DART's document endpoint reported maintenance throughout (BENCHMARKS.md).

The named examples below are single checks, not measures of national coverage. Where the ESEF index covers the same country (DK, ES, FI, NL, SE), source="esef_index" is the limited alternative.

from opencorpfilings import Company

Company("005930", market="KR").filings(form="annual").latest()
Company("A-48010615", market="ES").filings(form="annual").latest()
Company("ASML Holding N.V.", market="NL").filings(form="annual").latest()
Company("DK-61056416", market="DK").filings(form="annual").latest()
Company("502017-7753", market="SE").filings(form="annual").latest()
Company("mBank Spółka Akcyjna", market="PL").filings(form="annual").latest()
Company("KONE Oyj", market="FI").filings(form="annual").latest()

Korea (Open DART)

Field Value
Provider open_dart · Financial Supervisory Service Open DART
Identifiers six-character stock code (can contain letters), eight-digit corporation code
Categories annual, interim, quarterly, other; amendments flagged (include_amendments)
Order filing_date
Auth API key: api_key=, OPENCORPFILINGS_DART_API_KEY or OPENDART_API_KEY, from Open DART
  • Search: Korean names and exact stock codes use DART's public company selector; English names use the English selector; both fall back to the official corporation registry. The selector is HTML, not a versioned API.
  • Category requests ask the source for that report type. Only the periodic report title itself is classified; English Semi-annual Report titles are interim, not annual.
  • Documents: the original disclosure ZIP (report) and, for periodic reports, the XBRL ZIP (data) when available. Raw facts from the classic XBRL instance.
  • get_filing(receipt) uses a bounded listing scan: the official API has date filters but no exact receipt lookup.
  • Maintenance status 800 raises SourceUnavailableError.
  • Korea is not in the find_company index.

Spain (CNMV)

Field Value
Provider spain_cnmv · CNMV annual financial report register
Identifiers issuer NIF, such as A-48010615
Categories annual, interim
Order filing_date (publication date)
Auth none
  • form="annual" and form="interim" use separate official registers; an unfiltered listing merges both by publication date, with a five-year default lookup window.
  • search_companies(..., market="ES") searches the official issuer-name register.
  • Annual: financial-report links and the ESEF ZIP, with raw inline facts from the report XHTML. Interim: original PDFs, annexes and XBRL XML, with raw classic XBRL facts. Iberdrola interim report 2026103709 exposed four original documents, including an XBRL instance with 1,110 raw facts.

Netherlands (AFM)

Field Value
Provider netherlands_oam · Netherlands Authority for the Financial Markets / AFM
Identifiers exact register issuer name, such as ASML Holding N.V.
Categories annual, interim (the register's annual and half-yearly categories)
Order filing_date
Auth none
  • published_at is the register export's filing time, read as Amsterdam time (the source states no offset); filing_date is its date. A record read by direct lookup has the detail page's filing date and no published_at.
  • Reads the AFM financial-reporting register with bounded issuer metadata (max_records=500 by default).
  • Documents: individual original .xbri, ZIP or PDF files; text from the report XHTML inside a ZIP, PDF text where available; raw inline facts.
  • Direct record lookup is supported.

Denmark (Danish FSA)

Field Value
Provider denmark_oam · Danish Financial Supervisory Authority / OAM
Identifiers source business ID, such as DK-61056416, or exact issuer name
Categories annual, interim (native annual and half-yearly categories)
Order published_at
Auth none
  • published_at is the announcement's publication time, read as Copenhagen time (the source states no offset).
  • Name search accepts ASCII spellings of Danish names. Bounded source pages (max_pages=20).
  • Documents: individual original ZIP, PDF, HTML or TXT links. An HTML cover notice beside a PDF or ZIP is an announcement, so the report is primary.
  • Some issuers file only an HTML announcement and publish the report elsewhere (Danske Bank's H1 2026); then the announcement is the only document. Matas filed its H1 2025/26 report under the annual category, so form="interim" does not find it.

Sweden (Finanscentralen)

Field Value
Provider sweden_oam · Finansinspektionen / Finanscentralen
Identifiers company registration number, such as 502017-7753
Categories annual, interim, quarterly
Order report_period_label
Auth none
  • The source gives a year/month label only: no filing date and no period_end. The label is kept in provider_metadata, and date filters raise UnsupportedCapabilityError.
  • Search and report tables are paged with bounds (max_search_pages=20, max_report_pages=20, raisable to 100).
  • Same-period rows in different languages become documents of one filing. A period listed twice with the same language becomes a separate record with a :2 suffix and repeated_period in metadata.
  • The table declares no file format, so download() detects ZIP, PDF or XHTML and updates the document. Correction history is not classified.

Poland (KNF)

Field Value
Provider poland_oam · Polish Financial Supervision Authority / KNF OAM
Identifiers exact source issuer name, such as mBank Spółka Akcyjna
Categories annual: RR (standalone), SRR and SRR-I (consolidated)
Order source_search_order (KNF receipt date)
Auth none
  • Scans at most 20 search pages by default (max_pages=). Search returns distinct issuer names from the first source report page.
  • The record supplies a receipt date, local receipt time, report year and correction flag. The report year is not converted to a period end. Category requests return original reports by default.
  • A KNF package holds several documents, including a nested .rap and gzip-wrapped ESEF ZIP. text() reads the ESEF-named report when there is one, otherwise the largest document (often the management report). Standalone RR reports carry no XBRL tags.

Finland (Nasdaq OAM)

Field Value
Provider finland_oam · Finland OAM / Nasdaq Helsinki
Identifiers exact OAM company name (Nokia, UPM-Kymmene, KONE Oyj) or numeric source company ID (552 for KONE)
Categories annual (category 270), interim (78 half-year report; 153 interim reports and financial statement releases)
Order published_at
Auth none
  • Search defaults to the past five calendar years; pass start= for earlier notices. A 20-page safety bound applies (max_pages=).
  • Documents: original ZIP, PDF or XHTML attachments.
  • Coverage note: Nasdaq's general terms restrict automated capture; the access-terms review is required before public distribution.
ocf search KONE --market FI --limit 5
ocf filings 552 --market FI --form annual --limit 1

Source terms

Each source's access route and reuse terms are in Source access and rights; the European source matrix covers national portals country by country.