# Companies House

> Look up any company on the UK's Companies House register: search by name or number, or build lists by industry, location, status and incorporation date; get a company's profile, directors, people with significant control, filings and their PDFs, charges and insolvency history; see a director's other companies; and check the register of disqualified directors. Needs a free Companies House API key.

App · Compliance & Security · 13 actions. Web page: https://docs.lodol.com/docs/integrations/companies-house

## Actions

### Advanced company search

Find every company that matches the filters you choose: words in its name, industry, where its registered office is, status, type and when it was incorporated or dissolved. For building lists, such as every active hotel company in Manchester incorporated this year. Returns up to 5,000 companies at a time with their industries.

**Inputs**

- Name contains (`name_contains`, text): Only companies whose name contains this word or phrase.
- Name doesn't contain (`name_excludes`, text): Leave out companies whose name contains this word or phrase.
- Industries (`industries`, list): Only companies in these industries, by the SIC code they registered their business under. Each industry covers all of its SIC codes: Accommodation (55) covers hotels, holiday lets and campsites. A five-digit SIC code from an earlier step, such as 62012, works too. One or more of: `01` (Crop and animal production, hunting and related service activities (01)), `02` (Forestry and logging (02)), `03` (Fishing and aquaculture (03)), `05` (Mining of coal and lignite (05)), `06` (Extraction of crude petroleum and natural gas (06)), `07` (Mining of metal ores (07)), `08` (Other mining and quarrying (08)), `09` (Mining support service activities (09)), `10` (Manufacture of food products (10)), `11` (Manufacture of beverages (11)), and 78 more.
- Location (`location`, text): Only companies whose registered office is here: a town, city, county or postcode, such as Manchester or M1.
- Company status (`statuses`, list): Only companies with one of these statuses. Leave empty for any. One or more of: `active`, `dissolved`, `liquidation`, `administration` (In Administration), `receivership` (Receiver Action), `voluntary-arrangement` (Voluntary Arrangement), `insolvency-proceedings` (Insolvency Proceedings), `converted-closed` (Converted / Closed), `open`, `closed`, `registered`, `removed`.
- Company type (`company_types`, list): Only companies of one of these types. Leave empty for any. One or more of: `ltd` (Private limited company), `plc` (Public limited company), `llp` (Limited liability partnership), `private-limited-guarant-nsc` (Private limited by guarantee without share capital), `private-limited-guarant-nsc-limited-exemption` (Private Limited Company by guarantee without share capital, use of 'Limited' exemption), `private-limited-shares-section-30-exemption` (Private Limited Company, use of 'Limited' exemption), `private-unlimited` (Private unlimited company), `private-unlimited-nsc` (Private unlimited company without share capital), `limited-partnership` (Limited partnership), `scottish-partnership` (Scottish qualifying partnership), and 20 more.
- Company subtype (`subtypes`, list): Only community interest companies or private fund limited partnerships. Leave empty for any. One or more of: `community-interest-company` (Community interest company (CIC)), `private-fund-limited-partnership` (Private fund limited partnership (PFLP)).
- Incorporated from (`incorporated_from`, date): Only companies incorporated on or after this date.
- Incorporated to (`incorporated_to`, date): Only companies incorporated on or before this date.
- Dissolved from (`dissolved_from`, date): Only companies dissolved on or after this date.
- Dissolved to (`dissolved_to`, date): Only companies dissolved on or before this date.
- Results (`limit`, number): How many companies to return, from 1 to 5,000. Leave empty for 20. From 1 to 5000.
- Page (`page`, number): Which page of results to return, each as long as Results, starting at 1. Leave empty for the first page. At least 1.

**Outputs**

- `companies` (list): The companies that match every filter
- `has_more` (true/false): True when there is another page after this one
- `page` (number): Which page this is, starting at 1
- `total_results` (number): How many match in all, across every page

**Example output**

```json
{
  "companies": [
    {
      "ceased_on": null,
      "company_name": "TESCO PLC",
      "company_number": "00445790",
      "company_subtype_label": null,
      "company_type": "plc",
      "company_type_label": "Public limited company",
      "incorporated_on": "1947-11-27",
      "industries": [
        {
          "description": "Retail sale in non-specialised stores with food, beverages or tobacco predominating",
          "sic_code": "47110"
        }
      ],
      "registered_office_address": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
      "sic_codes": [
        "47110"
      ],
      "status": "active",
      "status_label": "Active",
      "url": "https://find-and-update.company-information.service.gov.uk/company/00445790"
    },
    {
      "ceased_on": null,
      "company_name": "TESCO STORES LIMITED",
      "company_number": "00519500",
      "company_subtype_label": null,
      "company_type": "ltd",
      "company_type_label": "Private limited company",
      "incorporated_on": "1953-06-30",
      "industries": [
        {
          "description": "Retail sale in non-specialised stores with food, beverages or tobacco predominating",
          "sic_code": "47110"
        }
      ],
      "registered_office_address": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
      "sic_codes": [
        "47110"
      ],
      "status": "active",
      "status_label": "Active",
      "url": "https://find-and-update.company-information.service.gov.uk/company/00519500"
    }
  ],
  "has_more": false,
  "page": 1,
  "total_results": 2
}
```

### Download a filing

Download a filing's PDF, such as a company's latest accounts, as a file a later step can attach to an email, save to storage or read with AI. Files up to 50 MB.

**Inputs**

- Company number (`company_number`, text, required): The company's registration number, such as 00445790 for Tesco PLC or SC045551 for NatWest Group plc. Leading zeros can be left off, and a link to the company's page on Companies House works too. Search companies finds a number from a name.
- Filing (`filing`, text, required): The filing to download, from the company's recent filings that have a document. For an older one, use its transaction_id from List filings.

**Outputs**

- `byte_size` (number): The file's size in bytes
- `content_type` (text): The file's media type
- `document_ref` (text): The stored file's reference
- `documents` (list): The PDF as a document, ready to attach to a later step
- `filename` (text): The file's name
- `filing` (object): The filing, as List filings returns it
- `url` (text): A URL that serves the stored file

**Example output**

```json
{
  "byte_size": 82803,
  "content_type": "application/pdf",
  "document_ref": "doc_3f2a9c1e5b7d4e6f8a0b1c2d3e4f5a6b",
  "documents": [
    {
      "content_type": "application/pdf",
      "document_ref": "doc_3f2a9c1e5b7d4e6f8a0b1c2d3e4f5a6b",
      "filename": "00445790 2026-07-01 CS01.pdf",
      "size_bytes": 82803,
      "url": "/actions/core/serve-document/doc_3f2a9c1e5b7d4e6f8a0b1c2d3e4f5a6b?teamId=6876e08ad6296a1d681d3c7c"
    }
  ],
  "filename": "00445790 2026-07-01 CS01.pdf",
  "filing": {
    "category": "confirmation-statement",
    "category_label": "Confirmation statement",
    "date": "2026-07-01",
    "description": "Confirmation statement made on 18 June 2026 with no updates",
    "document_url": "https://find-and-update.company-information.service.gov.uk/company/00445790/filing-history/MzUyOTc5MTk2NGFkaXF6a2N4/document?format=pdf&download=0",
    "has_document": true,
    "pages": 3,
    "paper_filed": false,
    "transaction_id": "MzUyOTc5MTk2NGFkaXF6a2N4",
    "type": "CS01"
  },
  "url": "/actions/core/serve-document/doc_3f2a9c1e5b7d4e6f8a0b1c2d3e4f5a6b?teamId=6876e08ad6296a1d681d3c7c"
}
```

### Get a company

Get a company's profile from the register: its name, status, type, registered office, industries, former names, when it was incorporated, when its next accounts and confirmation statement are due and whether either is overdue, and whether it has charges or an insolvency history.

**Inputs**

- Company number (`company_number`, text, required): The company's registration number, such as 00445790 for Tesco PLC or SC045551 for NatWest Group plc. Leading zeros can be left off, and a link to the company's page on Companies House works too. Search companies finds a number from a name.

**Outputs**

- `accounting_reference_date` (text): The day its financial year ends, e.g. 28 February
- `accounts_overdue` (true/false): True when its accounts are overdue
- `ceased_on` (text): When it was dissolved, closed or removed (YYYY-MM-DD), if it has been
- `company_name` (text): The company's registered name
- `company_number` (text): The company's number, e.g. 00445790
- `company_subtype_label` (text): Its subtype in words, if it has one
- `company_type` (text): The type of company, e.g. ltd, plc or llp
- `company_type_label` (text): That type in words, e.g. Private limited company
- `confirmation_statement_overdue` (true/false): True when its confirmation statement is overdue
- `has_charges` (true/false): True when charges have been registered against it (List charges)
- `has_insolvency_history` (true/false): True when it has an insolvency history (Get insolvency history)
- `incorporated_on` (text): When it was incorporated (YYYY-MM-DD)
- `industries` (list): Those SIC codes with what each covers
- `jurisdiction` (text): Where it is registered, e.g. England/Wales
- `last_accounts_made_up_to` (text): The end of the period its last accounts covered (YYYY-MM-DD)
- `last_accounts_type` (text): The kind of accounts it last filed, e.g. Small
- `last_confirmation_statement_made_up_to` (text): The date its last confirmation statement was made up to (YYYY-MM-DD)
- `next_accounts_due_on` (text): When its next accounts are due (YYYY-MM-DD)
- `next_accounts_made_up_to` (text): The end of the period its next accounts cover (YYYY-MM-DD)
- `next_confirmation_statement_due_on` (text): When its next confirmation statement is due (YYYY-MM-DD)
- `next_confirmation_statement_made_up_to` (text): The date its next confirmation statement is made up to (YYYY-MM-DD)
- `previous_names` (list): Names it had before, newest first
- `registered_office` (object): Its registered office, line by line
- `registered_office_address` (text): Its registered office, on one line
- `registered_office_in_dispute` (true/false): True when its registered office address has been disputed and replaced
- `sic_codes` (list): The SIC codes it registered its business under
- `status` (text): The company's status: active, dissolved, liquidation, administration, receivership, voluntary-arrangement, converted-closed, insolvency-proceedings, open, closed, registered or removed
- `status_detail` (text): More about the status, e.g. Active proposal to strike off, if there is any
- `status_label` (text): That status in words, e.g. Active
- `undeliverable_registered_office_address` (true/false): True when post cannot be delivered to its registered office
- `url` (text): Its page on Companies House

