OpenCorporates UBO alternative
Beneficial ownership is the question OpenCorporates was originally built around. Chris Taggart and the OC team have done more for public ownership transparency than almost anyone in the category. The catch in 2026 is that "UBO data" splits three ways per jurisdiction (the statutory PSC register, the statement-of-capital filings, and the AML-restricted registers), and a flat aggregator schema collapses that distinction. OpenRegistry keeps the three apart.
Three shapes of UBO data
1. Statutory PSC / beneficial-owner register
The UK was first in 2016 with Persons with Significant Control. Norway
followed with the Reelle Rettighetshavere register, Iceland
with raunverulegir eigendur. These are first-class structured
fields. get_persons_with_significant_control(GB, <number>)
returns the live PSC list. Name, nature of control, notification date,
all from Companies House.
2. Statement-of-capital filings
The other half of UK-style ownership lives inside the CS01's Statement
of Capital, which is a PDF or iXBRL document, not a structured endpoint.
get_shareholders(GB, ...) returns a pointer to the latest
CS01, and the agent calls fetch_document to read the
share-class breakdown. Same pattern for Iceland (annual report PDF),
Switzerland (SOGC publications stream), Korea (OpenDART filings), and
the Czech VR sub-register.
3. AML-gated registers
Since
CJEU C-37/20
in November 2022, the UBO registers in Germany, Spain, Italy,
Netherlands, Austria, Malta, Portugal, and Luxembourg became
access-restricted to AML-obliged entities. Cayman BOTA 2023 is the same
story for KY. OpenRegistry returns a structured 501 with an
alternative_url pointing at the statutory portal. We do
not pretend to have data that has been legally restricted.
Where OC's UBO surface struggles
- Cross-border chain walking. A UK company owned by a Luxembourg holding owned by a Cayman trust is three OC pages, three different schemas, and a manual ID stitch. OpenRegistry walks it in one MCP prompt.
- Statement-of-capital share percentages. The actual percentages live in filing PDFs. OC surfaces metadata; the bytes still need a Companies House trip.
fetch_documentreturns them inline. - Restricted registers. An aggregator cannot proxy a register it is not legally allowed to read. OC's coverage on the post-CJEU eight is uneven for the same reason ours is. The difference is we surface the gap explicitly with the structured 501.
Worked example: Iceland Foods, four layers up
Five MCP tool calls, no aggregator, no cache. From "Iceland Foods Ltd" to the eight humans (and two family settlements) who hold 100% of the chain. Every percentage reproducible against the public Companies House CS01s.
Full walkthrough at /docs/case-studies/iceland-foods-chain-walk.
Coverage map
- Statutory PSC register. GB (Companies House), NO (Brreg), IS (RSK), IE (CRO partial), FR (RNE bénéficiaires effectifs where published), CY (DRCOR shareholders), Isle of Man, Liechtenstein, Monaco.
- Statement-of-capital and filings as ownership. GB, NO, CZ (VR), CH (SOGC delta stream), TW (GCIS), IS, KR (OpenDART hyslrSttus and majorstock).
- Restricted, structured 501. DE, ES, IT, NL post-CJEU. KY under BOTA 2023 (legitimate-interest only). MY under Companies Act 2016 §56 (AML-gated). KR under K-AMLA. RU under 115-FZ.
- Live source of truth.
list_jurisdictionsover MCP. Mirrored at /docs/.