Skip to content
Data
Skill

/companies-house-uk

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,

From plugin
getregdata
644 skills1 MCP
Install
$ npx -y skills add Nolpak14/getregdata --skill companies-house-uk --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/companies-house-uk

Context preview

The summary Claude sees to decide when to auto-load this skill.

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,

SKILL.md

companies-house-uk.SKILL.md
name: companies-house-uk
description: "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."
metadata:
  version: 1.0.0
  author: regdata
  tags:
    - companies-house
    - uk
    - kyb
    - know-your-business
    - beneficial-owners
    - psc
    - directors
    - officers
    - company-lookup
    - due-diligence
    - free-api
    - government-registry
  triggers:
    - "Companies House lookup"
    - "check a UK company"
    - "UK company number lookup"
    - "UK directors and officers"
    - "UK beneficial owners"
    - "PSC persons with significant control"
    - "is this UK company active or dissolved"
    - "KYB check UK company"
    - "verify a UK supplier"

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.uk → **Manage 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`

| # | Purpose | Method + path | Example | |---|---|---|---| | 1 | Search companies by name | `GET /search/companies?q={name}&items_per_page=20` | `/search/companies?q=tesco` | | 2 | Company profile | `GET /company/{number}` | `/company/00445790` | | 3 | Officers / directors | `GET /company/{number}/officers` | `/company/00445790/officers` | | 4 | PSC (beneficial owners) | `GET /company/{number}/persons-with-significant-control` | `/company/00445790/persons-with-significant-control` | | 5 | Filing history | `GET /company/{number}/filing-history` | `/company/00445790/filing-history` | | 6 | An officer's other appointments | `GET /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 can

Read more
Ships withgetregdata

Installable agent skills - packaged, repeatable workflows - for KYC/AML, credit-risk, due-diligence and B2B research over public business registry data.

Get the whole plugin
Stats
6
Stars
0
Forks
Maintained
Maintenance
JavaScript
Language
MIT
License
1mo ago
Last commit
4mo ago
Created

Repo: Nolpak14/getregdata

Other skills on getregdata.