Companies House Scraper — UK Company Search API | $3.50/1k avatar

Companies House Scraper — UK Company Search API | $3.50/1k

Pricing

from $2.80 / 1,000 results

Go to Apify Store
Companies House Scraper — UK Company Search API | $3.50/1k

Companies House Scraper — UK Company Search API | $3.50/1k

Scrape the UK Companies House register by company name, company number or URL: status, type, incorporation date, registered office, SIC codes, previous names, accounts and confirmation deadlines, and recent filing history with PDF links. No officers or PSCs.

Pricing

from $2.80 / 1,000 results

Rating

0.0

(0)

Developer

Raffy

Raffy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

What does Companies House Scraper do?

Companies House Scraper turns the UK Companies House register into clean rows you can filter, join and export. Search by company name, or paste company numbers or Companies House URLs, and get one row per company: status, company type, incorporation and dissolution dates, registered office address and postcode, SIC codes, previous names, accounts and confirmation-statement deadlines, and the latest 25 filings with their PDF links.

It works as a Companies House API alternative: you need no API key, no account and no rate-limit bookkeeping. It reads the public register pages over plain HTTP, so runs are fast (20 companies with filing history in about 12 seconds) and cheap.

It collects company data only. Officers, directors and persons with significant control (PSCs) are never fetched, and their names are withheld from filing descriptions.

Use cases for this Companies House scraper

  • B2B lead lists and market maps. Find every active UK company in a niche by name or keyword, then filter by SIC code, postcode, company type or age.
  • KYB, onboarding and supplier checks. Confirm a company exists, is Active and is not overdue with its accounts before you sign or pay.
  • Credit and risk monitoring. Schedule a run over your customer list and watch for Liquidation, Dissolved, overdue accounts or new insolvency filings.
  • CRM enrichment. Add the registered office, SIC codes and incorporation date to company records you already have.
  • Deal sourcing and research. Pull the filing timeline (accounts, share changes, charges, resolutions) for the companies you track.
  • Automation. Push rows to Google Sheets, Airtable, Supabase or your CRM with n8n, Make or Zapier.

What data you get from every company

FieldTypeDescription
companyNamestringRegistered company name
companyNumberstring8-character company number, e.g. 00445790, SC117120
companyStatusstringActive, Dissolved, Liquidation, Closed, ...
companyTypestringe.g. Private limited Company, Public limited Company
incorporationDatestringIncorporation (or registration) date, YYYY-MM-DD
dissolvedDatestringDissolution date, for dissolved companies
registeredOfficeAddressstringRegistered office address as published
postcodestringUK postcode of the registered office
sicCodesarraySIC 2007 codes, e.g. ["47110"]
natureOfBusinessarraySIC codes with their descriptions
previousNamesarrayFormer names with from and to dates
nextAccountsMadeUpTostringNext accounts made-up-to date
accountsDueBystringNext accounts due date
lastAccountsMadeUpTostringLast accounts made-up-to date
accountsOverduebooleantrue when Companies House marks the accounts overdue
nextConfirmationStatementDatestringNext confirmation statement date
confirmationStatementDueBystringNext confirmation statement due date
lastConfirmationStatementDatestringLast confirmation statement date
confirmationStatementOverduebooleantrue when the confirmation statement is overdue
filingHistoryUrlstringThe company's filing history page
filingsarrayLatest filings (up to 25): date, type (form code such as AA, CS01, SH01), description, pdfUrl, pages
filingsOnPageintegerNumber of filings in filings
latestFilingDatestringDate of the most recent filing
filingHistoryErrorstringWhy the filing history could not be read (the company row is still delivered)
urlstringCompany page on Companies House
statusstringok, not_found or error (see below)
errorstringReason when status is not ok
scrapedAtstringISO 8601 time of extraction

All dates are YYYY-MM-DD. A missing field means Companies House does not publish it for that company (overseas establishments, for example, have no SIC codes or accounts dates). Nothing is guessed.

Result status (tri-state output)

statusMeaningBilled?
okThe company was found and extracted.Yes
not_foundCompanies House answered, but the company number does not exist or the search has no results.No
errorThe page could not be read after retries (network error or a layout change). error says why.No

How to scrape Companies House with this Actor

  1. Click Try for free to open the Actor in Apify Console.
  2. Type a company name into Company name search, or paste company numbers or Companies House URLs into Company numbers or Companies House URLs.
  3. Set Maximum companies. The default of 20 is one page of search results.
  4. Click Start. Records appear in the dataset in real time. Export them as JSON, CSV, Excel, XML or HTML.

Input

FieldTypeDefaultDescription
querystring-Company name or keyword, searched like the Companies House search box
startUrlsarray of stringsone example companyCompany numbers (00445790, SC117120; 445790 is padded), company URLs (any tab) or search URLs (/search/companies?q=...)
includeFilingHistorybooleantrueAdd the latest 25 filings to each row (one extra request per company, same price)
maxItemsinteger20Stop after this many company rows
proxyConfigurationobjectoffNot needed; Companies House answers direct requests

Search by name:

{
"query": "tesco",
"maxItems": 20
}

Look up a list of companies by number:

{
"startUrls": ["00445790", "SC117120", "https://find-and-update.company-information.service.gov.uk/company/13391258"],
"includeFilingHistory": true
}

Output

A real row from a test run on 2026-10-19 (filings trimmed to 2 of 25):