**Example output**

```json
{
  "accounting_reference_date": "28 February",
  "accounts_overdue": false,
  "ceased_on": null,
  "company_name": "TESCO PLC",
  "company_number": "00445790",
  "company_subtype_label": null,
  "company_type": "plc",
  "company_type_label": "Public limited company",
  "confirmation_statement_overdue": false,
  "has_charges": true,
  "has_insolvency_history": false,
  "incorporated_on": "1947-11-27",
  "industries": [
    {
      "description": "Retail sale in non-specialised stores with food, beverages or tobacco predominating",
      "sic_code": "47110"
    }
  ],
  "jurisdiction": "England/Wales",
  "last_accounts_made_up_to": "2026-02-28",
  "last_accounts_type": "Group",
  "last_confirmation_statement_made_up_to": "2026-06-18",
  "next_accounts_due_on": "2027-08-26",
  "next_accounts_made_up_to": "2027-02-26",
  "next_confirmation_statement_due_on": "2027-07-02",
  "next_confirmation_statement_made_up_to": "2027-06-18",
  "previous_names": [
    {
      "from": "1981-12-14",
      "name": "TESCO STORES (HOLDINGS) PUBLIC LIMITED COMPANY",
      "to": "1983-08-25"
    },
    {
      "from": "1947-11-27",
      "name": "TESCO STORES (HOLDINGS) LIMITED",
      "to": "1981-12-14"
    }
  ],
  "registered_office": {
    "address_line_1": "Shire Park",
    "address_line_2": "Kestrel Way",
    "country": "United Kingdom",
    "locality": "Welwyn Garden City",
    "postal_code": "AL7 1GA",
    "premises": "Tesco House",
    "region": null
  },
  "registered_office_address": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
  "registered_office_in_dispute": false,
  "sic_codes": [
    "47110"
  ],
  "status": "active",
  "status_detail": null,
  "status_label": "Active",
  "undeliverable_registered_office_address": false,
  "url": "https://find-and-update.company-information.service.gov.uk/company/00445790"
}
```

### Get a disqualified director

Get a disqualified director's disqualifications: when each starts and ends, whether it is in force, why and under which law, and the companies involved, with any permission a court has given them to act anyway.

**Inputs**

- Disqualified director (`officer`, text, required): Who to look up: the officer_id from Search disqualified directors, or a link to their page on Companies House.

**Outputs**

- `company_number` (text): A company's registration number
- `country_of_registration` (text): The country a company is registered in
- `date_of_birth` (text): A person's date of birth (YYYY-MM-DD)
- `disqualifications` (list): Their disqualifications
- `is_currently_disqualified` (true/false): True while any of their disqualifications is in force
- `kind` (text): person or company
- `name` (text): Their name
- `nationality` (text): A person's nationality
- `officer_id` (text): Their ID
- `permissions_to_act` (list): Permissions a court has given them to act for a company anyway
- `url` (text): Their page on Companies House

**Example output**

```json
{
  "company_number": null,
  "country_of_registration": "Russia",
  "date_of_birth": null,
  "disqualifications": [
    {
      "address": "4-Y Lesnoy Per, D. 4, Office 429, Moscow, Russia, 125047",
      "case_identifier": "RUS3643",
      "company_names": [],
      "court_name": null,
      "disqualified_from": "2026-06-16",
      "disqualified_until": null,
      "heard_on": null,
      "is_active": true,
      "law": "Sanctions and Anti-Money Laundering Act 2018, section 3A",
      "reason": "Disqualification of persons designated under sanctions legislation",
      "type": "Sanction",
      "undertaken_on": null
    }
  ],
  "is_currently_disqualified": true,
  "kind": "company",
  "name": "LLC SMITH",
  "nationality": null,
  "officer_id": "354kFTeGMQLnUTrczYjZhoqtVPw",
  "permissions_to_act": [],
  "url": "https://find-and-update.company-information.service.gov.uk/disqualified-officers/corporate/354kFTeGMQLnUTrczYjZhoqtVPw"
}
```

