# UK Companies House Scraper (`parseforge/uk-companies-house-scraper`) Actor

Scrape UK company data from Companies House. Get company names, registered addresses, status, type, SIC codes, incorporation dates, officers with roles and appointment dates, and previous names. Search by keyword with detail enrichment.

- **URL**: https://apify.com/parseforge/uk-companies-house-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Lead generation, Business, Other
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![ParseForge Banner](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)

## 🏢 UK Companies House Scraper

Whether you're a due diligence analyst vetting business partners, an investor researching UK companies, or a compliance team verifying corporate registrations, this tool makes it easy to collect structured company data from the UK's official corporate registry.

> **The UK Companies House Scraper collects company details including registered address, status, type, incorporation date, SIC codes, previous names, and officer information. Search by company name or keyword.**

### ✨ What Does It Do

- 🏢 **Company details** - collect company name, number, registered address, and incorporation date
- 📋 **Status and type** - get current company status (Active, Dissolved, etc.) and company type (Ltd, PLC, LLP, etc.)
- 👥 **Officers** - optionally fetch directors, secretaries, and other officers with their roles and appointment dates
- 🏷️ **SIC codes** - extract Standard Industrial Classification codes to understand business activities
- 📜 **Previous names** - track name changes over a company's history
- 📅 **Filing dates** - get next accounts due date and confirmation statement due date

### 🔧 Input

- **Search Query** - company name or keyword to search for (e.g., "technology", "Barclays", "construction London")
- **Max Items** - how many companies to collect (free users get 10 items, paid users up to 1,000,000)
- **Include Officers** - fetch officer names and roles for each company (enabled by default, disable for faster runs)