{
"url": "https://find-and-update.company-information.service.gov.uk/company/00445790",
"status": "ok",
"scrapedAt": "2026-10-19T07:23:32.025Z",
"companyNumber": "00445790",
"companyName": "TESCO PLC",
"companyStatus": "Active",
"companyType": "Public limited Company",
"incorporationDate": "1947-11-27",
"registeredOfficeAddress": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
"postcode": "AL7 1GA",
"sicCodes": ["47110"],
"natureOfBusiness": ["47110 - Retail sale in non-specialised stores with food, beverages or tobacco predominating"],
"previousNames": [
{ "name": "TESCO STORES (HOLDINGS) PUBLIC LIMITED COMPANY", "from": "1981-12-14", "to": "1983-08-25" },
{ "name": "TESCO STORES (HOLDINGS) LIMITED", "from": "1947-11-27", "to": "1981-12-14" }
],
"nextAccountsMadeUpTo": "2027-02-26",
"accountsDueBy": "2027-08-26",
"lastAccountsMadeUpTo": "2026-02-28",
"accountsOverdue": false,
"nextConfirmationStatementDate": "2027-06-18",
"confirmationStatementDueBy": "2027-07-02",
"lastConfirmationStatementDate": "2026-06-18",
"confirmationStatementOverdue": false,
"filingHistoryUrl": "https://find-and-update.company-information.service.gov.uk/company/00445790/filing-history",
"filings": [
{
"date": "2026-09-16",
"type": "SH03",
"description": "Purchase of own shares. Clarification hmrc confirmation received that appropriate duty has been paid on this repurchase",
"pdfUrl": "https://find-and-update.company-information.service.gov.uk/company/00445790/filing-history/MzU0MzY3ODg5MGFkaXF6a2N4/document?format=pdf&download=0",
"pages": 4
},
{
"date": "2026-08-26",
"type": "SH06",
"description": "Cancellation of shares. Statement of capital on 7 July 2026 GBP 397,007,409.26",
"pdfUrl": "https://find-and-update.company-information.service.gov.uk/company/00445790/filing-history/MzUzOTMzNzQ1OWFkaXF6a2N4/document?format=pdf&download=0",
"pages": 4
}
],
"filingsOnPage": 25,
"latestFilingDate": "2026-09-16"
}

Officer and PSC filings keep their form code and date, but the name is replaced: "Appointment of [name withheld] as a director on 20 February 2025". Their pdfUrl is left out, because those documents name the person.

How much does it cost to scrape Companies House?

Pay per result: $3.50 per 1,000 companies, plus a $0.005 start fee per run. The filing history is included at no extra charge. Rows with status not_found or error are free.

EventPriceCharged when
apify-actor-start$0.005Once per run, when it starts.
result$0.0035Each company row saved with status ok.
CompaniesCost
100$0.36
1,000$3.51
10,000$35.01

The Actor stops gracefully when your run's maximum charge is reached. Compute is included, and no proxy is needed.

Integrations, exports and API access

Run it from the Apify API, the JavaScript or Python client, the Apify CLI, or on a Schedule (for example weekly over your customer list). Connect the dataset to Google Sheets, Airtable, Make, n8n, Zapier, Slack or a webhook. AI agents can call it through the Apify MCP server.

Limitations

  • No officers, directors or PSCs. This Actor deliberately collects company data only. Officer and PSC page URLs are skipped as start URLs; each becomes a free error row.
  • Filing history is the latest 25 filings per company (the first page Companies House shows). Older filings are on the filingHistoryUrl page.
  • A name search returns what the Companies House search box returns, 20 companies per page, best match first. It also matches previous names, so a search for "tesco" can return a company that was once called Tesco Tyres.
  • UK establishments of overseas companies (BR... numbers) have no SIC codes, accounts dates or filings of their own on the register; their rows carry what is published.
  • Accounts figures (turnover, profit) are not extracted. They are inside the accounts documents; use pdfUrl to fetch them.
  • Results reflect the register at the time of the run.

FAQ

Do I need a Companies House API key? No. The Actor reads the public register pages. You need no key, no account and no quota management.

Is Companies House data free to reuse? Companies House data is public, and Companies House notes that commercial organisations use the registers to build their own products. Check the terms that apply to your use, especially for any personal data.

Why are there no directors in the output? That is by design: officers and persons with significant control are individuals. If you need them, use the Companies House public data API under its own terms.

Can I look up thousands of companies by number? Yes. Put the numbers in Company numbers or Companies House URLs, one per line, and set Maximum companies high enough. Short numbers are padded (445790 becomes 00445790), and Scottish (SC), Northern Irish (NI) and LLP (OC) prefixes work.

Why did I get fewer rows than maxItems? The search had fewer matches, or the run hit your Max total charge. Check the run log.

What happens if Companies House changes its pages? Rows come back with status: error and a reason instead of silently wrong data, and you are not billed for them. Report it in the Issues tab with the run ID.

Can I use this Actor from an AI agent or MCP client? Yes. It runs with no input at all, every row is self-describing (status plus error), and inputs are plain strings.

This Actor extracts only company information that Companies House publishes on its public register: company names, numbers, statuses, dates, registered office addresses, SIC codes and filing records. It does not collect officers, directors, persons with significant control or any other individual's details, it withholds personal names found in filing descriptions, and it does not log in or work around access controls. However, a registered office can be a home address and your results could still contain personal data. Personal data is protected by the UK GDPR, the EU GDPR and other regulations around the world. You should not process personal data unless you have a legitimate reason to do so. If you are unsure whether your reason is legitimate, consult your lawyers. You are responsible for complying with Companies House's terms and applicable law when using the extracted data.

This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by Companies House or the UK government. All trademarks belong to their respective owners.