Get persons with significant control
Get the PSC (Persons with Significant Control) register for a company.
Returns all active and ceased PSCs, split into categories. kind is a closed enum decided by an explicit allow-list of every Companies House PSC kind:
- individual - a natural person with significant control
- corporate-entity - a company with significant control
- legal-person - a legal person (e.g., government body) with significant control
- super-secure - a person whose details are protected by court order
- unknown - Companies House returned a kind we have not classified. Nothing is inferred from it: no verification status, no chain traversal.
Every PSC also carries kind_raw - the verbatim Companies House kind string (e.g. individual-beneficial-owner). Before 2026-08-01 an unrecognised kind was echoed into kind itself; it is now normalised to unknown and the original value is always available in kind_raw.
Corporate-entity PSCs - which register the number belongs to. Companies House stores a corporate PSC's number as the entity's number at whatever registry identification.place_registered names, which is often not Companies House (Guernsey Registry, Jersey Financial Services Commission, Commercial Register Of Liechtenstein, ...). Four fields make this explicit:
- registry_number - the number exactly as filed, at whatever registry issued it
- registry_name - that registry's name as filed
- registry_is_companies_house - true (confirmed UK register), null (a number is present but cannot be tied to the UK register), false (no registration number filed at all)
- company_number - populated only when registry_is_companies_house is true, and always in canonical Companies House form (zero-padded, upper-cased), so it can be passed straight back to this API
Before 2026-08-01 company_number carried the raw filed value whatever register it came from, so a foreign number could zero-pad onto an unrelated UK company (CH-Api#59). Clients that need the old raw behaviour should read registry_number.
Each PSC includes decoded natures_of_control_decoded with human-readable descriptions of the control type (e.g., "Owns 25-50% of shares" instead of ownership-of-shares-25-to-50-percent).
Companies exempt from PSC filing (e.g., listed PLCs on regulated markets) return has_psc_exemption: true with empty PSC lists.
Data is cached for 30 days. If the Companies House API is down, stale cached data is returned with cached: true in the response.
Example: /v1/company/12345678/psc
Upstream usage: 1 upstream call per unique company on first fetch (cached for 30 days). Companies with >100 PSCs require additional pagination calls.
Request
- Base URL: https://api.registrum.co.uk
- URL: https://api.registrum.co.uk/v1/company/{company_number}/psc
- Auth: API key in header X-API-Key
Path parameters
The Companies House company number. 8 alphanumeric characters (e.g., 00445790 for Tesco PLC). Numeric-only numbers are automatically zero-padded.
Response
PSC register returned successfully
Example response
{
"cache_age_seconds": 3421,
"cached": true,
"credits_remaining": 487,
"credits_used": 1,
"data": {
"company_age_years": 78,
"company_name": "TESCO PLC",
"company_number": "00445790",
"company_status": "active",
"company_type": "plc"
},
"data_source": "cached",
"status": "success"
}Changes
No recorded changes to this operation across all 1 revision of this API.