### Get insolvency history

Check whether a company has been through liquidation, administration, receivership or a voluntary arrangement, with each case's dates and insolvency practitioners. A company with no insolvency history comes back with has_insolvency_history false, so a workflow can branch on it.

**Inputs**

- Company number (`company_number`, text, required): The company's registration number, such as 00445790 for Tesco PLC or SC045551 for NatWest Group plc. Leading zeros can be left off, and a link to the company's page on Companies House works too. Search companies finds a number from a name.

**Outputs**

- `cases` (list): Its insolvency cases
- `company_number` (text): The company's number
- `has_insolvency_history` (true/false): True when it has had an insolvency case
- `status` (text): Its insolvency status, e.g. Liquidation, if it has one
- `url` (text): The company's insolvency page on Companies House

**Example output**

```json
{
  "cases": [
    {
      "case_number": "1",
      "dates": [
        {
          "date": "2018-01-15",
          "label": "Petition date",
          "type": "petitioned-on"
        },
        {
          "date": "2018-01-15",
          "label": "Commencement of winding up",
          "type": "wound-up-on"
        }
      ],
      "notes": [],
      "practitioners": [
        {
          "address": "2nd Floor, 4 Abbey Orchard Street, Westminster, London, SW1P 2HT",
          "appointed_on": null,
          "ceased_to_act_on": null,
          "name": "The Official Receiver Or London",
          "role": "practitioner",
          "role_label": "Practitioner"
        }
      ],
      "type": "compulsory-liquidation",
      "type_label": "Compulsory liquidation"
    }
  ],
  "company_number": "03782379",
  "has_insolvency_history": true,
  "status": "Liquidation",
  "url": "https://find-and-update.company-information.service.gov.uk/company/03782379/insolvency"
}
```

### List an officer's appointments

List every company an officer is a director, secretary or member of, with each company's status and when they were appointed, to see what else a person runs. Current roles only, unless you include the ones they have left.

**Inputs**

- Officer (`officer`, text, required): Who to look up: the officer_id from List officers or Search officers, or a link to the officer's page on Companies House. The register can hold the same person under more than one ID, as it does not always link their appointments together.
- Include roles they have left (`include_resigned`, true/false): Also list the companies this officer has resigned from. Default: `false`.
- Results (`limit`, number): How many to return, from 1 to 100. Leave empty for 20. From 1 to 100.
- Page (`page`, number): Which page of results to return, each as long as Results, starting at 1. Leave empty for the first page. At least 1.

**Outputs**

- `appointments` (list): Their appointments
- `birth_month` (number): Their month of birth, 1 to 12
- `birth_year` (number): Their year of birth
- `date_of_birth` (text): Their month and year of birth
- `has_more` (true/false): True when there is another page after this one
- `is_corporate_officer` (true/false): True when the officer is a company, not a person
- `name` (text): Their name
- `officer_id` (text): The officer's ID
- `page` (number): Which page this is, starting at 1
- `total_results` (number): How many match in all, across every page
- `url` (text): Their appointments page on Companies House

**Example output**

```json
{
  "appointments": [
    {
      "address": "Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
      "appointed_on": "2020-10-01",
      "company_name": "TESCO PLC",
      "company_number": "00445790",
      "company_status": "active",
      "company_status_label": "Active",
      "company_url": "https://find-and-update.company-information.service.gov.uk/company/00445790",
      "is_current": true,
      "occupation": null,
      "resigned_on": null,
      "role": "director",
      "role_label": "Director"
    },
    {
      "address": "Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
      "appointed_on": "2020-10-01",
      "company_name": "TESCO STORES LIMITED",
      "company_number": "00519500",
      "company_status": "active",
      "company_status_label": "Active",
      "company_url": "https://find-and-update.company-information.service.gov.uk/company/00519500",
      "is_current": true,
      "occupation": null,
      "resigned_on": null,
      "role": "director",
      "role_label": "Director"
    },
    {
      "address": "Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
      "appointed_on": "2020-10-01",
      "company_name": "TESCO HOLDINGS LIMITED",
      "company_number": "00243011",
      "company_status": "active",
      "company_status_label": "Active",
      "company_url": "https://find-and-update.company-information.service.gov.uk/company/00243011",
      "is_current": true,
      "occupation": null,
      "resigned_on": null,
      "role": "director",
      "role_label": "Director"
    }
  ],
  "birth_month": 9,
  "birth_year": 1966,
  "date_of_birth": "September 1966",
  "has_more": false,
  "is_corporate_officer": false,
  "name": "Ken MURPHY",
  "officer_id": "mNJapaOxmblQiJZN4Gr-3vxWMHk",
  "page": 1,
  "total_results": 3,
  "url": "https://find-and-update.company-information.service.gov.uk/officers/mNJapaOxmblQiJZN4Gr-3vxWMHk/appointments"
}
```

