PSC & UBO API

UK Beneficial Ownership API

Resolve the ultimate beneficial owners of any UK company - traversing corporate structures automatically, decoding control types to plain English, and splitting active from ceased PSCs. One API call.

Why the raw Companies House PSC data is hard to use

The Companies House PSC API returns the right data - but in a form that requires significant work before it's usable in a compliance or KYB workflow.

Coded control strings

Raw CH responses use codes like ownership-of-shares-25-to-50-percent. There are 80+ codes across shares, voting rights, director appointment, LLP membership, and influence. No human-readable decoding is provided.

Active and ceased entries mixed

The CH API returns all PSCs in a single list - past and present - with no filtering. You have to check ceased and ceased_on on every item to determine who still controls the company.

Corporate entities need following

If a corporate entity PSC is registered at CH, you need to fetch its PSCs separately. Then repeat. And handle cycles. The raw API has no chain-traversal capability.

What the Registrum PSC API does

Clean beneficial ownership data, ready to use

Decoded natures of control

Every control code is translated to plain English. 'ownership-of-shares-25-to-50-percent' becomes 'Owns 25-50% of shares'. All 80+ codes across shares, voting, director appointment, LLP, and RLE are covered.

Active / ceased split

The response separates active_pscs from ceased_pscs automatically. No need to check ceased or ceased_on on every item - the active register is ready to use directly.

Corporate owners: Companies House or not

company_number is set only when the owner is a confirmed Companies House registration, so you can pass it straight to the chain endpoint. Otherwise it is null, and registry_number, registry_name and registry_is_companies_house (true, null or false) give the number as filed and the registry that issued it - a foreign registry number is never presented as a UK company number.

PSC exemption detection

Listed PLCs and other entities exempt from PSC filing are detected automatically. The response includes has_psc_exemption: true with an explanation - your code doesn't need to handle exemption links separately.

Ownership chain resolution

The /psc/chain endpoint traverses the ownership structure recursively - following corporate entity PSCs to find the natural persons who ultimately control the company.

Example
# Flat PSC register - who controls the company?
GET /v1/company/12345678/psc

# Ownership chain - who ultimately controls?
GET /v1/company/12345678/psc/chain?max_depth=5

X-API-Key: reg_live_...

ECCTA identity verification on every individual

Every individual node in the chain, at any depth, carries the same four verification fields as /psc. The chain is what reaches the ultimate beneficial owner, so the person an AML check is about comes back with their verification state in the same call. Corporate-entity, legal-person and protected nodes carry none of these fields.

FieldMeaning
verification_statusverified, pending, overdue or unknown. Pending means the deadline is still in the future; unknown means Companies House holds no record for this person
identity_verifiedtrue when verified, false only when overdue, null for pending and unknown
identity_verified_onDate of verification. Set only when verified, and null if Companies House gave no date
verification_deadlineSet only when pending or overdue. null for an open-ended window

Terminal reasons - why a branch stops

Every node in the chain has a terminal_reason that explains exactly why traversal ended there.

terminal_reasonMeaningUBO found?
natural_personAn individual - ultimate beneficial owner identifiedYes
unverified_registryA registration number is on file, but it cannot be tied to the Companies House register - the owner may be registered abroad. Not an error, and not a Companies House outageNo
foreign_entityCorporate entity with no registration number filed at all - no further traversal possibleNo
legal_personGovernment body, charity, or similar legal entityNo
super_securePSC details protected by court orderNo
unknown_kindCompanies House returned a PSC type we have not classified. The branch is not followed rather than guessed at; the verbatim value is in kind_rawNo
psc_exemptCompany exempt from PSC filing (e.g. listed PLC)No
depth_limitmax_depth reached - increase to traverse furtherNo
not_foundCompany not found at Companies House, or the lookup failedNo
cycle_detectedCircular ownership detected - traversal stopped to prevent a loopNo
Credit cost: Each company resolved in the chain costs 1 API credit. A 3-company chain costs 3 credits. The response includes chain_metadata.total_credits so you always know the cost.

Built for compliance and due diligence workflows

KYB onboarding

Verify who controls a business before onboarding. Pull the UBO chain as part of your automated onboarding flow - no manual Companies House searches.

AML screening

Identify natural persons with significant control for PEP and sanctions screening. The chain endpoint returns individuals in a consistent format regardless of depth.

PropTech due diligence

Corporate landlords and SPVs are often controlled through multi-layer holding structures. Resolve the full chain to identify who ultimately owns the property portfolio.

Credit risk

Verify that the beneficial owners of a borrower match the loan application. Detect undisclosed related-party structures by comparing chains across applicants.

Investor due diligence

Identify who you are ultimately doing business with before signing term sheets or transferring funds.

Regulatory reporting

Many regulatory regimes require documentation of UBOs above a 25% threshold. The PSC chain gives you this in a machine-readable format ready for your compliance record.

Start resolving beneficial ownership

60 days of full access - every endpoint, no monthly cap. No credit card.

By signing up you agree to our terms of service.

Was this page helpful?