Register at developer.company-information.service.gov.uk and obtain a standard Public Data API key; authenticate by passing the key as the username in HTTP Basic Auth with an empty password
Search for a company by name or number using GET https://api.company-information.service.gov.uk/search/companies?q={companyName}; extract the company_number from the result
Retrieve the list of current and resigned officers by calling GET https://api.company-information.service.gov.uk/company/{company_number}/officers; paginate using items_per_page and start_index parameters
Retrieve PSC records (persons and entities with significant control) via GET https://api.company-information.service.gov.uk/company/{company_number}/persons-with-significant-control; parse the natures_of_control array and identification fields
Check identity verification status on each director record — as of late 2025, records include an identity_verification_status field reflecting whether the individual has completed Companies House identity verification under the Economic Crime and Corporate Transparency Act (ECCTA)
For corporate PSCs, follow the psc-corporate endpoint and extract the identification.registration_number and identification.country_registered to perform cross-registry verification
Known gotchas
The Companies House Public Data API is rate-limited; consult the current rate limit documentation to avoid 429 responses — the limit is applied per API key, not per IP
Resigned officers remain in the officers list with a resigned_on date; filter by resigned_on is null (or absent) to get only currently active officers
PSC data is self-reported by companies; the API reflects what has been filed, not independently verified ownership — discrepancies with the actual beneficial ownership structure should be investigated using additional sources
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp