Company House Scraper avatar
Company House Scraper

Pricing

Pay per event

Go to Store
Company House Scraper

Company House Scraper

Developed by

Dhrumil Bhankhar

Dhrumil Bhankhar

Maintained by Community

Easily extract publicly available business data from UK Companies House, including company registration numbers, names, addresses, incorporation dates, statuses, SIC codes, officers, and official URLs. Perfect for due diligence, lead generation, and business research.

0.0 (0)

Pricing

Pay per event

0

Total users

2

Monthly users

2

Runs succeeded

>99%

Last modified

8 days ago

🏡 What is Company House Scraper?

This Company House Scraper enables you to extract comprehensive company information from the UK's official company registry at find-and-update.company-information.service.gov.uk.

You can simply take your search results URL from the Companies House website and enter it into this actor. This actor will crawl through all pages of the search results and generate a complete dataset for you.

Search result URLs are generated when you perform advanced searches on the Companies House site. This allow you to fine tune and get exactly companies you need. You can also add such multiple listing urls. Example search URLs:

🚪 What can this Company House Scraper do?

🏢 Extract comprehensive UK company data from Companies House registry

👀 This actor includes monitoring capability - turn on monitoring mode to get only newly registered companies or companies with status changes compared to your previous scrapes.

📩 Track company status changes and identify when companies are dissolved or change their status

⬇️ Download UK company data in Excel, CSV, JSON, and other formats

📚 How do I start scraping with this scraper?

  1. Register for your free Apify account here
  2. You don't need to provide your credit card details for free account. Just click on "Get Started" button on above link and complete the registration only.
  3. Free account comes with reasonable credits to try out this actor. This actor also comes with free trial of 3 days without any commitment/upfront charge.
  4. Run this actor and verify the scraped data. Apify has huge integration possibilities. You can download the data or push the data into any 3rd party platform directly.

📝 What UK Company data can I extract using this tool?

📝📝
Company NameCompany Number
Company StatusCompany Type
Registered AddressIncorporation Date
Nature of BusinessSIC Codes
Company OfficersFiling History
Director NamesDirector Addresses
Director DatesDirector Nationality
Accounts Due DatesConfirmation Statements
Dissolution DatesCompany Website

⬇️ Input

For simple use case, you just need to provide the browser URL of Companies House advanced search results page & that's all. You can leave other fields with their sensible defaults.

Input example

{
"listUrls": [
{
"url": "https://find-and-update.company-information.service.gov.uk/advanced-search/get-results?companyNameIncludes=&companyNameExcludes=&registeredOfficeAddress=&incorporationFromDay=15&incorporationFromMonth=01&incorporationFromYear=2025&incorporationToDay=&incorporationToMonth=&incorporationToYear=&sicCodes=&dissolvedFromDay=&dissolvedFromMonth=&dissolvedFromYear=&dissolvedToDay=&dissolvedToMonth=&dissolvedToYear="
}
],
"maxCompanies": 500,
"includeFilingHistory": true,
"includePeople": true,
"monitoringMode": false
}

Understanding the configuration options:

  • monitoringMode: When turned on, this will only scrape newly registered companies or companies with status changes compared to previously scraped companies by this actor.

  • includeFilingHistory: By default it will scrape the complete filing history for each company. If you don't need filing history details, you can turn off this setting to run the scraping faster and save resources.

  • includePeople: When enabled, extracts detailed information about company officers, directors, and people with significant control.

  • maxCompanies: Limits the number of companies to scrape. Set to a reasonable number based on your needs and available resources.

⬆️ Output

The scraped data is stored in the dataset of each run. The data can be viewed or downloaded in many popular formats, such as JSON, CSV, Excel, XML, RSS, and HTML.

Output example

The result for scraping a single company like this:

{
"url": "https://find-and-update.company-information.service.gov.uk/company/16205508",
"companyName": "EUROPA CONTENT STUDIOS LIMITED",
"companyNumber": "16205508",
"registeredOfficeAddress": "113-116 Bute Street, Cardiff, Wales, CF10 5EQ",
"companyStatus": "Active",
"companyType": "Private limited Company",
"incorporatedOn": "24 January 2025",
"accounts": "First accounts made up to 31 January 2026 due by 24 October 2026",
"confirmationStatement": "First statement date 23 January 2026 due by 6 February 2026",
"natureOfBusiness": [
"62020 - Information technology consultancy activities",
"73110 - Advertising agencies"
],
"officers": [
{
"name": "MORGAN-EDWARDS, Charlotte Louise",
"address": "113-116, Bute Street, Cardiff, Wales, CF10 5EQ",
"role": "Director",
"dateOfBirth": "April 1996",
"appointedOn": "24 January 2025",
"nationality": "Welsh",
"countryOfResidence": "Wales",
"occupation": "Company Director"
}
],
"filingHistory": [
{
"Date": "24 Jan 2025",
"Description": "Incorporation Statement of capital on 2025-01-24 GBP 1 MODEL ARTICLES ‐ Model articles adopted"
}
]
}

