get_persons_with_significant_controlBeneficial owners (PSC / UBO) - persons on the statutory control threshold register (>25%).
Return persons who meet the statutory control threshold for their jurisdiction (typically >25% ownership or voting rights). DIFFERENT from get_shareholders - PSC is the beneficial-ownership register; shareholders is the equity roster. The two registers can disagree (a corporate trustee can be a PSC without appearing on the members register).
| Name | Type | Required | Description |
|---|---|---|---|
jurisdiction | string | yes | ISO code. Currently: GB, CA, IS. |
company_id | string | yes | Registry ID. |
CA - Canada (federal)GB - United KingdomIS - IcelandPSC = beneficial ownership above the statutory threshold (>25% shares, >25% voting rights, or right to appoint majority of directors). Shareholders = full members register, no threshold. PSC catches indirect / trustee / nominee structures that shareholders may not. Use both for full coverage.
These three publish structured machine-readable PSC / UBO registers (GB Companies House PSC API, CA federal+provincial ISC, IS Skatturinn UBO). The EU 5th AML Directive mandates UBO registers across the EU but most member states gate access behind paid AML compliance subscriptions — not available via free public APIs.
An array of structured codes (GB statutory taxonomy: 'ownership-of-shares-25-to-50-percent', 'voting-rights-over-50-percent', 'right-to-appoint-and-remove-directors', etc.). Each code is one independent grounds for control. A single PSC can have multiple codes.
GB allows protected PSCs (personal safety risk) — name and address are suppressed and the record returns kind='private-data-not-disclosed-restricted-information'. CA suppresses individual PSCs under 18 and certain protected persons. Treat suppressed records as 'PSC exists, identity withheld'.
Yes — ceased_on is populated for resigned PSCs. is_active flags the current ones. GB returns the full PSC history since the register opened (2016). For ongoing-only, filter is_active=true client-side.
kind tells you. 'individual-person-with-significant-control' = a named human. 'corporate-entity-person-with-significant-control' = a corporate parent (often itself foreign). 'legal-person' = government / charity / sovereign. Corporate PSCs carry the parent's company name and (where the registry captures it) registration number.
Take the parent's name + registration number from jurisdiction_data, then search_companies on the parent's home jurisdiction. We don't auto-resolve foreign parents — false matches across registries are too risky to silently chain.
Possible. Companies with no person at >25% return an empty array. GB also flags 'no-individual-or-entity-with-significant-control' (the company actively declared no PSC exists) vs no statement filed yet (returns missing). The two states are distinguishable in jurisdiction_data.
GB returns month + year, DD always censored. CA varies by province. The minimal disclosure is a deliberate AML compromise — enough to disambiguate same-name individuals, not enough to enable identity theft.
Not via MCP push. Poll get_persons_with_significant_control + diff against your stored copy. UK Companies House publishes a daily delta stream (jurisdiction_data.psc_changes_stream pointer when available) — not yet exposed through this tool, contact sales for the enterprise feed if you need near-real-time.