### List charges

List the mortgages, debentures and other security registered against a company: who holds each, what it is secured on and when it was created. Outstanding charges only, unless you include satisfied ones; the counts cover all of them.

**Inputs**

- Company number (`company_number`, text, required): The company's registration number, such as 00445790 for Tesco PLC or SC045551 for NatWest Group plc. Leading zeros can be left off, and a link to the company's page on Companies House works too. Search companies finds a number from a name.
- Include satisfied charges (`include_satisfied`, true/false): Also list charges that have been paid off or released. Default: `false`.

**Outputs**

- `charges` (list): The charges, newest first
- `company_number` (text): The company's number
- `outstanding_count` (number): How many are outstanding
- `part_satisfied_count` (number): How many are part satisfied
- `satisfied_count` (number): How many are satisfied
- `total_count` (number): How many charges it has had in all
- `url` (text): The company's charges on Companies House

**Example output**

```json
{
  "charges": [
    {
      "charge_code": null,
      "charge_id": "5QU1lSudRI2jTIfUv_AOVxfLxVE",
      "charge_number": null,
      "classification": "Account security agreement",
      "contains_fixed_charge": false,
      "contains_floating_charge": false,
      "contains_negative_pledge": false,
      "created_on": "2009-11-04",
      "delivered_on": "2009-11-06",
      "floating_charge_covers_all": false,
      "is_outstanding": true,
      "particulars": "Right title benefit and interest in and to the account being the euro designated account in the name of the company, and the deposit. See image for full details.",
      "persons_entitled": [
        "Tesco Trustee Company of Ireland Limited as Trustee of the Tesco Ireland Limited Senior Executive Pension Scheme"
      ],
      "satisfied_on": null,
      "secured_details": "All sums due or to become due under the terms of the aforementioned instrument creating or evidencing the charge",
      "status": "outstanding",
      "status_label": "Outstanding"
    }
  ],
  "company_number": "00445790",
  "outstanding_count": 1,
  "part_satisfied_count": 0,
  "satisfied_count": 2,
  "total_count": 3,
  "url": "https://find-and-update.company-information.service.gov.uk/company/00445790/charges"
}
```

### List filings

List what a company has filed, newest first: accounts, confirmation statements, changes of officers and more, each described in Companies House's words with a link that opens its PDF. Filter by type, such as only accounts.

**Inputs**

- Company number (`company_number`, text, required): The company's registration number, such as 00445790 for Tesco PLC or SC045551 for NatWest Group plc. Leading zeros can be left off, and a link to the company's page on Companies House works too. Search companies finds a number from a name.
- Filing types (`categories`, list): Only list filings of these types. Leave empty for every filing. One or more of: `accounts`, `confirmation-statement` (Confirmation statements and annual returns), `officers`, `capital` (Capital and shares), `mortgage` (Charges), `address` (Registered office address), `change-of-name` (Company name changes), `incorporation`, `resolution` (Resolutions), `liquidation` (Insolvency).
- Results (`limit`, number): How many to return, from 1 to 100. Leave empty for 20. From 1 to 100.
- Page (`page`, number): Which page of results to return, each as long as Results, starting at 1. Leave empty for the first page. At least 1.

**Outputs**

- `company_number` (text): The company's number
- `filings` (list): The filings, newest first
- `has_more` (true/false): True when there is another page after this one
- `page` (number): Which page this is, starting at 1
- `total_results` (number): How many match in all, across every page

**Example output**

