DEV Community

Cover image for Czech ARES registry: what the official data actually returns
OpenRegistry
OpenRegistry

Posted on

Czech ARES registry: what the official data actually returns

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.

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.

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.

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

Typical company profile responses include fields such as:

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

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

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.

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.

What ARES does not give you

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.

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.

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.

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.

Querying ARES through OpenRegistry MCP

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.

A simple name search might look like this:

search_companies({
  "jurisdiction": "CZ",
  "query": "rohlik"
})
Enter fullscreen mode Exit fullscreen mode

The response returns candidate entities together with their ico numbers. Once the correct one is identified, the system can request the full record.

get_company_profile({
  "jurisdiction": "CZ",
  "company_number": "24790221"
})
Enter fullscreen mode Exit fullscreen mode

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

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 spisovaZnacka file number. The follow‑up request is straightforward:

get_officers({
  "jurisdiction": "CZ",
  "company_number": "24790221"
})
Enter fullscreen mode Exit fullscreen mode

Field names remain aligned with the registry source. Logs reflect the official wording used by the court register. That makes later verification simpler.

Practical implications for KYB pipelines

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.

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.

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 obchodniJmeno field. Search logic should account for that. If the application omits the legal form, a simple equality check may fail.

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.

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 https://openregistry.sophymarine.com.

Top comments (0)