DEV Community

OpenRegistry
OpenRegistry

Posted on

UK Companies House — post-ECCTA reality / API guide

UK Companies House — post-ECCTA reality / API guide

The UK matters because Companies House is still the cleanest high-volume live registry surface in OpenRegistry, and it is now changing under the post-ECCTA regime rather than the old “just a lookup page” model. For integrators, the concrete fact to anchor on is simple: company numbers are still 8 characters, and the adapter auto-pads short England/Wales numbers like 6 to 00000006.

What the registry actually exposes

OpenRegistry’s UK adapter is the reference implementation and the most complete surface in the server. The live coverage currently includes:

  • search_companies
  • get_company_profile
  • list_filings
  • get_financials
  • get_shareholders
  • get_officers
  • get_persons_with_significant_control
  • get_charges
  • get_officer_appointments
  • search_officers
  • get_document_metadata
  • fetch_document

Auth-wise, this is the public hosted MCP endpoint and does not require a registry account. The upstream adapter is live, and the server notes a 600 requests / 5 minutes / operator key ceiling. There is also a small in-adapter dedup cache for 10 seconds inside one AI turn; if you need absolute freshness, pass fresh=true.

Response formats are close to upstream Companies House data: structured JSON for profiles, officers, PSCs, filings, charges, and financials; documents are fetched through metadata then download. The key thing for builders is that the data comes through unmodified and source-linked, rather than being normalized into a synthetic company graph.

What is paywalled, gated, or restricted

The public surface is broad, but it is not everything.

Some identity and privacy-sensitive fields are redacted or only partially exposed. Officer dates of birth are month/year only. Home addresses are not surfaced; only service or correspondence-style addresses appear. The public adapter also does not expose identity-verification status.

For UK users, the registry itself is still subject to the usual Companies House product boundaries: some document flows are slower than the metadata surface, and document retrieval should be treated as a separate step from profile lookup. The adapter does not invent missing fields when upstream omits them.

Which OpenRegistry tools cover which surface

For the UK, the coverage matrix is unusually complete:

Tool Status Notes
search_companies ✅ live name search and company-number search
get_company_profile ✅ live statutory profile, status, addresses, accounts, confirmation
list_filings ✅ live filing history with category, description, date
get_financials ✅ live filed accounts surface
get_shareholders ✅ live shareholding surface where available
get_officers ✅ live current and historic officers
get_persons_with_significant_control ✅ live PSC entries and control types
get_charges ✅ live registered charges and satisfaction status
get_officer_appointments ✅ live cross-company appointment history
search_officers ✅ live officer-name discovery
get_document_metadata ✅ live metadata before document fetch
fetch_document ✅ live document download

This matters because the UK is the baseline where “production-grade” means the whole workflow, not just lookup-by-name.

Country-specific quirks

Three UK quirks matter in practice:

  1. ID shape is not uniform across the four legal geographies. England/Wales use 8 digits; Scotland uses SC plus 6 digits; Northern Ireland uses NI plus 6 digits; LLPs use OC plus 6 digits. The adapter accepts short England/Wales forms and pads them.

  2. Company status is not a single business-friendly value. Native states include active, dissolved, liquidation, receivership, administration, voluntary-arrangement, insolvency-proceedings, open, closed, removed, and converted-closed. Treat mapping carefully.

  3. Officers and PSCs are intentionally incomplete compared with private databases. The public dataset is still useful, but it is not a full-person dossier. That is a feature, not a bug.

Complete worked example

Take Monzo Bank Limited, company number 09446231.

A profile lookup returns the live statutory record:

  • company name: MONZO BANK LIMITED
  • status: active
  • incorporation date: 2015-02-18
  • registered office: Broadwalk House, 5 Appold Street, London, EC2A 2AG
  • previous name: FOCUS FS LIMITED
  • SIC codes: 64191, 64999
  • last accounts made up to: 2025-03-31
  • next accounts due: 2026-12-31

That is enough for a downstream workflow to decide whether to inspect officers, charges, filings, or financial statements next. For a live agent, the same sequence can be chained in one turn: search, profile, filings, PSCs, then document fetch if the filing text is needed.

Connecting an MCP client

Add the server URL to your client as a remote MCP endpoint:

{
  "mcpServers": {
    "openregistry": {
      "url": "https://openregistry.sophymarine.com/mcp"
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

That works in Claude Desktop, Cursor, and Cline with the usual remote-MCP flow.

CTA

If you need an anonymous first pass, this is a good place to start: search Monzo as a public profile, verify the company number, then branch into filings or officers without signing up anywhere. The live profile for the example company is at /company/GB/09446231 on the OpenRegistry site.


OpenRegistry's full coverage

OpenRegistry is a free remote MCP server giving AI agents real-time access to company-registry data from 29 national governments. This article focused on the UK; the same toolkit covers:

🇬🇧 UK Companies House · 🇮🇪 CRO · 🇦🇺 ABR · 🇨🇭 Zefix · 🇳🇴 Brreg · 🇫🇷 INSEE Sirene + RNE · 🇫🇮 PRH · 🇨🇿 ARES · 🇵🇱 KRS · 🇹🇼 GCIS · 🇨🇦 Corporations Canada · 🇨🇦 BC · 🇨🇦 NWT · 🇧🇪 KBO · 🇮🇲 IoM Registry · 🇮🇸 RSK · 🇱🇮 Liechtenstein HR · 🇩🇪 Handelsregister · 🇳🇿 Companies Office · 🇲🇨 RCI · 🇮🇹 Registro Imprese (BRIS) · 🇭🇰 Companies Registry · 🇲🇾 SSM · 🇰🇷 OPENDART · 🇨🇾 DRCOR · 🇰🇾 CIMA · 🇲🇽 PSM · 🇷🇺 ЕГРЮЛ

→ Hosted MCP endpoint: https://openregistry.sophymarine.com/mcp
→ Docs: https://openregistry.sophymarine.com/docs/
→ Free anonymous tier: 20 req/min, all tools, every jurisdiction.

Made by Sophymarine.

Top comments (0)