nvNeuralVerge
Corporate registry

UK Company Registry (Companies House) API and MCP — Company Profile, Officers, Charges

Send a Companies House company number and get the company back as structured JSON: name, status, company type, incorporation date, registered address, SIC codes, previous names, accounts and confirmation-statement dates, a list of officers, any registered charges and insolvency cases.

You send
a Companies House company number, or the link to the company page
You get back
status, registration date, registered address, SIC codes, previous names, accounts and confirmation-statement dates, officers and charges
Coverage
United Kingdom — entities on Companies House.
Price
30 pts — $30 per 1,000
Charged only when the record resolves. A lookup that finds nothing is not billed.
Comparison

Ways to get this data

Three approaches teams use today, and where each one runs into trouble.

ApproachWhat it takesCostTrade-off
Companies House directlyOpen Companies House and read the recordUsually free, sometimes per-documentA different interface, language and data shape for every country you add
Collecting it yourselfBuild and host a crawler per register, then keep each one aliveInfrastructure and maintenanceRegisters change their pages without warning, and nobody is on the hook when yours breaks
NeuralVergeOne request, the same shape as every other source in the catalog$30 per 1,000, misses not billedCovers United Kingdom — other countries are separate sources with the same request format
Response

What you get back

Every field in the example response below.

FieldTypeDescription
session_idstringId of this run, for tracing.
kindstringSource type of the response.
companystringThe identifier you sent.
company_idstringThe identifier as the register uses it.
humanstringReadable summary of the record.
total_pointsnumberPoints charged for the run.
machine.company.registration_numberstringCompany number.
machine.company.namestringRegistered company name.
machine.company.statusstringCompany status, e.g. Active.
machine.company.addressstringRegistered office address.
machine.company.urlstringLink to the company page on the register.
machine.company.company_typestringCompany type, e.g. Public limited Company.
machine.company.incorporation_datestringDate of incorporation (YYYY-MM-DD).
machine.company.activitystringMain SIC code with its description.
machine.company.sic_codesarrayAll SIC codes with descriptions.
machine.company.dissolution_datenullEmpty in the sample because the company is active; expect a date for dissolved companies.
machine.company.previous_names[]arrayEarlier names, each with name and the period it was used.
machine.company.last_accounts_made_up_tostringDate the latest filed accounts run to.
machine.company.next_accounts_made_up_tostringDate the next accounts run to.
machine.company.next_accounts_due_bystringDeadline for the next accounts.
machine.company.accounts_overduebooleanWhether accounts are overdue.
machine.company.confirmation_statement_next_datestringNext confirmation statement date.
machine.company.confirmation_statement_due_bystringDeadline for the next confirmation statement.
machine.company.confirmation_statement_last_made_up_tostringDate the last confirmation statement was made up to.
machine.company.confirmation_statement_overduebooleanWhether the confirmation statement is overdue.
machine.company.officers_summarystringCount of officers and resignations as the register states it.
machine.company.officers[]arrayOfficers: name, role, status, correspondence address, appointed_on and a link to their appointments. Directors may also carry date_of_birth (month and year), nationality, country_of_residence and identity_verification_status.
machine.company.officers_totalnumberTotal officers on the register.
machine.company.officers_truncatedbooleanTrue when the list holds fewer officers than officers_total.
machine.company.persons_with_significant_control_summarynullEmpty in the sample; see the exemption text below.
machine.company.persons_with_significant_control_exemptionstringStatement of why the company is exempt from PSC reporting, when it is.
machine.company.persons_with_significant_control[]arrayPersons with significant control; empty in the sample.
machine.company.charges_summarystringCount of registered charges.
machine.company.charges_breakdownstringOutstanding, satisfied and part-satisfied counts.
machine.company.charges[]arrayCharges: code (type), url, created_on, delivered_on, satisfied_on, status, persons_entitled and brief_description.
machine.company.charges_totalnumberTotal charges on the register.
machine.company.charges_truncatedbooleanTrue when the list holds fewer charges than charges_total.
machine.company.insolvency_cases[]arrayInsolvency cases; empty in the sample.
machine.blockedbooleanWhether the register refused the request.
machine.pages_openednumberRegister pages read for the run.
machine.proxy_traffic_bytesnumberSize of the data transferred for the run, in bytes.
Response

Example response

A real response, as returned.