```json
{
  "company_number": "00445790",
  "filings": [
    {
      "category": "capital",
      "category_label": "Capital",
      "date": "2026-09-16",
      "description": "Purchase of own shares.",
      "document_url": "https://find-and-update.company-information.service.gov.uk/company/00445790/filing-history/MzU0MzY3ODg5MGFkaXF6a2N4/document?format=pdf&download=0",
      "has_document": true,
      "pages": 4,
      "paper_filed": false,
      "transaction_id": "MzU0MzY3ODg5MGFkaXF6a2N4",
      "type": "SH03"
    },
    {
      "category": "capital",
      "category_label": "Capital",
      "date": "2026-08-26",
      "description": "Cancellation of shares. Statement of capital on 7 July 2026 (GBP 397,007,409.26)",
      "document_url": "https://find-and-update.company-information.service.gov.uk/company/00445790/filing-history/MzUzOTMzNzQ1OWFkaXF6a2N4/document?format=pdf&download=0",
      "has_document": true,
      "pages": 4,
      "paper_filed": false,
      "transaction_id": "MzUzOTMzNzQ1OWFkaXF6a2N4",
      "type": "SH06"
    },
    {
      "category": "accounts",
      "category_label": "Accounts",
      "date": "2026-07-25",
      "description": "Group of companies' accounts made up to 28 February 2026",
      "document_url": "https://find-and-update.company-information.service.gov.uk/company/00445790/filing-history/MzUzNDMwNDQ5M2FkaXF6a2N4/document?format=pdf&download=0",
      "has_document": true,
      "pages": 236,
      "paper_filed": false,
      "transaction_id": "MzUzNDMwNDQ5M2FkaXF6a2N4",
      "type": "AA"
    },
    {
      "category": "confirmation-statement",
      "category_label": "Confirmation statement",
      "date": "2026-07-01",
      "description": "Confirmation statement made on 18 June 2026 with no updates",
      "document_url": "https://find-and-update.company-information.service.gov.uk/company/00445790/filing-history/MzUyOTc5MTk2NGFkaXF6a2N4/document?format=pdf&download=0",
      "has_document": true,
      "pages": 3,
      "paper_filed": false,
      "transaction_id": "MzUyOTc5MTk2NGFkaXF6a2N4",
      "type": "CS01"
    },
    {
      "category": "officers",
      "category_label": "Officers",
      "date": "2026-05-07",
      "description": "Termination of appointment of Thierry Dominique Gerard Garnier as a director on 6 May 2026",
      "document_url": null,
      "has_document": false,
      "pages": null,
      "paper_filed": false,
      "transaction_id": "MzUyMDA2NTczNGFkaXF6a2N4",
      "type": "TM01"
    }
  ],
  "has_more": false,
  "page": 1,
  "total_results": 5
}
```

### List officers

List a company's directors, secretaries and LLP members: who they are, when they were appointed, their nationality, month and year of birth and whether their identity has been verified. Current officers only, unless you include those who have resigned.

**Inputs**

- Company number (`company_number`, text, required): The company's registration number, such as 00445790 for Tesco PLC or SC045551 for NatWest Group plc. Leading zeros can be left off, and a link to the company's page on Companies House works too. Search companies finds a number from a name.
- Role (`role`, text): Which officers to list. Directors includes nominee and corporate directors; LLP members includes designated members. One of: `all` (Any role), `directors`, `secretaries`, `llp_members` (LLP members). Default: `all`.
- Include people who have resigned (`include_resigned`, true/false): Also list everyone who has held a role and since left it. Default: `false`.

**Outputs**

- `company_number` (text): The company's number
- `current_count` (number): How many hold a role now
- `officers` (list): The officers, current ones first
- `resigned_count` (number): How many have resigned
- `total_results` (number): How many are listed here

**Example output**

```json
{
  "company_number": "00445790",
  "current_count": 4,
  "officers": [
    {
      "address": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
      "appointed_on": "2025-04-14",
      "birth_month": null,
      "birth_year": null,
      "country_of_residence": null,
      "date_of_birth": null,
      "identity_verification_due_on": null,
      "identity_verified_on": null,
      "is_corporate": false,
      "is_current": true,
      "name": "TAYLOR, Christopher Jon",
      "nationality": null,
      "occupation": null,
      "officer_id": "uJ_F_UGCbPiYELlJ_fHc-J_goqo",
      "resigned_on": null,
      "role": "secretary",
      "role_label": "Secretary",
      "url": "https://find-and-update.company-information.service.gov.uk/officers/uJ_F_UGCbPiYELlJ_fHc-J_goqo/appointments"
    },
    {
      "address": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
      "appointed_on": "2018-09-24",
      "birth_month": 9,
      "birth_year": 1974,
      "country_of_residence": "United Kingdom",
      "date_of_birth": "September 1974",
      "identity_verification_due_on": null,
      "identity_verified_on": "2025-07-29",
      "is_corporate": false,
      "is_current": true,
      "name": "BETHELL, Melissa",
      "nationality": "British",
      "occupation": null,
      "officer_id": "aqrS_F-2zIvSaMNtl1opqDV4-w0",
      "resigned_on": null,
      "role": "director",
      "role_label": "Director",
      "url": "https://find-and-update.company-information.service.gov.uk/officers/aqrS_F-2zIvSaMNtl1opqDV4-w0/appointments"
    },
    {
      "address": "Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
      "appointed_on": "2020-10-01",
      "birth_month": 9,
      "birth_year": 1966,
      "country_of_residence": "United Kingdom",
      "date_of_birth": "September 1966",
      "identity_verification_due_on": null,
      "identity_verified_on": null,
      "is_corporate": false,
      "is_current": true,
      "name": "MURPHY, Ken",
      "nationality": "Irish",
      "occupation": null,
      "officer_id": "mNJapaOxmblQiJZN4Gr-3vxWMHk",
      "resigned_on": null,
      "role": "director",
      "role_label": "Director",
      "url": "https://find-and-update.company-information.service.gov.uk/officers/mNJapaOxmblQiJZN4Gr-3vxWMHk/appointments"
    },
    {
      "address": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
      "appointed_on": "2025-02-20",
      "birth_month": 1,
      "birth_year": 1964,
      "country_of_residence": "United Kingdom",
      "date_of_birth": "January 1964",
      "identity_verification_due_on": null,
      "identity_verified_on": null,
      "is_corporate": false,
      "is_current": true,
      "name": "KENNEDY, Christopher John",
      "nationality": "British",
      "occupation": null,
      "officer_id": "nl5gWmJeUwbVDowwCP_lBoP7jfI",
      "resigned_on": null,
      "role": "director",
      "role_label": "Director",
      "url": "https://find-and-update.company-information.service.gov.uk/officers/nl5gWmJeUwbVDowwCP_lBoP7jfI/appointments"
    }
  ],
  "resigned_count": 2,
  "total_results": 4
}
```

