Companies House Scraper — UK Company Data, No API Key avatar

Companies House Scraper — UK Company Data, No API Key

Pricing

from $12.00 / 1,000 result scrapeds

Go to Apify Store
Companies House Scraper — UK Company Data, No API Key

Companies House Scraper — UK Company Data, No API Key

Extract UK company data from Companies House without an API key. Search by name, look up company numbers, or bulk-filter by SIC code, status and incorporation date (5,000 rows per query). Optional enrichment adds officers, PSCs, filings and charges.

Pricing

from $12.00 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Companies House Scraper

Extract UK company data from Companies House, the official UK company register. No API key, no registration, no rate-limit paperwork. Search by company name, look up specific company numbers, or bulk-filter the whole register by SIC code, status, incorporation date and location.

Companies House holds records on 5.5+ million live UK companies (plus millions of dissolved ones): company profiles, officers, persons with significant control (PSC), filing history and registered charges. This actor reads all of it from the public register.

What you get

  • Company profiles: name, company number, status, type, incorporation date, dissolution date, registered office address, SIC codes
  • Officers (optional): name, role, appointment date, active/resigned status (first 20 per company)
  • Persons with significant control (optional): name, notification date, natures of control (ownership percentage bands, voting rights, right to appoint directors)
  • Filing history count and registered charges count (optional)
  • Latest accounts date (optional): the date the last filed accounts were made up to

Three ways to use it

1. Search by company name

Set searchQuery to any name keyword. Companies House caps name search at roughly 1,000 results per query, so narrow keywords work best.

{
"searchQuery": "plumbing ltd",
"maxResults": 100
}

2. Bulk extraction with filters

Set bulkFilters to pull companies by SIC code, status, incorporation date range or location. This uses the register's CSV export under the hood: one request returns up to 5,000 companies, and the actor automatically splits date windows when a filter matches more than that.

{
"bulkFilters": {
"sicCodes": ["62012"],
"companyStatus": "active",
"incorporatedFrom": "2026-01-01",
"incorporatedTo": "2026-06-30",
"location": "manchester"
},
"maxResults": 5000
}

This is the fastest mode by far. Bulk results include SIC codes and exact incorporation dates.

3. Direct company number lookup

Set companyNumbers to fetch specific companies straight from their profile pages. Company numbers are 8 characters and can have prefixes (SC for Scotland, NI for Northern Ireland, OC for LLPs). Keep leading zeros.

{
"companyNumbers": ["00445790", "SC123456", "NI071452"]
}

Detail enrichment

Add "fetchDetails": true to any mode and the actor visits each company's profile pages to add officers, PSCs, latest accounts date, filings count and charges count. This costs about 5 extra requests per company, so expect longer runs on large result sets. Long runs are migration-safe: the actor persists its progress and resumes where it left off instead of starting over.

How to scrape Companies House data

  1. Open the actor and set your input. For a quick start, just set searchQuery to a company name keyword.
  2. For lead lists by industry, use bulkFilters with the SIC codes of the sectors you care about and "companyStatus": "active".
  3. Enable fetchDetails if you need directors, PSCs or filing activity per company.
  4. Run the actor. Results land in the dataset and can be exported as JSON, CSV or Excel.
  5. Schedule the run (for example weekly, filtered on recent incorporation dates) to keep a fresh feed of new UK companies.

No Companies House account or API key is needed for any of this. The data is Crown copyright open government data and free to reuse.

Sample output

{
"companyNumber": "00445790",
"name": "TESCO PLC",
"status": "active",
"companyType": "Public limited Company",
"incorporationDate": "1947-11-27",
"dissolvedDate": null,
"registeredAddress": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
"sicCodes": ["47110 - Retail sale in non-specialised stores with food, beverages or tobacco predominating"],
"url": "https://find-and-update.company-information.service.gov.uk/company/00445790",
"officers": [
{
"name": "TAYLOR, Christopher Jon",
"role": "Secretary",
"appointedOn": "2023-01-16",
"officerStatus": "Active"
}
],
"personsWithSignificantControl": [],
"latestAccountsDate": "2025-02-26",
"filingsCount": 250,
"chargesCount": 9,
"scrapedAt": "2026-07-11T18:56:47.200Z"
}

Input reference

FieldTypeDefaultDescription
searchQuerystring"construction ltd"Company name keyword search
companyNumbersarrayDirect lookup by company number (overrides other modes)
bulkFiltersobjectSIC codes, status, incorporation date range, location
fetchDetailsbooleanfalseAdd officers, PSCs, accounts date, filings and charges counts
maxResultsinteger100Maximum companies to return
proxyConfigurationobjectApify proxyDatacenter proxy is plenty; the site has no anti-bot protection

Notes:

  • Name search does not expose SIC codes (the register's search index doesn't include them). Use bulkFilters, companyNumbers or fetchDetails when you need SIC codes.
  • Officer dates of birth are month/year only on the public register (UK privacy rules), so this actor does not output full birth dates.
  • status values follow the register: active, dissolved, liquidation, receivership, and so on.

Use cases

  • Lead generation: pull every active company in a SIC code and region, with registered addresses
  • KYC / due diligence: verify company status, officers and PSCs before doing business
  • Market research: track incorporation volumes by sector over time
  • Data enrichment: resolve company numbers from your CRM to full register records
  • Insolvency monitoring: filter on dissolved or liquidation status by sector

Pricing

You pay per result plus a small actor start fee. A run of 1,000 companies without details typically finishes in under a minute. With fetchDetails enabled, budget roughly 5 requests per company; the actor runs about 8 companies in parallel.

More official European company registers from the same developer:

Support

Found a bug or want a feature? Open an issue on the actor's Issues tab. Feedback directly improves this scraper.