{
  "session_id": "11111111-1111-1111-1111-111111111111",
  "kind": "uk_companies",
  "company": "00445790",
  "company_id": "00445790",
  "human": "# United Kingdom — Companies House — company\n\n- **Number:** 00445790\n- **Pages opened:** 5\n- **Proxy traffic:** 420.2 KB\n- **Name:** TESCO PLC\n- **Status:** Active\n- **Type:** Public limited Company\n- **Registered:** 1947-11-27\n- **Address:** Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
  "machine": {
    "company": {
      "registration_number": "00445790",
      "name": "TESCO PLC",
      "status": "Active",
      "address": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
      "url": "https://find-and-update.company-information.service.gov.uk/company/00445790",
      "company_type": "Public limited Company",
      "incorporation_date": "1947-11-27",
      "activity": "47110 - Retail sale in non-specialised stores with food, beverages or tobacco predominating",
      "sic_codes": [
        "47110 - Retail sale in non-specialised stores with food, beverages or tobacco predominating"
      ],
      "dissolution_date": null,
      "previous_names": [
        {
          "name": "TESCO STORES (HOLDINGS) PUBLIC LIMITED COMPANY",
          "period": "14 Dec 1981 - 25 Aug 1983"
        },
        {
          "name": "TESCO STORES (HOLDINGS) LIMITED",
          "period": "27 Nov 1947 - 14 Dec 1981"
        }
      ],
      "last_accounts_made_up_to": "2026-02-28",
      "next_accounts_made_up_to": "2027-02-26",
      "next_accounts_due_by": "2027-08-26",
      "accounts_overdue": false,
      "confirmation_statement_next_date": "2027-06-18",
      "confirmation_statement_due_by": "2027-07-02",
      "confirmation_statement_last_made_up_to": "2026-06-18",
      "confirmation_statement_overdue": false,
      "officers_summary": "74 officers / 63 resignations",
      "officers": [
        {
          "name": "TAYLOR, Christopher Jon",
          "officer_url": "https://find-and-update.company-information.service.gov.uk/officers/uJ_F_UGCbPiYELlJ_fHc-J_goqo/appointments",
          "status": "Active",
          "correspondence_address": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
          "role": "Secretary",
          "appointed_on": "2025-04-14"
        },
        {
          "name": "BETHELL, Melissa",
          "officer_url": "https://find-and-update.company-information.service.gov.uk/officers/aqrS_F-2zIvSaMNtl1opqDV4-w0/appointments",
          "status": "Active",
          "correspondence_address": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
          "role": "Director",
          "date_of_birth": "1974-09",
          "appointed_on": "2018-09-24",
          "nationality": "British",
          "country_of_residence": "United Kingdom",
          "identity_verification_status": "Verified Verification requirements complete"
        }
      ],
      "officers_total": 74,
      "officers_truncated": true,
      "persons_with_significant_control_summary": null,
      "persons_with_significant_control_exemption": "From 18 June 2018 the company is exempt from the requirement to obtain information of its PSC because it has voting shares admitted to trading on a UK regulated market",
      "persons_with_significant_control": [],
      "charges_summary": "9 charges registered",
      "charges_breakdown": "2 outstanding, 7 satisfied, 0 part satisfied",
      "charges": [
        {
          "code": "Account security agreement",
          "url": "https://find-and-update.company-information.service.gov.uk/company/00445790/charges/5QU1lSudRI2jTIfUv_AOVxfLxVE",
          "created_on": "2009-11-04",
          "delivered_on": "2009-11-06",
          "satisfied_on": null,
          "status": "Outstanding",
          "persons_entitled": [
            "Tesco Trustee Company of Ireland Limited as Trustee of the Tesco Ireland Limited Senior Executive Pension Scheme"
          ],
          "brief_description": "Right title benefit and interest in and to the account…"
        },
        {
          "code": "Account security agreement",
          "url": "https://find-and-update.company-information.service.gov.uk/company/00445790/charges/co-_yIXMvPnNBqPuNZqOcwFwqtM",
          "created_on": "2009-11-04",
          "delivered_on": "2009-11-06",
          "satisfied_on": null,
          "status": "Outstanding",
          "persons_entitled": [
            "Tesco Ireland Pension Trustees Limited as Trustee of the Tesco Ireland Limited Pension Plan"
          ],
          "brief_description": "Right title benefit and interest in and to the account…"
        }
      ],
      "charges_total": 9,
      "charges_truncated": false,
      "insolvency_cases": []
    },
    "blocked": false,
    "pages_opened": 5,
    "proxy_traffic_bytes": 430307
  },
  "total_points": 30
}
Integration

How to run it

The same lookup works from the app, the API, or as a tool an agent can call mid-task.

One company per request. Pass the registration number or the link to the record on the register.

curl -X POST https://api.neuralverge.ai/functions/v1/run-uk-companies \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company":"00445790"}'
Use cases

What teams use it for

Where this field shows up in an actual workflow.

Counterparty and supplier checks

Confirm a UK company is active, see its registered address and check whether accounts or confirmation statements are overdue before you sign.

Credit and lending review

Read outstanding charges and their holders, plus insolvency cases, for a company you are about to lend to or extend terms to.

Ownership and officer research

Pull current officers with appointment dates and follow each officer link, and see whether PSC information exists or the company is exempt.

CRM and KYC enrichment

Fill company type, SIC code, incorporation date and previous names from a company number you already hold.

Coverage & limits

Coverage, freshness and limits

What this source covers, how fresh it is, and where it stops.

Coverage

United Kingdom — entities on Companies House.

Freshness

Read at request time, so the answer reflects the register as it stands when you ask.

Handling

Companies House is a public register. Every response carries the source URL it was read from and a session id you can trace.

What it will not do
  • —Officers and charges come back as capped lists; officers_total and charges_total give the full count and the truncated flags tell you when the list is shorter.
  • —Company type and PSC fields can be empty depending on the company; the sample shows an empty PSC list for a listed company.
  • —Filed documents are not in this record. Use Companies House filings for the filing history.
FAQ

Questions, answered

The Companies House company number, such as 00445790 for Tesco PLC, or the link to the company page. Keep leading zeros.

Related

Related sources

Try companies house company on your own data

One request format across every source in the catalog.

Get started