```json
{
    "searchQuery": "technology",
    "maxItems": 50,
    "includeOfficers": true
}
````

### 📊 Output

Each company record includes up to 14 data fields. Download as JSON, CSV, or Excel.

| Field | Description |
|-------|-------------|
| companyNumber | Unique Companies House registration number |
| companyName | Official registered company name |
| registeredAddress | Registered office address |
| status | Current status (Active, Dissolved, etc.) |
| companyType | Type of company (Ltd, PLC, LLP, etc.) |
| incorporatedDate | Date of incorporation |
| dissolvedDate | Date of dissolution (if applicable) |
| accountsNextDue | Next accounts filing deadline |
| confirmationStatementNextDue | Confirmation statement due date |
| previousNames | List of former company names |
| sicCodes | Standard Industrial Classification codes |
| officers | Directors, secretaries, and their appointment dates |
| companyUrl | Link to the company page on Companies House |
| scrapedAt | Timestamp when the record was collected |

```json
{
    "companyNumber": "12345678",
    "companyName": "TECH SOLUTIONS LTD",
    "registeredAddress": "10 Downing Street, London, SW1A 2AA",
    "status": "Active",
    "companyType": "Private limited Company",
    "incorporatedDate": "15 March 2018",
    "dissolvedDate": "",
    "accountsNextDue": "31 December 2026",
    "confirmationStatementNextDue": "29 March 2027",
    "previousNames": [],
    "sicCodes": ["62020 - Information technology consultancy activities"],
    "officers": [
        {
            "name": "SMITH, John",
            "role": "Director",
            "appointedDate": "15 March 2018"
        }
    ],
    "companyUrl": "https://find-and-update.company-information.service.gov.uk/company/12345678",
    "scrapedAt": "2026-04-09T12:00:00.000Z"
}
```

### 💎 Why Choose the UK Companies House Scraper?

| Feature | Our Tool | Manual Companies House Search |
|---------|----------|------------------------------|
| Batch collection | Up to 1M companies | One at a time |
| Officer data | Names, roles, dates included | Click into each company |
| Structured output | JSON, CSV, Excel | HTML pages only |
| Automated scheduling | Daily/weekly monitoring | Manual visits |
| SIC codes and history | Included automatically | Multiple page clicks |

### 📋 How to Use

1. **Sign Up** - [Create a free account w/ $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp)
2. **Configure** - enter your search query, set how many companies you want, and choose whether to include officers
3. **Run It** - click "Start" and get structured company data in seconds

No coding, no setup, no manual browsing required.

### 🎯 Business Use Cases

- 🔍 **Due diligence** - verify company registrations, directors, and filing status before entering business relationships
- 💼 **Investor research** - screen UK companies by industry, status, and officer profiles for investment opportunities
- 📊 **Market research** - analyze company formation trends, industry distribution, and regional patterns
- 🏛️ **Compliance teams** - monitor company statuses and filing deadlines for regulatory requirements
- 📰 **Journalists** - investigate corporate structures, director networks, and company histories
- 🏗️ **Lead generation** - build targeted lists of active UK companies by industry or keyword

### ❓ FAQ

🏢 **What is Companies House?**
Companies House is the UK government's official register of companies. It holds records for over 5 million companies including their directors, registered addresses, and annual filings.

👥 **What officer data is included?**
Each officer entry includes their full name, role (Director, Secretary, etc.), and appointment date. Disable "Include Officers" for faster runs if you only need company-level data.

🏷️ **What are SIC codes?**
Standard Industrial Classification codes describe what business activities a company performs. They are useful for filtering companies by industry.

⏱️ **How long does a run take?**
About 5 companies per second with officers enabled, or faster without. A run of 50 companies typically completes in about 15 seconds.

🔍 **Can I search by company number?**
The search works by company name or keyword. If you have a specific company number, include the company name in your search query.

### 🔗 Integrate UK Companies House Scraper with any app

- [Make](https://docs.apify.com/platform/integrations/make) - Automate company monitoring workflows
- [Zapier](https://docs.apify.com/platform/integrations/zapier) - Get alerts for company status changes
- [Slack](https://docs.apify.com/platform/integrations/slack) - Get notified in your team channel
- [Google Drive](https://docs.apify.com/platform/integrations/drive) - Export company data to spreadsheets
- [Webhooks](https://docs.apify.com/platform/integrations/webhooks) - Trigger actions when runs complete

### 💡 Recommended Actors

Looking for more business and company data tools? Check out these related actors:

| Actor | Description | Link |
|-------|-------------|------|
| FINRA BrokerCheck Scraper | Look up broker and firm registration data | [Link](https://apify.com/parseforge/finra-brokercheck-scraper) |
| Pitchbook Investors Scraper | Collect investor profiles and fund data | [Link](https://apify.com/parseforge/pitchbook-investors-scraper) |
| DealStream Scraper | Find businesses for sale and investment opportunities | [Link](https://apify.com/parseforge/dealstream-scraper) |
| BizBuySell Scraper | Collect business-for-sale listings | [Link](https://apify.com/parseforge/bizbuysell-scraper-pay-per-event) |
| Flippa Scraper | Extract online business listings and valuations | [Link](https://apify.com/parseforge/flippa-scraper) |

**Pro Tip:** Browse our complete collection of [data collection actors](https://apify.com/parseforge) to find the perfect tool for your needs.

### 🆘 Need Help?

- Check the FAQ section above for common questions
- Visit the [Apify documentation](https://docs.apify.com) for platform guides
- Contact us at [Tally contact form](https://tally.so/r/BzdKgA)

### ⚠️ Disclaimer

> This Actor is an independent tool and is not affiliated with, endorsed by, or connected to UK Companies House or any government agency. It accesses only publicly available data.

# Actor input Schema

## `searchQuery` (type: `string`):

Company name or keyword to search for

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `includeOfficers` (type: `boolean`):

Fetch officer names and roles for each company (slower but more data)

## Actor input object example

```json
{
  "searchQuery": "technology",
  "maxItems": 10,
  "includeOfficers": true
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQuery": "technology",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/uk-companies-house-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQuery": "technology",
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/uk-companies-house-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQuery": "technology",
  "maxItems": 10
}' |
apify call parseforge/uk-companies-house-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/uk-companies-house-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "UK Companies House Scraper",
        "description": "Scrape UK company data from Companies House. Get company names, registered addresses, status, type, SIC codes, incorporation dates, officers with roles and appointment dates, and previous names. Search by keyword with detail enrichment.",
        "version": "0.0",
        "x-build-id": "AcyqUDvwGvqBDsk5W"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~uk-companies-house-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-uk-companies-house-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~uk-companies-house-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-uk-companies-house-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~uk-companies-house-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-uk-companies-house-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "searchQuery"
                ],
                "properties": {
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Company name or keyword to search for"
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    },
                    "includeOfficers": {
                        "title": "Include Officers",
                        "type": "boolean",
                        "description": "Fetch officer names and roles for each company (slower but more data)",
                        "default": true
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
