npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

companies-house-cli

v2.0.0

Published

CLI for the UK Companies House public register — company search, records, officers, ownership, filings and filed documents. Bring your own free API key.

Readme

Companies House CLI

npm version npm downloads License: MIT Node 22+

Read the UK Companies House public register from your terminal. Search companies, read their records, trace officers and ownership, pull filings and download the filed documents.

Runs on your own free API key. Nothing is sent anywhere except Companies House.

Full docs: companies-house.uk

Install

npm install -g companies-house-cli
ch config set-key your-key-here
ch report 00445790

Get a free key at developer.company-information.service.gov.uk.

Commands

ch search <query>                Find companies by name
ch search-officers <query>       Find officers by name across the register

ch profile <company-number>      Read a company record
ch charges <company-number>      List registered charges
ch insolvency <company-number>   Read the insolvency record
ch registers <company-number>    Show where statutory registers are held
ch exemptions <company-number>   List disclosure exemptions
ch establishments <company-number>   UK establishments of an overseas company

ch officers <company-number>     List company officers
ch appointments <officer-id>     List one officer's appointments
ch ownership <company-number>    List persons with significant control
ch disqualifications <officer-id>    Check the disqualified directors register

ch filings <company-number>      Read filing history
ch filing <company-number> <transaction-id>   Read one filing in detail
ch document <document-id>        Download the document behind a filing

ch report <company-number>       Read the main records in one call
ch check <company-number>        Screen a company against the public register
ch network <officer-name>        Map an officer's appointments across companies

ch serve                         Run the MCP server (stdio, or --http)
ch config <set-key|show|path|clear>   Manage the saved API key
ch tools                         List the MCP tools this build exposes

ch <command> --help prints that command's full flag list, generated from the tool it calls.

Company numbers are eight characters, zero-padded: 00445790. Scottish companies use SC, Northern Irish NI, LLPs OC, overseas companies FC. Shorter all-digit numbers are padded automatically.

Output

| Mode | Flag | Best for | |------|------|----------| | Terminal | (default) | Reading | | Markdown | --md | Files and notes | | JSON | --json | Scripting and jq |

API key

Checked in this order:

  1. --key <key> for a single command
  2. The COMPANIES_HOUSE_API_KEY environment variable
  3. ~/.config/companies-house/config.json, written with owner-only permissions by ch config set-key

ch config show prints only the last four characters and the source.

Exit codes

0 success, 1 the request failed, 2 bad usage, 3 no API key configured.

What the register does not tell you

Companies House records what companies file. It carries out basic completeness checks but does not verify the information is accurate.

ch check is a screening summary of what is on the register, not a verdict. It reports the entries a reviewer would want to look at, the checks it ran, and the checks it could not run. It never concludes that a company is sound. Nothing here is a verification, a credit check, a sanctions or politically-exposed-person screening, or a clearance decision.

MCP server

This package also ships the MCP server that companies-house-mcp wraps. ch serve starts it over stdio. For AI assistant setup, use that package — see companies-house.uk/mcp.

HTTP binds to 127.0.0.1 by default and needs no token there. Binding anywhere else requires MCP_BEARER_TOKEN; the server refuses to start without it.

Development

git clone https://github.com/aicayzer/companies-house-mcp.git
cd companies-house-mcp
pnpm install
pnpm build
pnpm test:unit                   # no API key needed
pnpm test:integration            # requires COMPANIES_HOUSE_API_KEY

Disclaimer

Not affiliated with or endorsed by Companies House or the UK Government. Uses the public Companies House API.

Licence

MIT