### List people with significant control

Find out who owns or controls a company: the people and companies with significant control over it (usually more than 25% of its shares or votes) and how they control it. When there is nobody to name, returns the company's statement saying why, or the exemption it has, as a listed company does.

**Inputs**

- Company number (`company_number`, text, required): The company's registration number, such as 00445790 for Tesco PLC or SC045551 for NatWest Group plc. Leading zeros can be left off, and a link to the company's page on Companies House works too. Search companies finds a number from a name.
- Include people who no longer have control (`include_ceased`, true/false): Also list people and statements that have ceased, such as a former owner who sold their shares. Default: `false`.

**Outputs**

- `ceased_count` (number): How many no longer have control
- `company_number` (text): The company's number
- `current_count` (number): How many have control now
- `exemption` (text): The exemption from naming them, in Companies House's words, when the company has one
- `people` (list): The people and companies with significant control
- `statements` (list): The company's statements about them, such as that it has none
- `url` (text): The company's people with significant control on Companies House

**Example output**

```json
{
  "ceased_count": 1,
  "company_number": "00561597",
  "current_count": 1,
  "exemption": null,
  "people": [
    {
      "address": "Lakeside Works, Rocester, Uttoxeter, England, ST14 5JP",
      "birth_month": null,
      "birth_year": null,
      "ceased_on": null,
      "control": [
        "Ownership of shares \u2013 75% or more",
        "Ownership of voting rights - 75% or more",
        "Right to appoint or remove directors"
      ],
      "country_of_residence": null,
      "country_registered": "United Kingdom",
      "date_of_birth": null,
      "is_current": true,
      "kind": "corporate-entity-person-with-significant-control",
      "kind_label": "Company",
      "legal_authority": "United Kingdom (England And Wales)",
      "legal_form": "Unlimited With Shares",
      "name": "Jcb Service",
      "nationality": null,
      "natures_of_control": [
        "ownership-of-shares-75-to-100-percent",
        "voting-rights-75-to-100-percent",
        "right-to-appoint-and-remove-directors"
      ],
      "notified_on": "2016-04-06",
      "place_registered": "United Kingdom (England And Wales)",
      "registration_number": "0564955"
    }
  ],
  "statements": [],
  "url": "https://find-and-update.company-information.service.gov.uk/company/00561597/persons-with-significant-control"
}
```

### Search companies

Find UK companies by name or number, best matches first, the way the search box on Companies House does. Former names match too. Returns each company's number, status, type, incorporation date and registered office; Get a company takes the number for the rest.

**Inputs**

- Company name or number (`query`, text, required): A company's name, part of it, or its number. Former names match too, and dissolved companies are included.
- Active companies only (`active_only`, true/false): Leave out companies that have been dissolved, closed or removed. Default: `false`.
- Results (`limit`, number): How many to return, from 1 to 100. Leave empty for 20. From 1 to 100.
- Page (`page`, number): Which page of results to return, each as long as Results, starting at 1. Leave empty for the first page. At least 1.

**Outputs**

- `companies` (list): The companies found, best matches first
- `has_more` (true/false): True when there is another page after this one
- `page` (number): Which page this is, starting at 1
- `total_results` (number): How many match in all, across every page

**Example output**

