DEV Community

Cover image for Liechtenstein Handelsregister: what you can pull with code
OpenRegistry
OpenRegistry

Posted on

Liechtenstein Handelsregister: what you can pull with code

Most Liechtenstein company numbers begin with FL-0002. The block appears on the majority of Handelsregister entries and turns into a dependable pivot when you track an entity across filings, bank documents, or court records.

Anyone who spends time around Alpine holding structures meets the Liechtenstein Handelsregister quickly. Foundations (Stiftungen) and establishments (Anstalten) appear here early. Standard AG holding vehicles do too. They often surface in the register long before they appear in litigation bundles or leaked banking files. The register itself is public. The deeper ownership layer often is not. Knowing what the register actually exposes saves a surprising amount of time when an ownership trail crosses borders.

A programmatic lookup returns a small corporate profile. Small, but useful. The core record includes the registry identifier (company_number in the unified schema) and the official legal name. Source material sits inside the jurisdiction_data block. That payload usually carries the German registry fields such as Firma, Rechtsform, and Sitz.

Rechtsform deserves attention. The legal form hints at the structure behind the entity. Anstalt vehicles appear regularly in cross‑border asset arrangements. Stiftung structures do as well, particularly when the underlying assets sit outside Liechtenstein. That detail often explains why the entity exists at all.

Another field worth checking early is Zweck. This is the declared corporate purpose. Many holding vehicles use wide wording that covers asset administration or participation in other companies. Boilerplate shows up everywhere. Occasionally the text slips and reveals something more concrete. Operating companies sometimes describe real activity rather than generic holding language.

Officer data is available too. The MCP get_officers call returns directors and authorised signatories with their role titles. The upstream registry payload tends to include entries labelled Verwaltungsrat, Geschäftsführer, or Zeichnungsberechtigung.

The last label matters more than it sounds. Swiss and Liechtenstein filings often spell out signing authority with care. One director might hold Einzelunterschrift. That means the person signs alone. Others hold Kollektivunterschrift, which requires joint signatures. When a transaction later becomes disputed, that distinction decides who could legally approve it.

Address data helps when you map relationships between entities. The Handelsregister lists the registered seat (Sitz). Street addresses often appear as well. A large share of companies point to fiduciary offices in Vaduz or Schaan. Patterns emerge quickly. If several entities in the same transaction share one address, the overlap usually reflects the same corporate service provider.

The register stops short of the beneficial owner layer. Liechtenstein maintains a beneficial ownership regime under the VwEG framework. Access is restricted. Authorities can consult it. Entities carrying out AML checks can too. Public access never existed in the broad form seen elsewhere in Europe. The CJEU judgment in case C‑601/20 pushed several states to close their public UBO registers. Liechtenstein was already operating with restricted access. When a beneficial owner matters, the trail often runs through court filings, regulatory decisions, or leaked documents.

Shareholder disclosure varies by company type. Some legal forms list shareholders in statutes or filings. Others reveal nothing directly on the register profile. Foundations complicate matters further. The founder and beneficiaries can sit completely outside the public record. Investigations tend to uncover that layer only after documents surface in another jurisdiction.

Pulling the statutory profile itself is straightforward with OpenRegistry. The MCP server queries the official Handelsregister endpoint and returns the upstream fields without interpretation. A simple name search looks like this:

search_companies({
  "jurisdiction": "LI",
  "query": "Example Stiftung"
})
Enter fullscreen mode Exit fullscreen mode

The response lists candidate matches along with their Liechtenstein registry numbers. Once the company_number is known, the full record follows with a single request:

get_company_profile({
  "jurisdiction": "LI",
  "company_number": "FL-0002.123.456-7"
})
Enter fullscreen mode Exit fullscreen mode

Officer data comes next:

get_officers({
  "jurisdiction": "LI",
  "company_number": "FL-0002.123.456-7"
})
Enter fullscreen mode Exit fullscreen mode

Filings are less predictable. The register publishes statutory notices and selected updates. Underlying documents often sit behind the official portal and may require payment. The MCP endpoint can still enumerate filings when the registry exposes them:

list_filings({
  "jurisdiction": "LI",
  "company_number": "FL-0002.123.456-7"
})
Enter fullscreen mode Exit fullscreen mode

The real benefit appears during cross‑border checks. Liechtenstein entities often sit between companies registered in Switzerland or Cyprus. Cayman vehicles show up as well. Running the Handelsregister query inside the same workflow removes a fair amount of manual scraping.

Deadlines make the difference obvious. A leaked contract might reference a foundation in Vaduz. The first task is confirming that the entity exists and identifying its board members. Those names frequently appear again in Swiss commercial registers or Luxembourg filings. The link becomes visible only when each registry lookup takes seconds rather than hours.

The OpenRegistry MCP endpoint passes through the statutory record and leaves interpretation to the client. Newsrooms often prefer that approach. The source remains the official register itself, not a derived database. Anyone reviewing the reporting can repeat the same lookup against the register of record. The endpoint is available at https://openregistry.sophymarine.com.

Top comments (0)