Companies House Scraper & API: UK Company Search by SIC Code avatar

Companies House Scraper & API: UK Company Search by SIC Code

Pricing

from $2.00 / 1,000 company results

Go to Apify Store
Companies House Scraper & API: UK Company Search by SIC Code

Companies House Scraper & API: UK Company Search by SIC Code

Build UK company lists from the official Companies House register (~5.7M companies, monthly bulk data): filter by name, SIC code, postcode, town, status and incorporation date. New-company leads and CRM enrichment. No API key, no rate limits.

Pricing

from $2.00 / 1,000 company results

Rating

0.0

(0)

Developer

Stanislav

Stanislav

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Security

Limited permissions

Share

Companies House Scraper & API: UK Company Lists by SIC Code

Search all ~5.7 million companies on the UK register using the official Companies House bulk data (Basic Company Data, refreshed monthly, Open Government Licence v3.0). Filter by name, SIC code, postcode, town, status, company type and incorporation date, and get one clean row per company with its number, registered address, SIC codes and key dates.

  • Who it's for: B2B lead generation (e.g. new IT companies in London this month), CRM enrichment, market sizing and KYB checks.
  • Source: the official free Companies House bulk file. No API key, no 600-requests-per-5-minutes limit, no scraping.
  • Freshness: monthly snapshot from Companies House; directors and filings are not included.
  • Output: JSON, CSV or Excel; pay per company returned (see the Pricing tab).

Quick start (one click)

Open the Actor and press Start: the form is prefilled with this input.

{
"nameContains": [],
"sicCodes": [
"62012"
],
"postcodePrefixes": [
"EC1"
],
"statuses": [
"Active"
],
"incorporatedFrom": "2026-09-01",
"maxItems": 20
}

Sample output (one row, more fields in the dataset):

companyNamecompanyNumberstatuscategorycountryOfOrigin
1UPTREE LTD17450976ActivePrivate Limited CompanyUnited Kingdom

Use cases

New-company leads by sector and area. Software companies incorporated this month in a London postcode area.

{"sicCodes": ["62012"], "postcodePrefixes": ["EC1"], "statuses": ["Active"], "incorporatedFrom": "2026-09-01", "maxItems": 500}

CRM enrichment by company number. Status, address, SIC codes and accounts dates for companies you already have.

{"companyNumbers": ["00445790", "SC005336"]}

Compliance watch: overdue accounts. Active companies in a town with overdue accounts.

{"postTowns": ["LEEDS"], "statuses": ["Active"], "accountsOverdue": true, "maxItems": 200}

Market sizing. Count active companies with a SIC code across the UK.

{"sicCodes": ["56101"], "statuses": ["Active"], "maxItems": 10000}

Features and details of this Companies House API

Search all ~5.7 million companies on the UK register using the official free Companies House bulk data (Basic Company Data, refreshed monthly, Open Government Licence v3.0). No API key, no 600-requests-per-5-minutes limit, no scraping.

Filters

  • nameContains: substrings matched against the company name
  • companyNumbers: exact lookups
  • sicCodes: industry prefixes (62 = IT, 56101 = restaurants)
  • postcodePrefixes, postTowns
  • statuses (Active, Liquidation, …), categories (Private Limited Company, LLP, …)
  • incorporatedFrom / incorporatedTo: new-company leads
  • accountsOverdue: companies whose accounts are past due
  • maxItems, parts (1–7, for sharding)

Notes

The data is a monthly snapshot (the date is in the file name). Directors and PSC data are not in this product. Source: https://download.companieshouse.gov.uk/en_output.html. Contains public sector information licensed under the Open Government Licence v3.0.

How to use the Companies House API

  1. Open the Actor, fill in the input form (or paste the JSON below).
  2. Click Start. Results land in the dataset as JSON, CSV, Excel or via the Apify API.
  3. For alerts or regular refreshes, add an Apify Schedule. You can cap spend with "Max charge per run".

Input example

Real input of cloud run nyra460oJ3DBknQyD (2026-10-22/23):

{
"sicCodes": [
"62012"
],
"postcodePrefixes": [
"EC1"
],
"statuses": [
"Active"
],
"incorporatedFrom": "2026-08-01",
"maxItems": 10
}

Output example

Real rows from that run (10 results, 6.8 s) (long titles shortened in the table):

