Skip to content

Companies House Scraper

Try for free

Scrape the UK Companies House register: company profiles, status, SIC codes, registered office, accounts and confirmation statement deadlines, previous names, officers, persons with significant control, filing history and charges. Search by name, company number or advanced filters. No API key or login needed.

🏛️ Companies House Scraper

Pull clean UK company records straight from the public Companies House register: status, type, incorporation date, registered office, SIC codes, accounts and confirmation statement deadlines, previous names, officers, persons with significant control (PSCs), filing history and charges. Search by name, company number or advanced filters (industry, location, status, type, dates). No API key, no login, and 10 full company records usually take a few seconds.

✨ Why use Companies House Scraper?

  • ⚡ Fast: plain HTTP, no browser. Reads several pages at once and keeps each connection under the register's rate limit.
  • 🔎 Every way in: keyword search, exact company numbers, advanced search (SIC code, registered office location, status, type, incorporation and dissolution dates) or any Companies House URL.
  • 📈 Beyond the 10,000 cap: when an advanced search matches more than 10,000 companies, the scraper splits it into incorporation-date windows and keeps going.
  • 👥 People and ownership: officers with role, appointment and resignation dates, nationality and country of residence, plus PSCs with their nature of control.
  • 🛡️ Privacy-minded: dates of birth and the addresses of private individuals are never saved.
  • 💸 Cheap: one flat price per company, officers and PSCs included.

🎯 Use cases

  • 🧲 B2B lead generation: list every active software company (SIC 62012) registered in Manchester since January.
  • 🆕 New company alerts: schedule a daily run with an incorporation-date filter to catch companies the day they register.
  • 🧾 KYC and due diligence: check status, owners (PSCs), officers, charges and insolvency flags for a list of company numbers.
  • ⏰ Compliance monitoring: track overdue accounts and confirmation statements across a portfolio of clients or suppliers.
  • 📊 Market research: count incorporations and dissolutions by industry, region or company type.
  • 🗂️ CRM enrichment: add registered office, SIC codes and current directors to the companies already in your CRM.

🚀 How to use

  1. Type company names or keywords, paste company numbers, or set advanced filters (SIC codes, location, status, type, dates).
  2. Optionally paste Companies House URLs (company pages, keyword searches or advanced search results).
  3. Set Max companies and pick the extra details you need (officers, PSCs, filing history, charges).
  4. Click Start and wait a few seconds.
  5. Download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
searchQueriesCompany names or keywords. Plain searches also match previous names.
companyNumbersExact numbers like 00445790, SC123456, OC301540.
startUrlsCompany pages, keyword searches or advanced search result URLs.
maxResultsTotal companies to save (0 = no limit).
maxResultsPerSearchOptional cap per query, SIC code or search URL.
sicCodes, location, companyNameIncludes, companyNameExcludes, companyStatus, companyTypes, incorporatedFrom/To, dissolvedFrom/ToAdvanced search filters. Several SIC codes are searched one by one and merged.
includeOfficers, onlyCurrentOfficers, includePSCs, includeFilingHistory, maxFilings, includeChargesExtra details per company.
{
  "sicCodes": ["62012"],
  "location": "Manchester",
  "incorporatedFrom": "2026-01-01",
  "companyStatus": ["active"],
  "maxResults": 100,
  "includeOfficers": true,
  "includePSCs": true
}

📤 Output

One row per company. Main fields:

FieldExample
companyNumber, companyName12345678, NORTHWIND ANALYTICS LTD
companyStatus, companyStatusDetail, companyTypeActive, null, Private limited Company
incorporatedOn, dissolvedOn2019-05-14, null
registeredOfficeAddress12 Example Street, Manchester, England, M1 1AA
sicCodes, sicCodesText[{"code": "62012", "description": "Business and domestic software development"}]
nextAccountsMadeUpTo, accountsDueBy, lastAccountsMadeUpTo, accountsOverdueAccounts dates and an overdue flag
nextConfirmationStatementDate, confirmationStatementDueBy, lastConfirmationStatementDate, confirmationStatementOverdueConfirmation statement dates and an overdue flag
previousNames[{"name": "...", "from": "...", "to": "..."}]
hasCharges, hasInsolvencyHistory, isActive, companyAgeYearsQuick flags
officers, officersOnRegister, activeOfficersCount, directorsCount, officerNamesOfficers (when enabled)
pscs, pscStatements, activePscCountPersons with significant control (when enabled)
filings, lastFilingDate, lastFilingTypeFiling history with PDF links (when enabled)
charges, chargesSummaryRegistered charges (when enabled)
url, source, searchQuery, scrapedAtWhere the row came from

Example (fictional company, same shape as real output):

