DEV Community

Cover image for OpenDART filings in Korea: fields worth checking twice
OpenRegistry
OpenRegistry

Posted on

OpenDART filings in Korea: fields worth checking twice

South Korea’s OpenDART feed timestamps filings to the minute, and those timestamps can change a live diligence call. On a Seoul industrials target last quarter, one of the legacy paid databases still showed the previous statutory auditor hours after the replacement filing appeared in the Financial Supervisory Service feed.

That lag shows up in Korea more often than many cross-border teams expect. The register leans heavily toward disclosures and behaves closer to a securities reporting system than a conventional European companies register. When you are tracking officer changes, treasury share activity, affiliate transactions, or a capital raise close to signing, the raw filings tend to move first.

OpenRegistry exposes OpenDART through MCP at the registry layer. The response stays close to the upstream shape. You get source fields inside jurisdiction_data, not a derived ownership graph or scoring layer built later.

What the Korean registry actually returns

The first split that matters is company profile data versus disclosure history. OpenDART is strongest on filings tied to listed entities and reporting issuers.

A standard get_company_profile response for a Korean company can include:

  • corp_code
  • corp_name
  • stock_code
  • ceo_nm
  • adres
  • hm_url
  • est_dt
  • corp_cls

corp_cls matters more than some foreign diligence teams realise. KOSPI, KOSDAQ, KONEX, plus related classifications affect filing cadence and disclosure expectations. During a carve-out review earlier this year, a subsidiary looked inactive in one vendor export because its stock number changed after a market transfer. OpenDART still linked the filing history correctly through the corporate code.

The filing layer is where the register becomes genuinely useful for transaction screening. list_filings can surface periodic reports, shareholder disclosures, convertible bond issuances, treasury share acquisitions, mergers, spin-offs, or related-party transactions.

Upstream payloads usually include receipt timestamps, filing identifiers, amendment indicators, filer names, and report titles. Amendment flags deserve manual review. Korean issuers regularly correct disclosures after publication. Sometimes the correction materially changes debt figures or share counts.

Officer data behaves differently from many European registers. get_officers may expose board and executive information tied to disclosed filings rather than a continuously maintained commercial register snapshot. Dates matter during cross-border director matching. A director can vanish for one filing cycle, then reappear after a governance restructure.

The gaps that catch diligence teams

OpenDART is not a beneficial ownership register in the European sense.

You will not get AML-gated UBO data comparable to some historical transparency registers. Korea’s disclosure regime centres on listed-company reporting obligations, securities compliance, and material ownership disclosures.

Private-company coverage is uneven too. If the target is a small unlisted manufacturing subsidiary sitting outside reporting thresholds, the disclosure surface may be thin. Korean court register extracts and local counsel still matter.

Document retrieval gets messy fast. Some filings expose structured metadata with attached HTML sections. Others depend heavily on embedded documents that do not parse cleanly. Tables inside Korean-language disclosures remain awkward to extract even when the filing itself is public.

That distinction matters during acquisition financing reviews. A recent debt package I checked referenced guarantees inside an attachment that several aggregator exports skipped because their parser failed on the embedded section layout.

OpenRegistry does not reinterpret those attachments. It returns the registry material as supplied upstream.

Querying OpenDART through MCP

The workflow is usually search first, then pivot into filings.

A basic company lookup:

{
  "tool": "search_companies",
  "arguments": {
    "jurisdiction": "KR",
    "query": "Samsung Electronics"
  }
}
Enter fullscreen mode Exit fullscreen mode

Once you have the identifier, pull the profile directly:

{
  "tool": "get_company_profile",
  "arguments": {
    "jurisdiction": "KR",
    "company_number": "005930"
  }
}
Enter fullscreen mode Exit fullscreen mode

For live diligence work, filings are often more useful than the static profile.

{
  "tool": "list_filings",
  "arguments": {
    "jurisdiction": "KR",
    "company_number": "005930"
  }
}
Enter fullscreen mode Exit fullscreen mode

If a filing references a material transaction, governance event, or amendment, retrieve the underlying document:

{
  "tool": "fetch_document",
  "arguments": {
    "jurisdiction": "KR",
    "document_id": "RCP20260318001234"
  }
}
Enter fullscreen mode Exit fullscreen mode

One practical point for automation teams: keep the original Korean text somewhere in the pipeline. Translating too early tends to flatten legal distinctions inside securities disclosures and board resolutions. I have seen machine translation collapse standing auditor and outside director roles into the same English label.

Filing cadence during cross-border deals

Korean targets often sit inside broader Asia-Pacific supply chains with holding entities elsewhere. During diligence on a battery-sector supplier, the Japanese parent looked operationally quiet in outside datasets. OpenDART filings on the Korean subsidiary showed recent capital activity plus a related-party transaction that had not yet propagated through vendor feeds.

That timing gap affects valuation work. It also affects sanctions reviews when ownership percentages or affiliate guarantees move shortly before close.

For M&A teams, the practical pattern is not replacing existing datasets outright. We still keep subscription products for modelling layers and broad screening. Registry-direct access is where you verify filing chronology, disclosure corrections, or officer changes against the upstream source.

OpenRegistry currently serves 27 jurisdictions including KR, GB, IT, JP, NL, and RU through a single MCP endpoint. Runtime coverage differs by registry. The live jurisdiction matrix and MCP documentation are at https://openregistry.sophymarine.com/mcp

Top comments (0)