numbernameincorporatedpostcodeSIC
174509761UPTREE LTD2026-09-10EC1V 2NX62012, 62020
1745586731TWELVE LTD2026-09-14EC1V 2NX62012, 62090
174901433RD UNICORN LTD2026-09-30EC1V 2NX62012, 70229, 73110
174374293XAYA LTD2026-09-04EC1V 2NX58290, 62012, 62020
174809464042 SOLUTIONS GROUP UK LTD2026-09-25EC1V 2NX62012
1744847047 STUDIO INTERNATIONAL LIMITED2026-09-09EC1V 2NX59112, 62012, 63120, 74100

One full record:

{
"companyName": "1UPTREE LTD",
"companyNumber": "17450976",
"status": "Active",
"category": "Private Limited Company",
"countryOfOrigin": "United Kingdom",
"incorporationDate": "2026-09-10",
"dissolutionDate": null,
"registeredAddress": {
"line1": "128 CITY ROAD",
"postTown": "LONDON",
"country": "UNITED KINGDOM",
"postCode": "EC1V 2NX"
},
"sicCodes": [
"62012",
"62020"
],
"sicDescriptions": [
"62012 - Business and domestic software development",
"62020 - Information technology consultancy activities"
],
"accounts": {
"category": "NO ACCOUNTS FILED",
"nextDue": "2028-06-10",
"lastMadeUp": null
},
"confirmationStatement": {
"nextDue": "2027-10-08",
"lastMadeUp": null
},
"mortgages": {
"charges": 0,
"outstanding": 0
},
"previousNames": [],
"url": "https://find-and-update.company-information.service.gov.uk/company/17450976"
}

Many new companies share a formation-agent address (here 128 City Road, EC1V 2NX), so a postcode filter is not proof of a real office there.

FAQ

How fresh is the Companies House data?

It is the official monthly Basic Company Data snapshot, so a company registered yesterday may not appear until the next release.

Does it include directors or PSCs?

No. Officers and persons with significant control are not in this product, so the output has no personal data beyond what appears in a registered company name.

Do I need a Companies House API key?

No. The Actor downloads the free bulk files, so the 600-requests-per-5-minutes API limit does not apply.

How much does it cost?

$2 per 1,000 companies plus $0.01 per run.

Are there limits I should know about?

Yes. Results are only as complete and current as the official source. If a source is down, the run logs the error instead of returning made-up data. Report problems in the Issues tab.

Use it from code, AI agents and automations

The same input as the form above works everywhere. Results are the run's dataset (JSON, CSV, Excel). You need an Apify API token (Console → Settings → API & Integrations).

Python (pip install apify-client)

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("stazis/companies-house-api").call(run_input={
"sicCodes": [
"62012"
],
"postcodePrefixes": [
"EC1"
],
"statuses": [
"Active"
],
"incorporatedFrom": "2026-09-01",
"maxItems": 20
})
for item in client.dataset(run.default_dataset_id).iterate_items(): # apify-client < 3: run["defaultDatasetId"]
print(item)

JavaScript / TypeScript (npm i apify-client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('stazis/companies-house-api').call({
"sicCodes": [
"62012"
],
"postcodePrefixes": [
"EC1"
],
"statuses": [
"Active"
],
"incorporatedFrom": "2026-09-01",
"maxItems": 20
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

HTTP, one call (waits for the run, up to 5 minutes, and returns the items)

curl -X POST "https://api.apify.com/v2/acts/stazis~companies-house-api/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"sicCodes": ["62012"], "postcodePrefixes": ["EC1"], "statuses": ["Active"], "incorporatedFrom": "2026-09-01", "maxItems": 20}'

AI agents (MCP). This Actor runs with limited permissions, so AI agents can use it through the hosted Apify MCP server (Claude, Cursor, VS Code, Codex and other MCP clients). Add this to your MCP client config and sign in with Apify on first use:

{ "mcpServers": { "companies-house-api": { "url": "https://mcp.apify.com?tools=stazis/companies-house-api" } } }

Agents without an Apify account can pay per run in USDC through agi.apify.com (x402). Pricing is pay-per-event, so an agent pays only for the results it gets.

LangChain (pip install langchain-apify, set APIFY_TOKEN): from langchain_apify import ApifyActorsTool and tool = ApifyActorsTool("stazis/companies-house-api") gives your agent this Actor as a tool.

No-code and scheduling: use the Apify app in Make, n8n or Zapier ("Run an Actor", then pick stazis/companies-house-api), or create a Schedule in Apify Console to run it daily and send results to a webhook, Slack or Google Drive through Apify integrations.

Other data APIs by stazis