```json
{
  "companies": [
    {
      "ceased_on": null,
      "company_name": "TESCO PLC",
      "company_number": "00445790",
      "company_type": "plc",
      "company_type_label": "Public limited company",
      "incorporated_on": "1947-11-27",
      "registered_office_address": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
      "status": "active",
      "status_label": "Active",
      "url": "https://find-and-update.company-information.service.gov.uk/company/00445790"
    },
    {
      "ceased_on": "2025-11-12",
      "company_name": "TESCO AQUA (FINCO2) LIMITED",
      "company_number": "05888957",
      "company_type": "ltd",
      "company_type_label": "Private limited company",
      "incorporated_on": "2006-07-27",
      "registered_office_address": "1 More London Place, London, SE1 2AF",
      "status": "dissolved",
      "status_label": "Dissolved",
      "url": "https://find-and-update.company-information.service.gov.uk/company/05888957"
    },
    {
      "ceased_on": null,
      "company_name": "TESCO ATRATO DEPOT PROPCO LIMITED",
      "company_number": "06969533",
      "company_type": "ltd",
      "company_type_label": "Private limited company",
      "incorporated_on": "2009-07-22",
      "registered_office_address": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
      "status": "active",
      "status_label": "Active",
      "url": "https://find-and-update.company-information.service.gov.uk/company/06969533"
    }
  ],
  "has_more": true,
  "page": 1,
  "total_results": 1869
}
```

### Search disqualified directors

Search the register of people and companies disqualified from running a UK company, by court order, undertaking or sanction. Get a disqualified director takes the officer_id for the details.

**Inputs**

- Name (`query`, text, required): A person's or company's name, or part of it. First names can be shortened or left out.
- Results (`limit`, number): How many to return, from 1 to 100. Leave empty for 20. From 1 to 100.
- Page (`page`, number): Which page of results to return, each as long as Results, starting at 1. Leave empty for the first page. At least 1.

**Outputs**

- `has_more` (true/false): True when there is another page after this one
- `officers` (list): The disqualified directors found, best matches first
- `page` (number): Which page this is, starting at 1
- `total_results` (number): How many match in all, across every page

**Example output**

```json
{
  "has_more": false,
  "officers": [
    {
      "address": "4-Y Lesnoy Per, D. 4, Office 429, Moscow, Russia, 125047",
      "date_of_birth": null,
      "kind": "company",
      "name": "LLC SMITH",
      "officer_id": "354kFTeGMQLnUTrczYjZhoqtVPw",
      "url": "https://find-and-update.company-information.service.gov.uk/disqualified-officers/corporate/354kFTeGMQLnUTrczYjZhoqtVPw"
    },
    {
      "address": "1 Example Street, Cardiff, United Kingdom, CF10 1AA",
      "date_of_birth": "1970-01-01",
      "kind": "person",
      "name": "Jane Example SMITH",
      "officer_id": "ExampleDisqualifiedPerson00",
      "url": "https://find-and-update.company-information.service.gov.uk/disqualified-officers/natural/ExampleDisqualifiedPerson00"
    }
  ],
  "page": 1,
  "total_results": 2
}
```

### Search officers

Find directors, secretaries and other officers of any UK company by name, with their month and year of birth and how many appointments each has, to tell people with the same name apart. List an officer's appointments takes the officer_id.

**Inputs**

- Name (`query`, text, required): A person's or company's name, or part of it. First names can be shortened or left out.
- Results (`limit`, number): How many to return, from 1 to 100. Leave empty for 20. From 1 to 100.
- Page (`page`, number): Which page of results to return, each as long as Results, starting at 1. Leave empty for the first page. At least 1.

**Outputs**

- `has_more` (true/false): True when there is another page after this one
- `officers` (list): The officers found, best matches first
- `page` (number): Which page this is, starting at 1
- `total_results` (number): How many match in all, across every page

**Example output**

```json
{
  "has_more": false,
  "officers": [
    {
      "address": "Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
      "appointment_count": 3,
      "birth_month": 9,
      "birth_year": 1966,
      "date_of_birth": "September 1966",
      "name": "Ken MURPHY",
      "officer_id": "mNJapaOxmblQiJZN4Gr-3vxWMHk",
      "url": "https://find-and-update.company-information.service.gov.uk/officers/mNJapaOxmblQiJZN4Gr-3vxWMHk/appointments"
    },
    {
      "address": "1 Example Street, Cardiff, CF10 1AA",
      "appointment_count": 1,
      "birth_month": 2,
      "birth_year": 1980,
      "date_of_birth": "February 1980",
      "name": "Kenneth Example MURPHY",
      "officer_id": "ExampleOfficerId0000000000A",
      "url": "https://find-and-update.company-information.service.gov.uk/officers/ExampleOfficerId0000000000A/appointments"
    }
  ],
  "page": 1,
  "total_results": 2
}
```
