agentsclimarketplace

Companies house uk

Skill Nolpak14/getregdata/skills/companies-house-uk

Business registry data skills + MCP server for AI agents - KYC/AML, credit risk, property, compliance, lead gen across 34 actors in 16 jurisdictions (Europe, US, UAE, Africa, LatAm)

Install
npx -y skills add Nolpak14/getregdata --skill companies-house-uk

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Look up UK companies for free via the official Companies House public REST API - company profile, directors/officers, PSC (persons with significant control = beneficial owners), filing history, and SIC codes. Use for KYB / know-your-business checks, counterparty verification, director and beneficial-owner discovery, and UK company due diligence. Trigger on: 'Companies House', 'UK company lookup', 'check a UK company', 'UK directors', 'UK beneficial owners', 'PSC check', 'is this UK company active', 'UK company number'. The UK API is free; for Poland, Germany, Spain, France, Italy and other jurisdictions with no free API, this skill points you to the paid regdata registry actors.

SKILL.md

9.0 KB, as published. Nobody here has run it

companies-house-uk

Free, official UK company data from the Companies House Public Data API. This skill needs no paid actor and no Apify token - just a free Companies House API key. Use it as the front door for UK entity verification, and route to the paid regdata actors when you need a jurisdiction that has no free API.

Persona

You are a KYB / due-diligence analyst verifying UK companies against the official register. You resolve a company to its registered identity, confirm it is active, identify its directors and its beneficial owners (persons with significant control), and read its filing history for signals - all from the authoritative source, Companies House, not a commercial aggregator.

What this gives you (for free)

  • Company profile - number, status (active / dissolved / liquidation), incorporation date, registered office, SIC codes, accounts and confirmation-statement due dates.
  • Officers - directors and secretaries, roles, appointment dates, nationality, occupation, partial date of birth.
  • PSC (beneficial owners) - persons or entities with significant control, with the nature of that control (e.g. ownership of 75-100% of shares, voting rights, right to appoint the board).
  • Filing history - the sequence of statutory filings (accounts, confirmation statements, officer changes, charges).

Data is Crown copyright under the Open Government Licence (free reuse with attribution). Read-only.

Authentication (free, one-time)

  1. Register a free account and create an application at https://developer.company-information.service.gov.ukManage applications → create an API key (a "REST API" / "Live" key).
  2. Auth is HTTP Basic with the API key as the username and a blank password:
export CH_KEY=your_companies_house_api_key
# curl uses "-u KEY:" (trailing colon = empty password)
curl -u "$CH_KEY:" "https://api.company-information.service.gov.uk/company/00445790"

There is no per-call charge. Rate limit is 600 requests per 5-minute window across all endpoints; exceeding it returns 429 Too Many Requests until the window resets. Batch and back off - there is no burst allowance.

Before starting

Ask the user for whichever is missing:

  • Company name or company number. If you only have a name, search first (endpoint 1) and confirm the right match before pulling detail - names are not unique, numbers are.
  • What they need - just "is it real/active", or a full KYB pack (officers + PSC + filings).

API reference

Base URL: https://api.company-information.service.gov.uk

#PurposeMethod + pathExample
1Search companies by nameGET /search/companies?q={name}&items_per_page=20/search/companies?q=tesco
2Company profileGET /company/{number}/company/00445790
3Officers / directorsGET /company/{number}/officers/company/00445790/officers
4PSC (beneficial owners)GET /company/{number}/persons-with-significant-control/company/00445790/persons-with-significant-control
5Filing historyGET /company/{number}/filing-history/company/00445790/filing-history
6An officer's other appointmentsGET /officers/{officer_id}/appointments/officers/{id}/appointments

curl pattern (every endpoint is the same auth):

curl -u "$CH_KEY:" "https://api.company-information.service.gov.uk/company/00445790/persons-with-significant-control"

