<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: OpenRegistry</title>
    <description>The latest articles on DEV Community by OpenRegistry (@openregistry).</description>
    <link>https://dev.to/openregistry</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3887433%2F5bf952c8-814a-4f0d-be42-3667f94e9592.png</url>
      <title>DEV Community: OpenRegistry</title>
      <link>https://dev.to/openregistry</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/openregistry"/>
    <language>en</language>
    <item>
      <title>Monaco’s RCI registry: what you actually get from the data</title>
      <dc:creator>OpenRegistry</dc:creator>
      <pubDate>Sun, 21 Jun 2026 15:01:52 +0000</pubDate>
      <link>https://dev.to/openregistry/monacos-rci-registry-what-you-actually-get-from-the-data-2k92</link>
      <guid>https://dev.to/openregistry/monacos-rci-registry-what-you-actually-get-from-the-data-2k92</guid>
      <description>&lt;p&gt;Monaco lists roughly 14,000 active entities in the Registre du Commerce et de l’Industrie (RCI). The register is small. That scale changes how you read it during diligence. Larger European registries carry dense corporate histories; Monaco does not. The dataset stays thin, yet updates often surface quickly because the RCI itself is the primary record.&lt;/p&gt;

&lt;p&gt;I ran into this during a small‑cap hospitality acquisition. The target group held a Monaco distribution subsidiary. Our diligence folder included an export from an aggregator that still listed the previous gérant. The RCI entry had already switched to the new one. The filing was only a few weeks old. Once paperwork reaches the registry, the change usually appears without much lag.&lt;/p&gt;

&lt;h3&gt;
  
  
  What the RCI actually returns
&lt;/h3&gt;

&lt;p&gt;RCI entries stay concise. Long historical trails are rare. The register concentrates on the entity as it currently stands in law.&lt;/p&gt;

&lt;p&gt;Through OpenRegistry the &lt;code&gt;get_company_profile&lt;/code&gt; tool returns fields taken from the RCI extract itself. Typical fields include the company name and its RCI number. You also receive the legal form, registered address, incorporation date, declared activity, plus the stated share capital.&lt;/p&gt;

&lt;p&gt;The raw &lt;code&gt;jurisdiction_data&lt;/code&gt; payload often keeps the registry’s own wording. Monaco entries frequently retain French field names exactly as written in the extract. You will see labels such as &lt;code&gt;forme_juridique&lt;/code&gt;, &lt;code&gt;capital_social&lt;/code&gt;, or &lt;code&gt;date_immatriculation&lt;/code&gt;. Leaving them untouched helps when you compare the response with the official PDF extract or a court filing.&lt;/p&gt;

&lt;p&gt;Officer information comes from a separate request. The &lt;code&gt;get_officers&lt;/code&gt; tool returns the individuals or corporate managers recorded against the entity. Monaco companies often show titles such as &lt;code&gt;gerant&lt;/code&gt; or &lt;code&gt;administrateur&lt;/code&gt;. Some legal forms list a &lt;code&gt;president&lt;/code&gt;. The record normally gives the person’s name together with the role. Appointment dates appear if the filing included them.&lt;/p&gt;

&lt;p&gt;Filings exist, though the stream stays light. Large registries might show decades of documents for a single company. Monaco entities often surface only a handful. When filings are present, &lt;code&gt;list_filings&lt;/code&gt; returns references to items such as amended statutes or registry extracts. The files themselves are usually PDFs of the submitted paperwork. Structured filing metadata is uncommon.&lt;/p&gt;

&lt;p&gt;That changes the emphasis during diligence. The current legal snapshot matters more than the document trail.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fields you will not see
&lt;/h3&gt;

&lt;p&gt;Monaco restricts access to ownership data.&lt;/p&gt;

&lt;p&gt;The beneficial ownership register sits behind AML controls and does not appear in the public RCI interface. Because the source registry does not publish that material openly, &lt;code&gt;get_persons_with_significant_control&lt;/code&gt; returns nothing for this jurisdiction.&lt;/p&gt;

&lt;p&gt;Shareholder disclosure is also narrow. Many Monaco companies do not publish shareholder lists in the public register. Even where the profile shows the total share capital, the distribution of those shares rarely appears.&lt;/p&gt;

&lt;p&gt;Financial statements form another gap. The RCI is not a financial disclosure platform in the way the UK system operates. Revenue figures will not appear in the registry response. Balance sheet data will not either.&lt;/p&gt;

&lt;p&gt;The result is a register that confirms legal existence and governance. The economic picture mostly sits elsewhere.&lt;/p&gt;

&lt;h3&gt;
  
  
  Querying Monaco via the MCP tools
&lt;/h3&gt;

&lt;p&gt;The RCI can be queried through the OpenRegistry MCP server using the same pattern used for other jurisdictions. Start with a name search.&lt;/p&gt;

&lt;p&gt;Example tool call:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;search_companies&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;MC&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;query&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;SOCIETE DES BAINS DE MER&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This returns matching entities together with their RCI numbers. Once you have the registration number, request the company profile.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;get_company_profile&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;MC&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;56S00523&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Officer records come from another call.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;get_officers&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;MC&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;56S00523&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the registry lists documents for the entity, the filing index exposes them and provides document identifiers.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;list_filings&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;MC&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;56S00523&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A document can then be retrieved with &lt;code&gt;fetch_document&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Practical use in cross‑border diligence
&lt;/h3&gt;

&lt;p&gt;Monaco rarely appears on its own in transaction work. Most often it sits inside a wider European structure. I usually encounter it as a holding or distribution vehicle connected to French or Italian operating subsidiaries.&lt;/p&gt;

&lt;p&gt;Officer matching helps here.&lt;/p&gt;

&lt;p&gt;Pull the Monaco directors from the RCI record. Then check the same names across other national registries. The MCP endpoint already exposes several European ones. When the same person appears across two subsidiaries, the overlap often hints at where the group’s operational centre actually sits. Ownership disclosure may remain opaque; the management pattern still tells a story.&lt;/p&gt;

&lt;p&gt;Capital adjustments also surface quickly in Monaco records. Filings that change the &lt;code&gt;capital_social&lt;/code&gt; figure tend to appear soon after the corporate action. A capital increase during a live transaction window can signal restructuring within the group.&lt;/p&gt;

&lt;p&gt;RCI updates sometimes reveal dormant companies returning to use. A new gérant can be the first clue. A fresh registered address can signal the same thing. Shelf entities occasionally reappear this way when a group needs a local vehicle.&lt;/p&gt;

&lt;p&gt;None of this replaces deeper ownership work. Monaco’s framework limits what the public register shows. The registry still answers the early diligence questions. Does the entity exist? Who manages it today? Has anything changed recently?&lt;/p&gt;

&lt;p&gt;Direct queries to the register avoid the lag that appears in aggregator datasets. The Monaco RCI endpoint is available through the OpenRegistry MCP server at &lt;a href="https://openregistry.sophymarine.com" rel="noopener noreferrer"&gt;https://openregistry.sophymarine.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>kyb</category>
      <category>mcp</category>
      <category>compliance</category>
    </item>
    <item>
      <title>Iceland company registry: querying Skatturinn in code</title>
      <dc:creator>OpenRegistry</dc:creator>
      <pubDate>Sat, 20 Jun 2026 15:01:58 +0000</pubDate>
      <link>https://dev.to/openregistry/iceland-company-registry-querying-skatturinn-in-code-1dic</link>
      <guid>https://dev.to/openregistry/iceland-company-registry-querying-skatturinn-in-code-1dic</guid>
      <description>&lt;p&gt;More than 55,000 legal entities appear in Iceland’s national register maintained by &lt;strong&gt;Skatturinn&lt;/strong&gt;, the Directorate of Internal Revenue. For KYB teams that number matters. The dataset is small. A direct register lookup often finishes faster than a query against one of the legacy paid databases during onboarding.&lt;/p&gt;

&lt;p&gt;Iceland never built a large commercial disclosure portal. The tax authority keeps the core company register and attaches each entity to a national identification number called the &lt;strong&gt;kennitala&lt;/strong&gt;. Every company receives one at incorporation.&lt;/p&gt;

&lt;p&gt;That single number changes how a compliance check works. When the onboarding form collects the kennitala, matching becomes deterministic. Many jurisdictions push teams toward fuzzy name searches spread across several registers. Iceland usually starts with one identifier and a single lookup.&lt;/p&gt;

&lt;p&gt;The first verification step is plain enough. Confirm the submitted kennitala resolves to an active entity. Then compare the registry name with the onboarding record. If those match, the remaining review scope shrinks quickly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data returned by Skatturinn
&lt;/h2&gt;

&lt;p&gt;The Skatturinn register publishes core identity details for the company along with basic management information. OpenRegistry returns the upstream response inside &lt;code&gt;jurisdiction_data&lt;/code&gt;. Nothing gets rewritten. The fields arrive exactly as the registry publishes them.&lt;/p&gt;

&lt;p&gt;A &lt;code&gt;get_company_profile&lt;/code&gt; request usually returns attributes such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;kennitala&lt;/code&gt; – Icelandic company identification number
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;heiti&lt;/code&gt; – legal entity name
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;heimilisfang&lt;/code&gt; – registered address
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;postnumer&lt;/code&gt; – postal code
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;skraningardagur&lt;/code&gt; – registration date
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;rekstrarform&lt;/code&gt; – legal structure such as ehf. (private limited company)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Officer data comes from the same register. Call &lt;code&gt;get_officers&lt;/code&gt; and the payload often includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;nafn&lt;/code&gt; – officer name
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;kennitala&lt;/code&gt; – personal or corporate identifier
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;hlutverk&lt;/code&gt; – role in the entity
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;skipunardagur&lt;/code&gt; – appointment date
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those fields stay in Icelandic. OpenRegistry does not translate registry terminology or reshape the schema. Auditors usually prefer that. The wording matches the official source, which helps when someone reviews a historical compliance file months later.&lt;/p&gt;

&lt;p&gt;The kennitala itself tends to stay stable across the life of the company. Many compliance systems store it as the primary reference and reuse the same number for periodic refresh checks. Simple. Reliable.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the register does not expose
&lt;/h2&gt;

&lt;p&gt;Skatturinn publishes less ownership information than some European registers. Shareholder lists rarely appear through the same interface. Beneficial ownership data sits outside the standard company dataset.&lt;/p&gt;

&lt;p&gt;That arrangement mirrors the wider European position after the Court of Justice ruling in case &lt;strong&gt;C‑601/20&lt;/strong&gt;. Several beneficial ownership registers moved behind controlled AML access following that judgment. Iceland follows roughly the same pattern. Core corporate identity remains public. Ownership disclosure typically lives in regulated compliance channels.&lt;/p&gt;

&lt;p&gt;For KYB engineers the split is manageable. Treat Skatturinn as the source of record for incorporation status and officer roles. Ownership checks normally pull from a different dataset maintained under AML access controls.&lt;/p&gt;

&lt;h2&gt;
  
  
  Querying the register through OpenRegistry MCP
&lt;/h2&gt;

&lt;p&gt;OpenRegistry exposes the Icelandic register through the same MCP interface used for the other jurisdictions on the platform. The client sends the jurisdiction code &lt;code&gt;IS&lt;/code&gt; with either a name fragment or an identifier.&lt;/p&gt;