❓ Limitations

The Companies House website allows a maximum of 10,000 companies per listing URL. If you need to scrape more companies or want to cover the whole UK, you can use multiple listing URLs with different search criteria.

Pro Tip for Complete UK Coverage: To scrape all UK companies, create one listing URL per UK outcode (postal code area like "M1", "SW1", etc.). Feed all these URLs to the scraper at once, and this scraper will process the entire UK systematically.

For very large datasets with thousands of companies, consider breaking down your search criteria into smaller, more specific queries to manage processing time and resources effectively.

💸 Pricing Model & Usage Logic

This actor uses a tiered pay-per-event pricing model, with usage tracked and charged based on the number of companies processed and additional multipliers. Charges are triggered at specific usage thresholds and events.

🟢 Charge Events & Tiers

The actor uses a tiered pricing model based on the number of companies processed. Each tier has a specific charge event and rate per 1,000 companies:

🔻 Cost Efficiency as You Scale: The tier-based pricing model is designed to reduce your cost per company as your usage increases. The more companies you process, the lower your per-unit cost becomes, helping keep your overall costs under control as you scale up to higher volumes.

Starter Tier (starter-tier-1K)

For the first 25,000 companies processed, the cost per 1,000 companies is $2 USD. This tier is ideal for small to medium jobs and ensures a low entry cost for initial usage.

Growth Tier (growth-tier-1K)

For companies processed from 25,000 up to 50,000 the cost per 1,000 companies drops to $1 USD. This tier rewards higher volume usage with a reduced rate, making it cost-effective for scaling up.

Scale Tier (scale-tier-1K)

For companies processed from 50,000 up to 100,000 the cost per 1,000 companies is $0.80 USD. This tier is designed for large-scale operations, offering further discounts as your volume increases.

Enterprise Tier (enterprise-tier-1K)

For companies processed above 100,000 the cost per 1,000 companies is $0.60 USD. This tier is for enterprise-level usage, providing the lowest rate for very high-volume processing.

These pricing tiers are applied on a monthly basis, and your usage count resets at the start of each new month. This ensures you always start fresh and only pay for what you use each month.

Example:

  • Scraping 200,000 companies in a month:
    • $2 per 1K companies for the first 25,000 companies ($50)
    • $1 per 1K companies up to 50,000 companies ($25)
    • $0.8 per 1K companies up to 100,000 companies ($40)
    • $0.6 per 1K companies above 100,000 companies ($60)
    • Total: $175

⚡ Usage Multipliers

Additional usage multipliers are applied based on input and environment:

  • Memory Usage:
    • If memory >512 MB, usage multiplier increases (e.g., 1024 MB = 2x usage)
  • Proxy Usage:
    • If you use Apify Residential proxy, usage multiplier increases by 5x.
  • People Data:
    • If you enable includePeople, usage multiplier increases by 1x.
  • Filing History:
    • If you enable includeFilingHistory, usage multiplier increases by 1x (or 2x if includePeople is not enabled).
  • Monitoring Mode:
    • When monitoringMode is enabled, an additional 1 usage is counted for each existing company being monitored (i.e., for every company checked for status change in your dataset).

How Multipliers Affect Quota

  • Multipliers do not bill you directly, but increase companies processing usage by given multiplier.
  • Example:
    • Default: 1,000 companies
    • With additional 1x multiplier: 500 items
    • With additional 1.5x multiplier: ~400 items

💡 Tip: For best cost efficiency, run this actor on 512 MB memory. Higher memory increases your usage multiplier and quota consumption rate.

🔎 Monitoring Company Status Changes

This actor provides monitoring mode configuration which allows you to get only incremental updates about newly registered companies or companies with status changes compared to your previous scrapes.

How Monitoring Mode Works:

  1. First Run: In monitoring mode, the actor will scrape all companies and store their company numbers and status in the key-value store.

  2. Subsequent Runs: The actor will only scrape companies that:

    • Are newly registered (not seen before)
    • Have changed status (e.g., from Active to Dissolved)
  3. Key-Value Store Tracking: The actor uses Apify's Key-value store to track company status. Each company number is stored as a key with the following structure:

    {
    "lastSeen": "2025-01-24T10:30:25.763Z",
    "companyStatus": "Active"
    }

Benefits of Monitoring Mode:

  • Efficient Processing: Only processes companies with changes, saving time and resources
  • Change Detection: Automatically identifies status changes (Active → Dissolved, etc.)
  • New Company Alerts: Captures newly incorporated companies
  • Cost Effective: Reduces API calls and processing time for large datasets

🙋‍♀️ For custom solutions

In case you need some custom solution, you can contact me : dhrumil@techvasu.com

Or learn more about me on github : https://github.com/dhrumil4u360