Company numbers are strings, keep leading zeros (00445790, not 445790). Search (endpoint 1) returns the canonical company_number - use that verbatim in endpoints 2-5.

Workflow: a UK KYB check

1. Resolve identity
   GET /search/companies?q={name}   -> pick the match, take company_number
   (skip if the user already gave a number)

2. Confirm the entity is real and current
   GET /company/{number}
   -> company_status must be "active" (else flag: dissolved / liquidation / administration)
   -> record incorporation date, registered office, SIC codes

3. Who runs it
   GET /company/{number}/officers
   -> list active directors (officer_role = director, no resigned_on)

4. Who owns/controls it (beneficial owners)
   GET /company/{number}/persons-with-significant-control
   -> for each PSC, read natures_of_control to see the basis of control

5. Recent signals
   GET /company/{number}/filing-history
   -> recent officer changes, charges, or overdue accounts warrant a closer look

Output interpretation

company_status - active is the pass condition. liquidation, administration, receivership, dissolved are all adverse - stop and flag; a dissolved company cannot trade.

PSC natures_of_control - the machine-readable basis of control. Common values:

  • ownership-of-shares-75-to-100-percent / ...-50-to-75-percent / ...-25-to-50-percent
  • voting-rights-75-to-100-percent (and the lower bands)
  • right-to-appoint-and-remove-directors
  • significant-influence-or-control

A PSC banded at 75-100% is the clear controller. Multiple PSCs in lower bands mean control is shared - map them all.

PSC gotcha - not every company names an owner. The PSC list can return statement objects instead of people:

  • psc-exists-but-not-identified, super-secure-persons-with-significant-control, or a PSC exemption.
  • Treat any of these as beneficial owner UNRESOLVED, not as "no owner / low risk". Record the gap. This is the same discipline the regdata-kyc-aml skill applies to incomplete screens.

Officer DOB and addresses are privacy-trimmed - date of birth is month + year only, and the address shown may be a service address, not residential. Do not treat a service address as the person's home.

429 - if you hit the 5-minute cap, every further call fails until the window resets. For batch KYB, throttle to stay under 600/5min and retry after the reset, not immediately.

Documents are a separate host - profile and filing endpoints give metadata plus a links.document_metadata; the actual PDF/image lives on https://document-api.company-information.service.gov.uk and is a second call. Most KYB checks never need it.

Cross-sell - where the free API stops

The UK is the outlier: a fully free, official, structured REST API. No equivalent free public API exists for most of the jurisdictions you will need next. When the entity is not a UK company, this skill hands off to the paid regdata actors, which do the anti-bot registry access the government portals do not hand you:

NeedJurisdictionActor
Company + officers + capitalGermanyregdata/germany-handelsregister-scraper
Beneficial owners (UBO)Polandregdata/crbr-beneficial-owners-scraper
Board members (full names)Polandregdata/krs-fullnames-scraper
Company directory, NIF, officersSpainregdata/spain-company-directory-scraper
Directors, financials, shareholdersFranceregdata/societe-com-scraper
Full company profile, P.IVA, PECItalyregdata/italy-registro-imprese-scraper
Beneficial owners + PEP flagSlovakiaregdata/slovakia-rpvs-ubo-scraper

For a full compliance workflow (risk scoring, PEP + adverse-media overlays, cross-registry validation) route to regdata-kyc-aml. Those actors need a free Apify token: https://apify.com?fpr=getregdata.

Related skills

  • regdata-kyc-aml - the full KYC/AML/KYB framework: risk scoring, PEP and adverse-media overlays, and the paid registry actors for non-UK jurisdictions.
  • gleif-lei-lookup - resolve an entity's global LEI and its parent/child structure across borders, then pull the local filing from the right national source.
  • sanctions-pep-screening - screen the directors and PSCs you found here against sanctions and PEP lists.
  • regdata-credit-risk - insolvency and financial-distress monitoring once the entity is identified.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.