{
  "companyNumber": "12345678",
  "companyName": "NORTHWIND ANALYTICS LTD",
  "companyStatus": "Active",
  "companyStatusDetail": null,
  "companyType": "Private limited Company",
  "incorporatedOn": "2019-05-14",
  "dissolvedOn": null,
  "registeredOfficeAddress": "12 Example Street, Manchester, England, M1 1AA",
  "sicCodes": [{ "code": "62012", "description": "Business and domestic software development" }],
  "sicCodesText": "62012 - Business and domestic software development",
  "nextAccountsMadeUpTo": "2026-05-31",
  "accountsDueBy": "2027-02-28",
  "lastAccountsMadeUpTo": "2025-05-31",
  "accountsOverdue": false,
  "nextConfirmationStatementDate": "2027-05-13",
  "confirmationStatementDueBy": "2027-05-27",
  "lastConfirmationStatementDate": "2026-05-13",
  "confirmationStatementOverdue": false,
  "previousNames": [{ "name": "NORTHWIND DATA LTD", "from": "2019-05-14", "to": "2021-03-02" }],
  "hasCharges": false,
  "hasInsolvencyHistory": false,
  "isActive": true,
  "companyAgeYears": 7.4,
  "officers": [
    {
      "name": "SAMPLE, Jane Alexandra",
      "officerId": "AbCdEfGhIjKlMnOpQrStUvWxYz0",
      "appointmentsUrl": "https://find-and-update.company-information.service.gov.uk/officers/AbCdEfGhIjKlMnOpQrStUvWxYz0/appointments",
      "role": "Director",
      "status": "Active",
      "appointedOn": "2019-05-14",
      "resignedOn": null,
      "nationality": "British",
      "occupation": null,
      "countryOfResidence": "England",
      "isCorporate": false
    }
  ],
  "officersOnRegister": 1,
  "activeOfficersCount": 1,
  "directorsCount": 1,
  "officerNames": "SAMPLE, Jane Alexandra",
  "pscs": [
    {
      "name": "Ms Jane Alexandra Sample",
      "status": "Active",
      "kind": "individual",
      "notifiedOn": "2019-05-14",
      "ceasedOn": null,
      "nationality": "British",
      "countryOfResidence": "England",
      "naturesOfControl": ["Ownership of shares – 75% or more", "Ownership of voting rights - 75% or more"],
      "naturesOfControlCodes": ["ownership-of-shares-75-to-100-percent", "voting-rights-75-to-100-percent"]
    }
  ],
  "pscStatements": [],
  "activePscCount": 1,
  "incompleteSections": [],
  "source": "advancedSearch",
  "searchQuery": "62012",
  "url": "https://find-and-update.company-information.service.gov.uk/company/12345678",
  "scrapedAt": "2026-10-15T09:00:00Z"
}

💰 Pricing

You pay $2.50 per 1,000 companies ($0.0025 per company), with officers, PSCs, filing history and charges included in that price. Platform usage (compute and proxy traffic) is billed separately and is small for this scraper: it reads plain HTML pages over datacenter proxies with no browser. In our test, 1,000 companies with officers and PSCs took under two minutes and about $0.13 of platform usage.

Example: 1,000 companies with officers and PSCs cost $2.50 in results plus about $0.13 of platform usage, roughly $2.63 in total.

❓ FAQ

Is it legal? The Companies House register is public information published by the UK government under the Open Government Licence. You are responsible for how you use personal data about officers and PSCs (for example under UK GDPR). To help, the scraper never saves dates of birth or the addresses of private individuals.

Do I need a Companies House API key, a login or a proxy? No. The scraper reads the public website. Datacenter proxies are on by default and spread requests across several addresses so no address hits the site's rate limit.

How many companies can I get? A keyword search returns up to 1,000 companies. An advanced search returns up to 10,000 per query, and the scraper automatically splits bigger searches by incorporation date to go past that. Several SIC codes are searched one by one.

Why is a field empty? Companies House only shows what was filed. Occupation is often not shown on the public site, new companies have no accounts yet, and dissolved companies have no upcoming deadlines. If a details page fails to load, its name appears in incompleteSections.

Can I schedule it or use the API? Yes. Schedule a daily run with incorporatedFrom set to catch new companies, and fetch results through the API or webhooks.

How do keyword searches and filters combine? With no advanced filters, each query runs as a normal register search (it also matches previous names). As soon as any advanced filter is set, each query is used as the "company name includes" filter together with your filters.

⚠️ Limits

  • Dates of birth and the addresses of private individuals (officers and PSCs) are deliberately not collected. Addresses of corporate officers and corporate PSCs are kept.
  • Each company must finish within 10 minutes with all its pages (officers, PSCs, filings, charges); a company that takes longer is skipped and named in the status message.
  • Officer appointment lists across other companies, insolvency case details and document contents (PDFs) are not scraped; the PDF link is provided.
  • Keyword search is capped by Companies House at 1,000 companies per query.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.