&lt;p&gt;Most workflows begin with a search call.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;search_companies(&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"jurisdiction"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"IS"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"query"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Eimskip"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Production systems rarely rely on names alone. They usually send the kennitala directly. Identification numbers remove ambiguity and shorten the audit trail when a compliance analyst reviews the lookup later.&lt;/p&gt;

&lt;p&gt;Once the entity is confirmed, request the full register record.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;get_company_profile(&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"jurisdiction"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"IS"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"company_number"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"kennitala-from-search"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Officer information comes from the same source.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;get_officers(&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"jurisdiction"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"IS"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"company_number"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"kennitala-from-search"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each call queries the register in real time. The response includes OpenRegistry’s structured wrapper plus the raw &lt;code&gt;jurisdiction_data&lt;/code&gt; payload returned by Skatturinn.&lt;/p&gt;

&lt;h2&gt;
  
  
  How this fits into a KYB pipeline
&lt;/h2&gt;

&lt;p&gt;Onboarding Icelandic companies is usually short compared with many EU jurisdictions. A typical compliance workflow inside a payments or fintech stack often looks like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Merchant submits legal name together with the kennitala.
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;search_companies&lt;/code&gt; verifies the entity exists in the register.
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;get_company_profile&lt;/code&gt; confirms legal name and registration data.
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;get_officers&lt;/code&gt; returns the current management roles.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Every step stores the registry response as evidence. Later, if internal audit revisits the file, the same identifier can reproduce the lookup exactly.&lt;/p&gt;

&lt;p&gt;The size of the register also changes how batch checks behave. Iceland holds far fewer entities than jurisdictions with tens of millions of companies. Refresh jobs therefore run quickly. The identifier space stays small, and the register queries remain lightweight even under steady load.&lt;/p&gt;

&lt;p&gt;For engineers building KYB infrastructure, Iceland shows the advantage of identifier‑first verification. The register structure removes much of the name‑matching guesswork. The modest dataset keeps real‑time queries predictable as traffic grows.&lt;/p&gt;

&lt;p&gt;OpenRegistry exposes the Skatturinn register through the MCP server at &lt;a href="https://openregistry.sophymarine.com" rel="noopener noreferrer"&gt;https://openregistry.sophymarine.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>kyb</category>
      <category>compliance</category>
      <category>mcp</category>
    </item>
    <item>
      <title>Cayman Islands company register — what the public record shows</title>
      <dc:creator>OpenRegistry</dc:creator>
      <pubDate>Fri, 19 Jun 2026 15:01:55 +0000</pubDate>
      <link>https://dev.to/openregistry/cayman-islands-company-register-what-the-public-record-shows-40ii</link>
      <guid>https://dev.to/openregistry/cayman-islands-company-register-what-the-public-record-shows-40ii</guid>
      <description>&lt;p&gt;More than 120,000 active companies sit on the Cayman Islands register. The territory itself has under 80,000 residents. That imbalance explains why Cayman appears so often in fund structures, SPV stacks, and cross‑border acquisition diagrams.&lt;/p&gt;

&lt;p&gt;The registry does not behave like most European ones. Public corporate data lives on two different surfaces. The Registrar of Companies holds the legal entity record. The Cayman Islands Monetary Authority (CIMA) maintains a separate register for regulated bodies such as funds or insurers. A proper check usually means querying both.&lt;/p&gt;

&lt;p&gt;Start with the Registrar. A company profile returned through OpenRegistry contains the basic identifiers most people expect. The response includes fields like &lt;code&gt;company_number&lt;/code&gt; and &lt;code&gt;name&lt;/code&gt;. Status appears as its own field. The incorporation date arrives separately as well.&lt;/p&gt;

&lt;p&gt;The registry payload also includes a block called &lt;code&gt;jurisdiction_data&lt;/code&gt;. That section carries values straight from the Cayman register. Entity classification appears there. So does the registered office provider. Cayman distinguishes clearly between forms such as Exempted Company or Limited Liability Company, and the registry keeps that wording intact.&lt;/p&gt;

&lt;p&gt;That classification carries real meaning. International listings routed through Cayman almost always sit inside an Exempted Company. The structure exists for business conducted outside the islands. It is designed for capital moving across borders.&lt;/p&gt;

&lt;p&gt;Look at a typical ownership chain. The Cayman entity often acts as the legal issuer. Operational subsidiaries sit somewhere else entirely. Hong Kong appears often. Singapore does as well. Delaware turns up frequently in US‑linked structures.&lt;/p&gt;

&lt;p&gt;A lookup through the MCP server begins with a search.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"tool"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"search_companies"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"arguments"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"jurisdiction"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"KY"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"query"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Example Holdings Ltd"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The response returns candidate entities with their registry numbers. That number matters far more than the name. Cayman structures reuse naming patterns constantly. Many funds contain “Holdings”, “Capital”, or “Investment” in the title. The registry number becomes the stable reference.&lt;/p&gt;

&lt;p&gt;Once the number is known, request the company profile.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"tool"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"get_company_profile"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"arguments"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"jurisdiction"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"KY"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"company_number"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"123456"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The response keeps the registry structure intact inside &lt;code&gt;jurisdiction_data&lt;/code&gt;. You receive the official name exactly as recorded. The incorporation date appears in the same format used by the register. Legal status is passed through unchanged. The registered office address arrives the same way.&lt;/p&gt;

&lt;p&gt;OpenRegistry does not reinterpret the record. No risk scoring. No derived labels. The MCP client receives the raw registry fields and decides how to process them.&lt;/p&gt;

&lt;p&gt;In finance work, the registered office line often carries more signal than people expect. Cayman companies must maintain a licensed corporate service provider on the islands. A single provider may appear across thousands of entities. Patterns start to show up quickly. Several SPVs sharing the same office provider often belong to the same financing structure.&lt;/p&gt;

&lt;p&gt;Director information forms another layer. Visibility depends on the company. Some entities file director registers that appear in the public interface. Others restrict access through their service provider.&lt;/p&gt;

&lt;p&gt;When the register exposes officers, OpenRegistry returns them through &lt;code&gt;get_officers&lt;/code&gt;. Field names follow the registry’s own structure. Nothing is renamed.&lt;/p&gt;

&lt;p&gt;Filings look sparse compared with many European systems. You will not find the long trail of annual accounts common in the UK. France exposes far more filings as well. Cayman records tend to focus on structural events. Incorporation documents appear. Name changes show up. Status updates appear when they occur.&lt;/p&gt;

&lt;p&gt;If the register exposes a document reference, the MCP server can retrieve the file using &lt;code&gt;fetch_document&lt;/code&gt;. The request uses the identifier returned in the filings list.&lt;/p&gt;

&lt;p&gt;The second surface sits with CIMA. Regulated funds appear there. Investment advisers and insurers do too. Entries contain licence status and the supervisory category assigned by the authority. A regulatory registration number appears as well.&lt;/p&gt;

&lt;p&gt;Analysts usually cross‑check both sources. The legal issuer might be an Exempted Company listed by the Registrar. The regulated investment fund may appear only in the CIMA database.&lt;/p&gt;

&lt;p&gt;Some data remains outside public reach. Cayman operates a beneficial ownership regime under the Beneficial Ownership Transparency framework. The register itself is not public. Access is limited to competent authorities and law‑enforcement bodies. When AML work requires beneficial owners, investigators normally rely on disclosures further along the ownership chain.&lt;/p&gt;

&lt;p&gt;Freshness is another detail worth keeping in mind. Many Cayman companies exist purely as transaction vehicles. They are incorporated for a listing or financing deal. Then they sit unchanged for years. Updates arrive rarely. A strike‑off notice can become the first signal that anything has changed.&lt;/p&gt;

&lt;p&gt;This split model explains why programmatic access helps. IPO preparation often requires confirming the Cayman issuer while tracing subsidiaries elsewhere. The same review may involve UK companies. Hong Kong entities appear frequently in the same structures. Querying each register manually slows everything down.&lt;/p&gt;

&lt;p&gt;OpenRegistry exposes the Cayman Islands register together with 26 other national company registries through one MCP endpoint. Connection details and documentation sit at &lt;a href="https://openregistry.sophymarine.com" rel="noopener noreferrer"&gt;https://openregistry.sophymarine.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>kyb</category>
      <category>compliance</category>
      <category>api</category>
    </item>
    <item>
      <title>Querying Russia’s EGRUL registry: what the FNS actually exposes</title>
      <dc:creator>OpenRegistry</dc:creator>
      <pubDate>Thu, 18 Jun 2026 15:02:07 +0000</pubDate>
      <link>https://dev.to/openregistry/querying-russias-egrul-registry-what-the-fns-actually-exposes-3nd8</link>
      <guid>https://dev.to/openregistry/querying-russias-egrul-registry-what-the-fns-actually-exposes-3nd8</guid>
      <description>&lt;p&gt;Every Russian legal entity receives a 13‑digit OGRN at the moment it enters the Единный государственный реестр юридических лиц (EGRUL). The number does real work. Federal Law No. 129‑FZ “On State Registration of Legal Entities and Individual Entrepreneurs” treats the EGRUL entry as the authoritative corporate record for most statutory purposes. When a dispute reaches an arbitration court, lawyers usually place the EGRUL extract near the front of the evidence bundle.&lt;/p&gt;

&lt;p&gt;Russian corporate disclosure sits across two public systems run by the Federal Tax Service (ФНС). EGRUL stores registration data for companies. A separate platform, ГИР БО (GIR BO), publishes accounting statements. Each operates under its own legal framework.&lt;/p&gt;

&lt;p&gt;EGRUL exists under Federal Law No. 129‑FZ together with several Ministry of Finance orders that describe how a registry entry must be structured. GIR BO appeared later through Federal Law No. 402‑FZ “On Accounting”. Companies submit their annual financial statements to the tax authority. GIR BO publishes those filings once processed.&lt;/p&gt;

&lt;p&gt;On paper the split looks tidy. Actual registry queries tell a slightly messier story. Small quirks surface as soon as you start pulling the data through an API.&lt;/p&gt;

&lt;p&gt;Registry fields that actually appear in upstream records&lt;/p&gt;

&lt;p&gt;Most EGRUL entries revolve around three identifiers: OGRN, INN, KPP. OGRN is the state registration number issued at incorporation. INN identifies the taxpayer in the Russian tax system. KPP shows the reason for registration at a specific tax office. Those numbers appear on invoices, contracts, disclosure forms. They anchor the company to the tax infrastructure.&lt;/p&gt;

&lt;p&gt;A registry lookup also returns the canonical name fields recorded by the tax authority. The field &lt;code&gt;full_name&lt;/code&gt; normally carries the statutory Russian name written in the charter. &lt;code&gt;short_name&lt;/code&gt; appears when the charter defines one. The dataset also includes &lt;code&gt;registration_date&lt;/code&gt; together with a &lt;code&gt;status&lt;/code&gt; flag that indicates whether the entity remains active or has been liquidated.&lt;/p&gt;

&lt;p&gt;Director data sits directly in the EGRUL entry. The register records the individual authorised to act on behalf of the company without a power of attorney. Registry datasets usually describe that position as the head of the executive body. In day‑to‑day terms it maps fairly closely to a managing director entry in several European registers.&lt;/p&gt;

&lt;p&gt;Ownership disclosure is narrower than many compliance teams expect. EGRUL lists the founders or participants who contributed to the charter capital. In raw registry output the section usually appears as &lt;code&gt;founders&lt;/code&gt;. Share percentages sometimes appear when the capital structure is simple.&lt;/p&gt;

&lt;p&gt;That field does not represent beneficial ownership. Russian companies must identify their beneficial owners internally under Federal Law No. 115‑FZ covering AML and counter‑terrorist financing duties. The public registry never publishes that information.&lt;/p&gt;

&lt;p&gt;Operational activity appears through OKVED classification codes. These sector codes matter during sanctions screening or export‑control analysis. Even when a company description says very little, the OKVED list often reveals what the firm actually does.&lt;/p&gt;

&lt;p&gt;What the registers do not provide&lt;/p&gt;

&lt;p&gt;EGRUL is not a beneficial ownership register. Teams familiar with the UK PSC framework under Companies Act 2006 s.790E will not find an equivalent dataset here. Russian AML law requires companies to maintain beneficial owner records and disclose them to banks or regulators when asked. Public access never became part of the model.&lt;/p&gt;

&lt;p&gt;GIR BO comes with its own constraints. The system publishes accounting statements filed with the tax authority, though the dataset updates only once per reporting year. Filings normally contain the balance sheet and the profit statement required under Russian accounting standards. Supporting schedules appear irregularly. Some entities submit abbreviated accounts.&lt;/p&gt;

&lt;p&gt;Another detail concerns extracts. The official “выписка из ЕГРЮЛ” still carries weight in litigation and due diligence. Machine‑readable registry responses mirror the same entry stored by the tax authority. Lawyers nevertheless attach the PDF extract to court filings or transaction disclosure bundles because judges recognise the format immediately.&lt;/p&gt;

&lt;p&gt;Querying the registry through OpenRegistry MCP&lt;/p&gt;

&lt;p&gt;OpenRegistry exposes Russian registry data through the same MCP interface used for other jurisdictions on the server such as GB, FR, NL and RU. The service queries Federal Tax Service sources and returns the raw upstream fields under &lt;code&gt;jurisdiction_data&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Most sessions start with a search by company name or identifier.&lt;/p&gt;

&lt;p&gt;Tool call example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;search_companies&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;RU&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;query&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Газпром&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The response lists candidate entities with their OGRN and INN numbers. Once you have the registration number you can pull the full registry entry.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;get_company_profile&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;RU&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1027700070518&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That response includes identifiers, the registration date, the legal address, director information, and the founder section exactly as published by the tax authority.&lt;/p&gt;

&lt;p&gt;Financial statements from GIR BO appear through the filings endpoint when the tax service has released them.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;list_filings&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;RU&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1027700070518&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the register exposes an official extract or another statement document, the file can be retrieved directly.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;fetch_document&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;RU&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;document_id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;registry-document-id&amp;gt;&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The returned PDF uses the same выписка format that often appears in diligence memoranda.&lt;/p&gt;

&lt;p&gt;Russian corporate disclosure often feels opaque to teams used to the European BRIS datasets. The structure is simpler once you trace the legal boundaries. The operative corporate record lives in EGRUL. Accounting statements sit in GIR BO. Beneficial ownership information sits outside the public register under AML obligations.&lt;/p&gt;

&lt;p&gt;For sanctions analysis the director entry and the founder list still provide useful signals. Ownership chains frequently pass through domestic holding companies whose own EGRUL entries reveal the next layer of shareholders. Walk those entries step by step and a corporate structure begins to appear, even without a public UBO register.&lt;/p&gt;

&lt;p&gt;That detail matters when applying ownership thresholds such as the OFAC 50 percent rule or similar limits used in EU and UK sanctions regimes. The legal analysis depends on shareholdings recorded in the register rather than declared beneficial owners.&lt;/p&gt;

&lt;p&gt;Live access to the underlying registries is available through the MCP endpoint at &lt;a href="https://openregistry.sophymarine.com" rel="noopener noreferrer"&gt;https://openregistry.sophymarine.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>mcp</category>
      <category>kyb</category>
      <category>compliance</category>
    </item>
    <item>
      <title>Reading India’s MCA registry via data.gov.in: field quirks</title>
      <dc:creator>OpenRegistry</dc:creator>
      <pubDate>Wed, 17 Jun 2026 10:04:38 +0000</pubDate>
      <link>https://dev.to/openregistry/reading-indias-mca-registry-via-datagovin-field-quirks-5929</link>
      <guid>https://dev.to/openregistry/reading-indias-mca-registry-via-datagovin-field-quirks-5929</guid>
      <description>&lt;p&gt;India assigns every registered company a 21‑character Corporate Identification Number (CIN). Each position carries a signal: listing status, industry classification, state code, year of incorporation, then a six‑digit sequence. Anyone tracing ownership chains across borders notices quickly that the Ministry of Corporate Affairs dataset behaves unlike most European registers.&lt;/p&gt;

&lt;p&gt;The MCA registry acts as the statutory record for Indian companies and LLPs. Most people reach it through the MCA portal. Another entry point sits in the government’s open data catalogue at data.gov.in, where parts of the register appear as downloadable datasets. OpenRegistry queries that catalogue directly. The response mirrors the upstream fields. No scoring layer. No attempt to interpret the values. If the register publishes a column, the API returns the same column.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fields you actually get back
&lt;/h3&gt;

&lt;p&gt;The MCA dataset mixes routine administrative attributes with identifiers investigators rely on when following ownership trails. A standard company profile response includes entries such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CIN&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;company_name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;company_status&lt;/code&gt; such as Active, Strike Off, or Under Liquidation&lt;/li&gt;
&lt;li&gt;&lt;code&gt;class_of_company&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;company_category&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;date_of_incorporation&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;registered_office_address&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;roc_code&lt;/code&gt;, which identifies the relevant Registrar of Companies office&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;OpenRegistry keeps the MCA column names intact inside &lt;code&gt;jurisdiction_data&lt;/code&gt;. That detail matters. Court filings, insolvency orders, and regulatory notices often cite those exact labels, so matching them becomes straightforward.&lt;/p&gt;

&lt;p&gt;Officer data arrives through a separate query. Director listings typically include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;director_name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;din&lt;/code&gt; (Director Identification Number)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;designation&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;appointment_date&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The DIN is the stable anchor. One individual may sit on dozens of boards across unrelated entities. The identifier lets you pivot cleanly from one company to another without guessing whether two similar names refer to the same person. Anyone who has tried mapping common surnames in Mumbai incorporations will recognise the problem.&lt;/p&gt;

&lt;p&gt;Filings appear as well. When present, &lt;code&gt;list_filings&lt;/code&gt; returns entries attached to the company’s CIN. Each item usually carries a description, the filing date, plus a document identifier. That identifier can then be passed to &lt;code&gt;fetch_document&lt;/code&gt; if the underlying dataset exposes the file.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gaps in the public dataset
&lt;/h3&gt;

&lt;p&gt;The MCA register does not operate as a beneficial ownership database in the sense many investigators expect. India introduced Significant Beneficial Owner rules through amendments to the Companies Act. Public datasets released through data.gov.in still fall short of a full beneficial ownership register.&lt;/p&gt;

&lt;p&gt;That gap becomes visible in cross‑border work. A CIN places an entity inside the administrative structure of the register. It does not reveal the natural person controlling the shareholding chain behind the company.&lt;/p&gt;

&lt;p&gt;Historical data presents another constraint. The upstream dataset generally reflects the present state of the record. If a director resigned years ago and the current listing no longer shows them, the API output will not reconstruct that earlier timeline. The past disappears unless you captured it when it was still listed.&lt;/p&gt;

&lt;p&gt;Document access varies too. Some filings referenced in the dataset link to documents that remain gated behind the MCA portal. Reporters often end up retrieving certain PDFs by hand.&lt;/p&gt;

&lt;h3&gt;
  
  
  Querying the MCA dataset through MCP
&lt;/h3&gt;

&lt;p&gt;OpenRegistry exposes the Indian register through the same MCP tools used for the other 27 jurisdictions available through the server. The request pattern stays consistent across countries. That consistency helps once an investigation moves from one jurisdiction to another.&lt;/p&gt;

&lt;p&gt;Searching by company name:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;search_companies&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;IN&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;query&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Adani Enterprises&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Fetching the company profile using the CIN:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;get_company_profile&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;IN&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;L17120GJ1993PLC019067&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Retrieving the current directors:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;get_officers&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;IN&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;L17120GJ1993PLC019067&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Listing filings tied to the company:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;list_filings&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;IN&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;L17120GJ1993PLC019067&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each request queries the MCA‑derived dataset rather than a rewritten aggregation layer. The raw fields appear under &lt;code&gt;jurisdiction_data&lt;/code&gt;. That structure preserves the original schema so the response can be checked against the source register.&lt;/p&gt;

&lt;h3&gt;
  
  
  Practical use in cross‑border reporting
&lt;/h3&gt;

&lt;p&gt;Indian entities show up frequently in ownership chains tied to commodities trading, infrastructure development, and political finance reporting. Large investigative collaborations encounter them again and again.&lt;/p&gt;

&lt;p&gt;The CIN structure gives an early geographic hint. Characters six and seven encode the state associated with the Registrar of Companies. Gujarat incorporations use &lt;code&gt;GJ&lt;/code&gt;. Maharashtra entries usually carry &lt;code&gt;MH&lt;/code&gt;. A small clue, but it narrows the administrative trail before any document search begins.&lt;/p&gt;

&lt;p&gt;DIN numbers help once directors surface across several registers. A person listed on an Indian board may appear as an officer in another jurisdiction. When building a network graph of related companies, that single identifier removes a lot of guesswork.&lt;/p&gt;

&lt;p&gt;OpenRegistry exposes the MCA dataset through the same MCP interface used for the UK Companies House register, the Polish KRS, and Russia’s EGRUL extracts. Anyone who has spent time navigating CAPTCHA‑heavy registry sites will recognise the change in workflow.&lt;/p&gt;

&lt;p&gt;Connection details and usage examples sit at &lt;a href="https://openregistry.sophymarine.com" rel="noopener noreferrer"&gt;https://openregistry.sophymarine.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>mcp</category>
      <category>kyc</category>
      <category>compliance</category>
    </item>
    <item>
      <title>Indonesia AHU registry: what a PT lookup actually returns</title>
      <dc:creator>OpenRegistry</dc:creator>
      <pubDate>Fri, 12 Jun 2026 15:01:28 +0000</pubDate>
      <link>https://dev.to/openregistry/indonesia-ahu-registry-what-a-pt-lookup-actually-returns-1hed</link>
      <guid>https://dev.to/openregistry/indonesia-ahu-registry-what-a-pt-lookup-actually-returns-1hed</guid>
      <description>&lt;p&gt;Indonesia’s company register assigns an AHU number to every incorporated entity. The Ministry of Law and Human Rights issues it. The same identifier repeats across incorporation records, shareholder filings, and beneficial ownership disclosures. When you follow ownership through Indonesian paperwork, that number ties the trail together.&lt;/p&gt;

&lt;p&gt;Teams outside the country usually encounter AHU data through an export from one of the legacy paid databases. The issue is age. Their snapshot can trail the ministry system by months. I ran into this during a Jakarta diligence review. The data room showed two founders holding equal stakes. The ministry record disagreed. A capital restructuring had been filed three weeks earlier and one founder had already exited via a share transfer.&lt;/p&gt;

&lt;p&gt;The AHU register tracks two main company forms. Standard limited companies appear as PT entities. The Omnibus Law reforms introduced PT Perorangan, a simplified vehicle for a single owner. Both sit inside the same ministry system. Beneficial ownership disclosures live there too when a company files them.&lt;/p&gt;

&lt;p&gt;Query the registry through OpenRegistry and the response mirrors the upstream payload returned by the ministry. Field names stay in Indonesian. The MCP server places them inside &lt;code&gt;jurisdiction_data&lt;/code&gt; rather than translating them into a synthetic schema.&lt;/p&gt;

&lt;p&gt;A typical company profile includes fields such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;nama_perseroan&lt;/code&gt; for the registered company name in Indonesian
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;nomor_ahu&lt;/code&gt; for the AHU registration number
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;status_badan_hukum&lt;/code&gt; for the entity’s legal status
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;tanggal_pendirian&lt;/code&gt; for the incorporation date
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;alamat&lt;/code&gt; for the registered address
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;modal_dasar&lt;/code&gt; and &lt;code&gt;modal_disetor&lt;/code&gt; for authorised and paid‑up capital&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Governance records appear in separate structures depending on the filings a company has submitted. Director and supervisory roles usually retain their Indonesian titles. &lt;code&gt;Direksi&lt;/code&gt; refers to the management board. &lt;code&gt;Dewan komisaris&lt;/code&gt; denotes the supervisory board. Indonesia uses a two‑tier model. Those labels matter when you map who actually holds authority inside the firm.&lt;/p&gt;

&lt;p&gt;Beneficial ownership disclosures appear where the company has submitted them to the ministry. The upstream dataset exposes fields such as &lt;code&gt;nama_pemilik_manfaat&lt;/code&gt; and &lt;code&gt;kewarganegaraan&lt;/code&gt;. Coverage is uneven. Reporting depends on company submissions rather than an automated reconciliation across filings.&lt;/p&gt;

&lt;p&gt;The registry surface is narrower than the UK system many investigators expect. Companies House publishes long filing histories with attached documents. AHU behaves differently. The interface usually returns the current state of the register plus a small set of related records. The underlying Indonesian platform does store notarial deeds and other paperwork. Access often sits behind a separate paid request inside the ministry portal.&lt;/p&gt;

&lt;p&gt;That gap shows up during diligence work. Imagine the paid‑up capital figure changes between two registry pulls. The AHU entry confirms that the update took effect. The notarial deed that authorised the change might not appear in the response. Indonesian corporate law requires a notary to record many structural actions. Those deeds remain outside the core registry interface.&lt;/p&gt;

&lt;p&gt;The query pattern through the OpenRegistry MCP server matches the structure used for other jurisdictions. Start with a search call to locate the entity.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;search_companies&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ID&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;query&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;PT Tokopedia&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The response lists matching entities together with their AHU numbers. Once the identifier is known, the company profile call retrieves the full register snapshot.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;get_company_profile&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ID&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;AHU-0058743.AH.01.01&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Governance and ownership records sit behind separate endpoints.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;get_officers&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ID&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;AHU-0058743.AH.01.01&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the company has filed beneficial ownership disclosures, they appear here:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;get_persons_with_significant_control&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ID&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;AHU-0058743.AH.01.01&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each response comes straight from the ministry register. The server does not reinterpret Indonesian field names. If the AHU record changes tomorrow, the query output changes too. No cached translation layer in between.&lt;/p&gt;

&lt;p&gt;Indonesia becomes more interesting once the target sits inside a regional holding structure. A common arrangement places the parent company in Singapore or the Cayman Islands while Indonesian operating subsidiaries register through AHU. Mapping that structure means querying each jurisdiction directly. Subscription databases try to assemble corporate trees in advance. Over time they drift. Officer names remain outdated. Share allocations linger long after a transfer.&lt;/p&gt;

&lt;p&gt;PT Perorangan entities introduce another wrinkle. A single individual forms them. The shareholder and director often end up being the same person. A quick screening pass can misread that pattern as a nominee setup if the legal form is not recognised.&lt;/p&gt;

&lt;p&gt;For teams building automated diligence pipelines, the useful part is consistency. The same MCP interface that queries Indonesia also queries registries such as GB, NL, or HK. Each jurisdiction still returns its own upstream schema. The legal detail stays intact.&lt;/p&gt;

&lt;p&gt;The Indonesian registry endpoint is available through OpenRegistry at openregistry.sophymarine.com.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>kyb</category>
      <category>compliance</category>
      <category>mcp</category>
    </item>
    <item>
      <title>Malaysia’s SSM e-Info — what a KYB query actually returns</title>
      <dc:creator>OpenRegistry</dc:creator>
      <pubDate>Wed, 10 Jun 2026 15:01:35 +0000</pubDate>
      <link>https://dev.to/openregistry/malaysias-ssm-e-info-what-a-kyb-query-actually-returns-5eng</link>
      <guid>https://dev.to/openregistry/malaysias-ssm-e-info-what-a-kyb-query-actually-returns-5eng</guid>
      <description>&lt;p&gt;More than 1.6 million entities sit in Malaysia’s Suruhanjaya Syarikat Malaysia (SSM) register. Every Sdn. Bhd., Bhd., or LLP incorporated in the country begins life with a record there.&lt;/p&gt;

&lt;p&gt;For KYB checks, that register is the primary source. When a merchant claims Malaysian incorporation, auditors usually expect the trail to lead back to SSM itself, not to a cached dataset copied somewhere else. The practical question then becomes straightforward: what actually comes back from the registry when you query it?&lt;/p&gt;

&lt;h2&gt;
  
  
  What SSM e‑Info actually returns
&lt;/h2&gt;

&lt;p&gt;SSM e‑Info exposes the core company profile maintained by the registrar. Through OpenRegistry’s MCP server, those upstream fields appear intact inside &lt;code&gt;jurisdiction_data&lt;/code&gt;. They are not renamed. They are not flattened.&lt;/p&gt;

&lt;p&gt;A typical profile response contains the identifiers used during onboarding checks. Common fields include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;companyNo&lt;/code&gt; – the SSM registration number
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;companyName&lt;/code&gt; – the registered legal name
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;companyStatus&lt;/code&gt; – values such as EXISTING, DISSOLVED, or WINDING UP
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;companyType&lt;/code&gt; – the entity form, for example PRIVATE LIMITED or PUBLIC LIMITED
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;incorporationDate&lt;/code&gt; – the official incorporation date&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Address information usually appears in the same payload. Many SSM profiles include a &lt;code&gt;registeredAddress&lt;/code&gt; value. Business activity descriptions often appear as well, commonly aligned with Malaysian Standard Industrial Classification (MSIC) codes.&lt;/p&gt;

&lt;p&gt;Officer data tends to follow next in a KYB workflow. Director records are returned through the officers endpoint. The registry output normally contains the director’s name, an identification reference, and the appointment date. Those values also remain inside &lt;code&gt;jurisdiction_data&lt;/code&gt;. The original registry structure stays visible.&lt;/p&gt;

&lt;p&gt;Shareholding data exists in SSM filings. Access is uneven. A profile response does not always return a full shareholder table as structured data. Malaysian company law requires disclosure of share capital and shareholders through statutory filings. In practice the registry output may instead point to filings where that information sits.&lt;/p&gt;

&lt;p&gt;That distinction matters during an audit. Each field originates from the registry of incorporation. OpenRegistry passes through the values returned by SSM rather than rewriting them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you will not get from SSM
&lt;/h2&gt;

&lt;p&gt;SSM e‑Info is not a beneficial ownership register. Malaysia introduced beneficial ownership reporting through amendments to the Companies Act 2016, followed by the later BO framework. Access to those records is limited to competent authorities.&lt;/p&gt;

&lt;p&gt;A public query will not return UBO information. If a KYB workflow requires beneficial ownership, teams usually reconstruct it from shareholder filings, director relationships, or documents provided during onboarding.&lt;/p&gt;

&lt;p&gt;Historical coverage varies too. Some filings can be downloaded directly through SSM services. Others appear only as references inside the company profile. Compliance teams often begin with the profile. After that, they decide whether a document retrieval step is necessary.&lt;/p&gt;

&lt;p&gt;Sanctions screening sits outside the registry entirely. SSM confirms legal existence and corporate structure. It does not report sanctions exposure or watchlist matches. Those checks remain part of the screening layer in a compliance pipeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Querying SSM through OpenRegistry MCP
&lt;/h2&gt;

&lt;p&gt;OpenRegistry exposes the Malaysian register through the same MCP interface used for other supported jurisdictions. The server currently connects to 27 national company registries.&lt;/p&gt;

&lt;p&gt;Most KYB flows begin with a search. The assistant calls &lt;code&gt;search_companies&lt;/code&gt; using either the company name or a known registration number.&lt;/p&gt;

&lt;p&gt;Example tool call:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;search_companies&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;MY&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;query&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Grab Holdings&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The response returns candidate matches together with registry identifiers. In Malaysian records, the SSM registration number should be treated as the canonical key.&lt;/p&gt;

&lt;p&gt;With that number, the company profile endpoint returns the registry record.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;get_company_profile&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;MY&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;201401032123&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The response contains the incorporation date, registry status, registered address, and related fields placed inside &lt;code&gt;jurisdiction_data&lt;/code&gt;. Many compliance systems store those raw values directly in the KYB audit log. Later, a regulator can reproduce the exact lookup.&lt;/p&gt;

&lt;p&gt;Officer verification often follows.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;get_officers&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;MY&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;201401032123&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The call returns the individuals listed as directors or officers. Compliance tools usually pass those names into sanctions and adverse‑media screening.&lt;/p&gt;

&lt;p&gt;If filings are required, the workflow can list them first.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;list_filings&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;MY&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;201401032123&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Where documents are available, &lt;code&gt;fetch_document&lt;/code&gt; retrieves the file referenced by the registry.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Malaysian registry access matters in KYB
&lt;/h2&gt;

&lt;p&gt;Malaysia appears regularly in onboarding pipelines for marketplaces and payment platforms operating across ASEAN. A merchant might incorporate locally while selling into several neighbouring markets.&lt;/p&gt;

&lt;p&gt;The first control is registry verification. Systems need to confirm the company exists. They also check the registered legal name and identify the directors authorised to act for it.&lt;/p&gt;

&lt;p&gt;Direct registry access removes a common audit problem. Aggregated databases often trail the SSM register by weeks. Sometimes months. During a regulatory review the question becomes simple: what did the registry show at the moment you approved the merchant?&lt;/p&gt;

&lt;p&gt;A direct query answers that immediately. The onboarding system can store the SSM response payload alongside the timestamp of the check.&lt;/p&gt;

&lt;p&gt;The Malaysian register also becomes useful when investigators trace corporate chains. A holding company in Malaysia may sit above subsidiaries in Singapore or Hong Kong. Following that trail means pulling records from each jurisdiction’s own register.&lt;/p&gt;

&lt;p&gt;OpenRegistry exposes SSM e‑Info through MCP so assistants and compliance systems can run those checks against the live source. Connection details and documentation are available at &lt;a href="https://openregistry.sophymarine.com" rel="noopener noreferrer"&gt;https://openregistry.sophymarine.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>kyb</category>
      <category>compliance</category>
      <category>api</category>
    </item>
    <item>
      <title>Hong Kong Companies Registry: what the record actually shows</title>
      <dc:creator>OpenRegistry</dc:creator>
      <pubDate>Tue, 09 Jun 2026 15:02:45 +0000</pubDate>
      <link>https://dev.to/openregistry/hong-kong-companies-registry-what-the-record-actually-shows-475o</link>
      <guid>https://dev.to/openregistry/hong-kong-companies-registry-what-the-record-actually-shows-475o</guid>
      <description>&lt;p&gt;Hong Kong assigns every incorporated company a &lt;strong&gt;CR No.&lt;/strong&gt; The number comes from the Companies Registry (公司註冊處) and it stays with the entity for life. Change the name, the identifier remains. The register holds the statutory record for more than a million local companies plus registered non‑Hong Kong entities.&lt;/p&gt;

&lt;p&gt;Finance teams see this register often. Hong Kong sits inside many Asian holding structures. Listings pass through it. Bond vehicles do as well. Acquisition SPVs turn up here too. Most entries are private companies limited by shares. When someone needs to confirm which legal entity actually filed a document, the registry record settles the question.&lt;/p&gt;

&lt;p&gt;OpenRegistry exposes this register through its MCP server. A request triggers a live Companies Registry search. The response returns upstream fields as they appear in the official source. No reinterpretation layer. Just the record.&lt;/p&gt;

&lt;h3&gt;
  
  
  What the registry actually returns
&lt;/h3&gt;

&lt;p&gt;A &lt;code&gt;get_company_profile&lt;/code&gt; call exposes the same fields visible through the official search interface.&lt;/p&gt;

&lt;p&gt;Typical responses include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;company_name&lt;/code&gt;, sometimes with a Chinese name variant
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;company_number&lt;/code&gt; (the CR No.)
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;company_type&lt;/code&gt;, frequently “Private company limited by shares”
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;date_of_incorporation&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;company_status&lt;/code&gt;, for example “Live” or “Dissolved”
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;registered_address&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those are the basics. The registry’s internal structure also appears in the raw payload.&lt;/p&gt;

&lt;p&gt;OpenRegistry keeps that inside &lt;code&gt;jurisdiction_data&lt;/code&gt;. The block mirrors the structure used by the registry itself. Sometimes the wording comes straight from the incorporation filing. Sometimes it references the statutory form submitted at registration. Either way, the text reflects the original source.&lt;/p&gt;

&lt;p&gt;Officer information lives behind a separate request. Call &lt;code&gt;get_officers&lt;/code&gt; and the response lists directors plus the company secretary currently recorded.&lt;/p&gt;

&lt;p&gt;That secretary role is rarely missing. Hong Kong law requires every company to appoint one, even when the board itself contains only a single director. Small holding companies still show the role.&lt;/p&gt;

&lt;p&gt;Filings form another useful surface. A &lt;code&gt;list_filings&lt;/code&gt; call typically returns entries such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;NAR1&lt;/strong&gt; annual return
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NNC1&lt;/strong&gt; incorporation form
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ND2A&lt;/strong&gt; notice of director appointment or resignation
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NR1&lt;/strong&gt; change of registered office&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Spend a little time reviewing Hong Kong company files and these codes start to look familiar. They come straight from the statutory forms defined under the Companies Ordinance.&lt;/p&gt;

&lt;h3&gt;
  
  
  What you will not see
&lt;/h3&gt;

&lt;p&gt;The public search does not show shareholder registers. Ownership details usually appear only inside filing documents. The annual return (NAR1) contains one version. The incorporation form (NNC1) may contain another, depending on how the company was set up.&lt;/p&gt;

&lt;p&gt;Hong Kong introduced the &lt;strong&gt;Significant Controllers Register (SCR)&lt;/strong&gt; requirement in 2018. Each company must maintain this register internally to record beneficial owners. Access is restricted. Law‑enforcement bodies and certain regulators can request it.&lt;/p&gt;

&lt;p&gt;The Companies Registry search itself does not expose SCR data.&lt;/p&gt;

&lt;p&gt;For AML tracing, that gap matters. The registry confirms directors. It confirms company status. Filing history appears as well. Ultimate ownership does not.&lt;/p&gt;

&lt;p&gt;Documents introduce another practical wrinkle. Retrieving a filing often requires a paid request through the official portal. When available, OpenRegistry returns the filing metadata: form code, filing date, sometimes the document reference. The underlying PDFs still originate from the Companies Registry.&lt;/p&gt;

&lt;h3&gt;
  
  
  Querying the registry through OpenRegistry MCP
&lt;/h3&gt;

&lt;p&gt;Most workflows start with a name search. Hong Kong company names can include punctuation, spacing quirks, or both English and Chinese versions. Exact matches are not always reliable. Partial searches tend to work better.&lt;/p&gt;

&lt;p&gt;Example tool call:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;search_companies&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction_code&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;HK&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;query&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Pacific Holdings&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The response returns candidate entities with their CR numbers. That number matters. It anchors the rest of the lookup.&lt;/p&gt;

&lt;p&gt;Once known, retrieving the company profile becomes straightforward.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;get_company_profile&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction_code&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;HK&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1234567&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Officer information sits behind another call.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;get_officers&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction_code&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;HK&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1234567&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then the filing history.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;list_filings&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction_code&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;HK&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1234567&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This sequence mirrors how a human analyst uses the registry site. Search for the name. Confirm the CR number. Then read the filings to understand how the entity changed over time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why finance teams pay attention to these fields
&lt;/h3&gt;

&lt;p&gt;Hong Kong companies show up constantly inside acquisition structures and bond vehicles. A Cayman parent might sit above a Hong Kong intermediate holding company that signs operating contracts. The registry record confirms which entity occupies that layer.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;CR No.&lt;/strong&gt; becomes the stable reference. Analysts drop it into diligence notes. Audit trails rely on it. Internal compliance systems often store it as the primary identifier.&lt;/p&gt;

&lt;p&gt;Director listings help answer a different question: who actually holds board authority. If the filings show an &lt;strong&gt;ND2A&lt;/strong&gt;, a director appointment or resignation probably occurred recently. That change may affect signing authority on financing documents.&lt;/p&gt;

&lt;p&gt;Annual returns provide another signal. Each company must submit the NAR1 on a fixed cycle after incorporation. Miss the filing window and the absence becomes visible during diligence reviews. Lenders tend to notice.&lt;/p&gt;

&lt;p&gt;Engineers building KYB pipelines run into a separate issue. The legacy paid databases often serve cached company records. Updates can lag behind the official filing register. A recent director resignation may take time to propagate.&lt;/p&gt;

&lt;p&gt;Querying the register of record removes that lag. The response reflects the latest filing accepted by the Companies Registry.&lt;/p&gt;

&lt;p&gt;Hong Kong remains a common node in Asia‑Pacific corporate structures. Direct access to the registry makes those structures easier to verify during underwriting, counterparty checks, or acquisition screening.&lt;/p&gt;

&lt;p&gt;The MCP endpoint for the registry sits at &lt;a href="https://openregistry.sophymarine.com/mcp" rel="noopener noreferrer"&gt;https://openregistry.sophymarine.com/mcp&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>kyb</category>
      <category>kyc</category>
      <category>api</category>
    </item>
    <item>
      <title>Mexico’s PSM registry: what corporate filings actually expose</title>
      <dc:creator>OpenRegistry</dc:creator>
      <pubDate>Mon, 08 Jun 2026 15:01:31 +0000</pubDate>
      <link>https://dev.to/openregistry/mexicos-psm-registry-what-corporate-filings-actually-expose-ag9</link>
      <guid>https://dev.to/openregistry/mexicos-psm-registry-what-corporate-filings-actually-expose-ag9</guid>
      <description>&lt;p&gt;Mexico requires many corporate notices to appear in &lt;strong&gt;Publicaciones de Sociedades Mercantiles (PSM)&lt;/strong&gt;, an online publication system run by the Secretaría de Economía. The portal functions as the federal publication layer for companies recorded in the Registro Público de Comercio (RPC). When reviewing a Mexican company, this feed often surfaces structural changes before secondary datasets reflect them.&lt;/p&gt;

&lt;p&gt;The requirement comes from legal procedure rather than software design. The General Law of Commercial Companies (Ley General de Sociedades Mercantiles) obliges commercial entities to publish certain shareholder resolutions, capital adjustments, merger notices, and liquidation announcements. PSM is the channel used for those disclosures. Once a notice is posted there, courts treat it as constructive notice. Several European jurisdictions follow a similar model through statutory gazettes.&lt;/p&gt;

&lt;p&gt;Registry responses stay close to the underlying filing. The service does not reinterpret the submission or translate it into a simplified schema. What appears in the response is usually what the filing party sent.&lt;/p&gt;

&lt;p&gt;A typical company profile query returns fields such as:&lt;/p&gt;

&lt;p&gt;• &lt;code&gt;denominacion_social&lt;/code&gt; — the legal name recorded in the filing&lt;br&gt;&lt;br&gt;
• &lt;code&gt;folio_mercantil&lt;/code&gt; — the electronic identifier for the commercial registry entry&lt;br&gt;&lt;br&gt;
• &lt;code&gt;fecha_constitucion&lt;/code&gt; — the incorporation date held by the RPC&lt;br&gt;&lt;br&gt;
• &lt;code&gt;entidad_registro&lt;/code&gt; — the Mexican state responsible for that registry record&lt;br&gt;&lt;br&gt;
• &lt;code&gt;estatus&lt;/code&gt; — filing status, often active or liquidation&lt;/p&gt;

&lt;p&gt;Publication entries carry their own metadata. Each notice usually contains fields inside a &lt;code&gt;jurisdiction_data&lt;/code&gt; block. Examples include &lt;code&gt;tipo_publicacion&lt;/code&gt;, &lt;code&gt;fecha_publicacion&lt;/code&gt;, and &lt;code&gt;acto_reportado&lt;/code&gt;, along with references to the shareholder or board resolution behind the disclosure. When mergers or capital increases appear, the narrative text normally sits exactly as submitted.&lt;/p&gt;

&lt;p&gt;That text matters. The legal substance often lives in the body of the notice rather than the structured fields, which complicates automated processing.&lt;/p&gt;

&lt;p&gt;The registry does not maintain structured tables for officers or shareholders. A publication might describe the appointment of an &lt;em&gt;administrador único&lt;/em&gt; or record a board change. The names sit inside the document text. No separate dataset holds them. Anyone trying to extract officer data has to parse the filing itself.&lt;/p&gt;

&lt;p&gt;Some omissions are deliberate.&lt;/p&gt;

&lt;p&gt;Mexico introduced a beneficial ownership reporting regime in 2022 through amendments to the Federal Fiscal Code (Código Fiscal de la Federación, article 32‑B Ter). Companies must keep records identifying their &lt;strong&gt;beneficiario controlador&lt;/strong&gt; and provide that information to the tax authority, the Servicio de Administración Tributaria (SAT), when requested. This material is not public. It does not appear in the PSM publication stream and cannot be retrieved through the commercial registry interface.&lt;/p&gt;

&lt;p&gt;For AML or sanctions analysis, that gap matters. The public registry layer signals structural events but rarely identifies the natural persons behind them. Ownership tracing still requires work outside the registry.&lt;/p&gt;

&lt;p&gt;Mexico’s federal structure adds another wrinkle. The Registro Público de Comercio operates through state registries, each maintaining the underlying company records. PSM acts as the national publication platform that references those filings. In practice the folio mercantil identifier points back to a state RPC entry even though the notice itself appears in a central portal.&lt;/p&gt;

&lt;p&gt;Programmatic access through OpenRegistry follows the same approach used for other jurisdictions.&lt;/p&gt;

&lt;p&gt;Searching by company name might look like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;search_companies({&lt;br&gt;
  "jurisdiction": "MX",&lt;br&gt;
  "query": "GRUPO BIMBO"&lt;br&gt;
})&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The result set returns candidate entities with a &lt;code&gt;company_number&lt;/code&gt; mapped to the folio mercantil. That number feeds into the company profile call:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;get_company_profile({&lt;br&gt;
  "jurisdiction": "MX",&lt;br&gt;
  "company_number": "&amp;lt;folio_mercantil&amp;gt;"&lt;br&gt;
})&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If publication notices exist, they can be listed directly.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;list_filings({&lt;br&gt;
  "jurisdiction": "MX",&lt;br&gt;
  "company_number": "&amp;lt;folio_mercantil&amp;gt;"&lt;br&gt;
})&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Each item corresponds to a PSM publication event. The &lt;code&gt;jurisdiction_data&lt;/code&gt; block keeps the fields returned by the Secretaría de Economía endpoint. When the upstream service includes a document reference, the source file can be retrieved with &lt;code&gt;fetch_document&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Anyone familiar with the legacy paid databases usually notices the difference quickly. These responses come from the upstream registry service. OpenRegistry does not rewrite the schema or infer ownership links. Identifiers, timestamps, and filing metadata match the government endpoint.&lt;/p&gt;

&lt;p&gt;That distinction matters in evidence‑driven work. Preparing a diligence memo or assessing sanctions exposure often turns into a question about legal weight. In Mexico the publication notice itself can function as the operative disclosure under the Ley General de Sociedades Mercantiles. A summarised dataset from a commercial provider may not carry the same evidentiary standing.&lt;/p&gt;

&lt;p&gt;Compliance engineers often use the feed for event monitoring. Capital increases, mergers, and liquidation steps tend to appear in PSM before downstream datasets refresh. Pulling those notices into an internal monitoring pipeline can reveal structural changes early.&lt;/p&gt;

&lt;p&gt;OpenRegistry exposes these registry endpoints through MCP and returns the raw PSM records issued by the Secretaría de Economía. Connection details and documentation sit at &lt;a href="https://openregistry.sophymarine.com" rel="noopener noreferrer"&gt;https://openregistry.sophymarine.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>kyb</category>
      <category>compliance</category>
      <category>api</category>
    </item>
    <item>
      <title>Taiwan's GCIS company registry — what queries actually return</title>
      <dc:creator>OpenRegistry</dc:creator>
      <pubDate>Sun, 07 Jun 2026 15:01:42 +0000</pubDate>
      <link>https://dev.to/openregistry/taiwans-gcis-company-registry-what-queries-actually-return-jg3</link>
      <guid>https://dev.to/openregistry/taiwans-gcis-company-registry-what-queries-actually-return-jg3</guid>
      <description>&lt;p&gt;Every Taiwanese company receives an eight‑digit Unified Business Number. Local reporters shorten it to UBN. Inside the Ministry of Economic Affairs’ GCIS system, most of the corporate trail attaches to that number.&lt;/p&gt;

&lt;p&gt;Anyone used to UK or Panama filings spots the contrast fast. GCIS grew out of a domestic administrative system and it shows. Field labels follow ministry terminology. Some entries appear only in Mandarin even when the company trades overseas. Tracing supply chains often begins with a dull routine: copy a UBN, paste it into another government portal, confirm the same company again.&lt;/p&gt;

&lt;p&gt;OpenRegistry exposes GCIS through MCP. An assistant can query the register directly. The reply preserves the original registry structure under &lt;code&gt;jurisdiction_data&lt;/code&gt;. That detail matters during verification work. Aggregated datasets sometimes reshape fields or smooth awkward translations. Here you see the ministry’s wording exactly as stored.&lt;/p&gt;

&lt;p&gt;A typical GCIS company profile carries several fields reporters return to again and again.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Business_Accounting_NO&lt;/code&gt; is the UBN itself. Eight digits. This number links tax records, customs registrations, and procurement disclosures across Taiwan’s public datasets. Once the company identity is confirmed, investigators usually pivot through this identifier rather than the name.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Company_Name&lt;/code&gt; stores the legal Chinese name. Some profiles also include &lt;code&gt;Company_Name_English&lt;/code&gt;, though the register does not require it. Export‑focused manufacturers often circulate several Romanised spellings in trade catalogues or distributor listings. The Chinese legal name stays consistent, so matching records usually starts there.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Responsible_Person_Name&lt;/code&gt; identifies the legal representative. Taiwan’s company law concentrates responsibility in this role rather than publishing a detailed board structure. Patterns appear quickly. The same responsible person turning up across several entities can point to a family business group, or occasionally a nominee acting on behalf of others.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Capital_Stock_Amount&lt;/code&gt; records the registered capital. The figure can look oddly small beside revenue estimates reported elsewhere. Taiwanese firms often keep statutory capital low while financing operations through affiliated entities. That structure shows up regularly in manufacturing groups.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Company_Location&lt;/code&gt; lists the registered address. Industrial districts around Taichung, Hsinchu, and New Taipei appear repeatedly when mapping electronics suppliers. Sometimes dozens of exporters share the same building. Not unusual.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Company_Status&lt;/code&gt; indicates whether the entity is active, dissolved, or suspended. GCIS updates tend to appear quickly because the information flows straight from Ministry of Economic Affairs filings rather than a secondary database.&lt;/p&gt;

&lt;p&gt;The raw payload may also contain approval dates and business scope descriptions written entirely in Chinese. OpenRegistry passes these fields through untouched within &lt;code&gt;jurisdiction_data&lt;/code&gt;. For fact‑checking, that matters. When editors want the exact phrasing from the government system, the raw text avoids translation drift.&lt;/p&gt;

&lt;p&gt;Some details investigators expect simply are not public. Taiwan does not operate an open beneficial ownership register. Shareholder disclosure varies by company type and often stops at corporate entities rather than natural persons. Finding the individual behind a shareholder normally means checking separate filings or court material. That gap becomes relevant in sanctions work or cross‑border asset tracing.&lt;/p&gt;

&lt;p&gt;Language adds another constraint. GCIS responses frequently contain Mandarin strings even if the search query used Latin characters. Any workflow that processes the registry needs proper UTF‑8 handling. Systems expecting English field values can treat perfectly valid responses as incomplete.&lt;/p&gt;

&lt;p&gt;A basic search through OpenRegistry looks like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;search_companies&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "jurisdiction": "TW",&lt;br&gt;
  "query": "TSMC"&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;This call queries the GCIS name index. Results usually return the Chinese legal name together with the UBN. That number becomes the next step.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;get_company_profile&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "jurisdiction": "TW",&lt;br&gt;
  "company_number": "22099131"&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;The response includes structured fields plus the untouched GCIS payload inside &lt;code&gt;jurisdiction_data&lt;/code&gt;. From there an assistant can call other tools where the registry exposes additional endpoints. An officer lookup, for instance:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;get_officers&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "jurisdiction": "TW",&lt;br&gt;
  "company_number": "22099131"&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Coverage follows the upstream registry. If GCIS does not publish a document or shareholder list, the MCP layer does not invent one.&lt;/p&gt;

&lt;p&gt;For newsroom work the practical gain is reproducibility. Another reporter can run the same query and retrieve the same fields because the request hits the live GCIS service rather than a mirrored dataset. Editors tend to ask where a fact came from. Showing the registry response answers that question quickly.&lt;/p&gt;

&lt;p&gt;Cross‑border reporting is where this approach earns its keep. Taiwanese companies appear throughout semiconductor supply chains and export‑control investigations. They also surface inside networks linked to mainland manufacturing groups. When a Hong Kong trading firm references a Taiwanese subsidiary, a GCIS lookup often confirms the responsible person and the registered address within seconds.&lt;/p&gt;

&lt;p&gt;The same MCP interface reaches other jurisdictions too. A workflow that begins with Taiwan can pivot to Hong Kong, the UK, or the Cayman Islands without rewriting the query layer. Reporters mapping corporate links across borders usually care about that consistency.&lt;/p&gt;

&lt;p&gt;The public MCP endpoint for OpenRegistry sits at &lt;a href="https://openregistry.sophymarine.com/mcp" rel="noopener noreferrer"&gt;https://openregistry.sophymarine.com/mcp&lt;/a&gt; if you want to run GCIS queries yourself and inspect the registry payload.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>kyc</category>
      <category>api</category>
    </item>
    <item>
      <title>South Korea’s OpenDART: what filings show during diligence</title>
      <dc:creator>OpenRegistry</dc:creator>
      <pubDate>Sat, 06 Jun 2026 15:01:22 +0000</pubDate>
      <link>https://dev.to/openregistry/south-koreas-opendart-what-filings-show-during-diligence-56jj</link>
      <guid>https://dev.to/openregistry/south-koreas-opendart-what-filings-show-during-diligence-56jj</guid>
      <description>&lt;p&gt;South Korea’s OpenDART assigns every reporting company an eight‑digit &lt;code&gt;corp_code&lt;/code&gt;. Each disclosure sent to the Financial Supervisory Service carries that number. In diligence work, the identifier usually proves steadier than the company name.&lt;/p&gt;

&lt;p&gt;OpenDART is not the incorporation register. The formal legal record sits with the Korean Supreme Court’s corporate registry. OpenDART instead publishes regulatory filings submitted to the Financial Supervisory Service (FSS). Listed issuers appear there, along with a large set of sizeable private firms. For deal teams, those filings often contain the information that actually matters.&lt;/p&gt;

&lt;p&gt;Speed is the main difference. When an issuer submits a material report, OpenDART tends to publish it within minutes. Director changes surface quickly. So do capital adjustments or shareholder disclosures. Secondary databases may still show the old picture while negotiations are already under way.&lt;/p&gt;

&lt;p&gt;A handful of fields recur in the raw payload returned by OpenDART:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;corp_code&lt;/code&gt;: the stable identifier used across filings
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;corp_name&lt;/code&gt;: the entity name recorded with the FSS
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;stock_code&lt;/code&gt;: the exchange ticker for listed companies
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ceo_nm&lt;/code&gt;: the chief executive named in disclosures
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;adres&lt;/code&gt;: the address reported in filings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The response also carries filing metadata inside a &lt;code&gt;jurisdiction_data&lt;/code&gt; object. Two fields usually matter first when locating the source document. &lt;code&gt;rcept_no&lt;/code&gt; is the receipt number assigned when the filing lands with the regulator. &lt;code&gt;report_nm&lt;/code&gt; holds the filing title. Those two together point straight to the report.&lt;/p&gt;

&lt;p&gt;Annual reports show why that matters. One filing commonly bundles several disclosures: major shareholders, board composition, related‑party dealings, and changes to share capital. The shareholder section is the part diligence teams read first. Korean reporting rules require disclosure once holdings cross certain thresholds, often 5 percent for public issuers. Strategic investors show up there. So do affiliated entities within large corporate groups. Many lighter datasets omit them.&lt;/p&gt;

&lt;p&gt;Still, OpenDART is not a beneficial ownership register. South Korea does not publish an open database comparable to the UK’s PSC register. Filings identify declared large shareholders and certain related parties. They rarely trace the full ownership chain behind nominee structures. Anyone analysing control will still want extracts from the corporate registry. Local counsel sometimes fills the gaps.&lt;/p&gt;

&lt;p&gt;Language adds friction. A large share of reports appear mainly in Korean. Bigger issuers sometimes attach English summaries. Annexes and supporting documents remain Korean in most cases. Systems that ingest these filings must handle mixed encodings and bulky attachments. Some submissions run past 50 MB once scanned appendices are included.&lt;/p&gt;

&lt;p&gt;Corporate structure complicates things further. Many Korean business groups operate through dense affiliate webs shaped by the chaebol system. Filings refer to related entities in narrative sections buried deep inside the document. Metadata alone rarely captures those links. The connections sit in the text.&lt;/p&gt;

&lt;p&gt;Querying through OpenRegistry keeps the plumbing simple. The MCP server returns the upstream fields largely unchanged.&lt;/p&gt;

&lt;p&gt;Searching by company name:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;search_companies&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;KR&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;query&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Samsung Electronics&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The results include candidate entities plus their &lt;code&gt;corp_code&lt;/code&gt;. With that number in hand, request the company profile.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;get_company_profile&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;KR&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;00126380&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The profile response returns the core entity record and a &lt;code&gt;jurisdiction_data&lt;/code&gt; block. Inside it sit OpenDART fields such as &lt;code&gt;corp_name&lt;/code&gt;, &lt;code&gt;stock_code&lt;/code&gt;, &lt;code&gt;ceo_nm&lt;/code&gt;, and &lt;code&gt;est_dt&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Next comes the filing stream.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;list_filings&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;KR&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;00126380&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each entry contains the filing title (&lt;code&gt;report_nm&lt;/code&gt;) and the submission receipt (&lt;code&gt;rcept_no&lt;/code&gt;). When a relevant report appears, fetch the underlying document.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;fetch_document&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;KR&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;filing_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;20240516001234&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The value becomes obvious during live diligence. In one cross‑border supplier review last year, a subscription database still listed the founder as the largest shareholder. OpenDART showed something else entirely. A filing lodged three weeks earlier disclosed that a private equity vehicle had crossed the 5 percent reporting threshold through a block trade. The fund already held stakes in two competitors. That detail altered the conflict analysis immediately.&lt;/p&gt;

&lt;p&gt;The gap came from crawl lag. Aggregators ingest filings on their own schedules. OpenDART publishes them when the regulator receives the submission. Sometimes the delay is small. Sometimes it stretches into weeks.&lt;/p&gt;

&lt;p&gt;Deal teams watch those filings for early signals. Director appointments appear there first. Treasury share transactions too. Capital increases often show up in OpenDART days before any secondary database reflects the change.&lt;/p&gt;

&lt;p&gt;OpenRegistry exposes the OpenDART interface through MCP so an AI assistant can run these queries inside a workflow. The server connects to 27 national registries, including Korea, the UK, Germany, the Netherlands, and Hong Kong. Documentation and entry point: &lt;a href="https://openregistry.sophymarine.com" rel="noopener noreferrer"&gt;https://openregistry.sophymarine.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>kyb</category>
      <category>compliance</category>
      <category>api</category>
    </item>
    <item>
      <title>Czech ARES registry: what the official data actually returns</title>
      <dc:creator>OpenRegistry</dc:creator>
      <pubDate>Fri, 05 Jun 2026 15:02:15 +0000</pubDate>
      <link>https://dev.to/openregistry/czech-ares-registry-what-the-official-data-actually-returns-42be</link>
      <guid>https://dev.to/openregistry/czech-ares-registry-what-the-official-data-actually-returns-42be</guid>
      <description>&lt;p&gt;Eight digits identify almost every Czech company you will encounter in a registry search. The number is the IČO. It is assigned at incorporation and almost never changes during the entity’s lifetime. Many KYB systems treat it as the primary lookup key.&lt;/p&gt;

&lt;p&gt;The public index built around that identifier is ARES, the Administrative Register of Economic Subjects. ARES links IČO numbers to several state datasets and exposes them through a government API.&lt;/p&gt;

&lt;p&gt;The incorporation authority sits elsewhere. The legally binding record lives in the Czech Commercial Register maintained by regional courts. ARES republishes information drawn from that system together with a handful of other government sources. In practice it behaves less like a single register and more like an access point that routes queries across several state databases.&lt;/p&gt;

&lt;p&gt;OpenRegistry MCP exposes those upstream ARES fields directly for the Czech jurisdiction. The response carries the OpenRegistry schema plus the raw &lt;code&gt;jurisdiction_data&lt;/code&gt; object returned by the government service. No field rewriting. No reshaping of names.&lt;/p&gt;

&lt;p&gt;Typical company profile responses include fields such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;ico&lt;/code&gt; – the eight‑digit company identifier
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;obchodniJmeno&lt;/code&gt; – the registered company name
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pravniForma&lt;/code&gt; – the legal form, for example "společnost s ručením omezeným" (s.r.o.)
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;sidlo&lt;/code&gt; – the registered address
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;datumVzniku&lt;/code&gt; – incorporation date
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;stavSubjektu&lt;/code&gt; – the entity’s current status&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The interesting pieces often sit deeper in the payload. Inside &lt;code&gt;jurisdiction_data&lt;/code&gt; you usually find attributes that KYB pipelines rely on but aggregators sometimes flatten or drop. Two examples appear frequently: &lt;code&gt;spisovaZnacka&lt;/code&gt;, the court file reference, and &lt;code&gt;soud&lt;/code&gt;, the court responsible for the record. Activity classifications show up under &lt;code&gt;cz_nace&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Those details carry weight during compliance checks. Sector restrictions are often tied to NACE codes. Auditors also ask for the exact court reference pointing back to the Commercial Register entry.&lt;/p&gt;

&lt;p&gt;ARES structures addresses as components rather than a single formatted line. Municipality identifiers appear. Postal codes appear too. District references from the Czech Statistical Office are also present. Keeping those elements intact helps when screening datasets spell a place slightly differently. Matching improves when each part of the address can be compared separately.&lt;/p&gt;

&lt;h3&gt;
  
  
  What ARES does not give you
&lt;/h3&gt;

&lt;p&gt;ARES does not publish beneficial ownership data. Czech UBO records sit in a different system called “Evidence skutečných majitelů”. Access tightened after the CJEU C‑601/20 ruling, which limited public visibility for many European ownership registers. Querying ARES alone will not reconstruct an ownership chain.&lt;/p&gt;

&lt;p&gt;Corporate filings form another gap. Court documents appear through the Justice.cz platform rather than through the ARES API. ARES might show the court file number tied to the company record. The documents themselves remain outside the interface. Articles of association. Annual accounts. Similar filings stay in the court system.&lt;/p&gt;

&lt;p&gt;That split affects automation. A KYB workflow can confirm incorporation status and legal form through ARES with little friction. Document review still requires a second lookup against the court platform.&lt;/p&gt;

&lt;p&gt;Some of the legacy paid databases maintain their own document copies. Convenient, yes. There is a trade‑off. Cached material becomes harder to date precisely, and regulators increasingly ask where a document originally came from during an audit.&lt;/p&gt;

&lt;h3&gt;
  
  
  Querying ARES through OpenRegistry MCP
&lt;/h3&gt;

&lt;p&gt;OpenRegistry sends queries to the Czech registry of record and returns the payload without reinterpretation. MCP allows an AI client to call the registry as a tool instead of scraping a web page.&lt;/p&gt;

&lt;p&gt;A simple name search might look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;search_companies&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;CZ&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;query&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;rohlik&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The response returns candidate entities together with their &lt;code&gt;ico&lt;/code&gt; numbers. Once the correct one is identified, the system can request the full record.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;get_company_profile&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;CZ&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;24790221&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The reply contains both the normalised OpenRegistry fields and the untouched ARES payload under &lt;code&gt;jurisdiction_data&lt;/code&gt;. That distinction matters during audits. Investigators can point to the exact upstream values rather than a transformed dataset produced downstream.&lt;/p&gt;

&lt;p&gt;Officer information may appear as well when the upstream register publishes it. For Czech companies those details usually originate from the Commercial Register entry referenced by the &lt;code&gt;spisovaZnacka&lt;/code&gt; file number. The follow‑up request is straightforward:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;get_officers&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jurisdiction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;CZ&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;company_number&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;24790221&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Field names remain aligned with the registry source. Logs reflect the official wording used by the court register. That makes later verification simpler.&lt;/p&gt;

&lt;h3&gt;
  
  
  Practical implications for KYB pipelines
&lt;/h3&gt;

&lt;p&gt;ARES works well for the baseline checks most onboarding systems perform. You can confirm that a Czech entity exists. You can see its incorporation date. You can identify the court responsible for the official record.&lt;/p&gt;

&lt;p&gt;Ownership verification takes a different route because the beneficial ownership register cannot be queried in the same open manner. Teams often combine ARES verification with documents provided by the customer. The resulting ownership chain supports sanctions screening under rules such as the OFAC 50 percent rule or similar UK and EU frameworks.&lt;/p&gt;

&lt;p&gt;Name matching needs a small adjustment. Czech companies often include legal form abbreviations such as “s.r.o.” or “a.s.” inside the registered name. ARES stores them directly in the &lt;code&gt;obchodniJmeno&lt;/code&gt; field. Search logic should account for that. If the application omits the legal form, a simple equality check may fail.&lt;/p&gt;

&lt;p&gt;Direct registry queries also help months later when a decision is reviewed. The auditor can repeat the lookup using the same IČO. Same identifier, same record.&lt;/p&gt;

&lt;p&gt;OpenRegistry exposes the Czech ARES register through MCP alongside 27 national company registries. Teams building onboarding or investigation tooling can query the registry of record directly at &lt;a href="https://openregistry.sophymarine.com" rel="noopener noreferrer"&gt;https://openregistry.sophymarine.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>kyb</category>
      <category>compliance</category>
      <category>mcp</category>
    </item>
  </channel>
</rss>
