How to Scrape the UK Companies House Bulk Register in 2026
Pull 5M+ UK companies from the official Companies House bulk snapshot — filter by SIC code, location, status and age. No API key, no rate limits. B2B lead-gen, KYC and market research ready.
The UK Companies House register is one of the best open business datasets in the world: every UK company — active and dissolved, over 5 million of them — with official names, numbers, addresses, industry codes, and filing history, all published by the government. Most people try to access it through the official REST API and immediately hit the wall: per-key rate limits that make pulling millions of records take days. The smarter route is the monthly bulk snapshot — a single compressed CSV containing the entire register — which sidesteps rate limits entirely. This guide covers the bulk approach, the filtering model (SIC codes are the key), the per-company schema, and how to turn 5 million rows into a targeted lead list.
Why bulk beats the API
Companies House offers two front doors:
- The REST API — great for looking up one company at a time, but rate-limited per API key (a few hundred requests per five minutes). Paging through 5M companies this way is a multi-day ordeal and needs a key.
- The monthly bulk snapshot — the full register as a single compressed CSV (~500 MB), refreshed monthly. One download, no key, no rate limit, no pagination.
For any job that touches a meaningful slice of the register — building a sector lead list, running KYC at scale, doing market analysis — bulk is the only sane choice. The catch is that 500 MB of compressed CSV doesn’t fit comfortably in memory and isn’t filterable as-is. The scraper streams and parses the compressed file memory-efficiently, applies your filters on the fly, and emits only the rows you asked for — so you get a targeted few thousand companies out of 5 million without ever loading the whole thing.
The filtering model
Filters combine with AND across filter types, OR within a multi-value filter — exactly the logic you want for targeting. Available filters:
- Industry via SIC code — by SIC code prefix(es) and/or by SIC description keyword. This is the single most important filter; SIC is how the UK classifies what a company does.
- Company name substring — match part of a registered name.
- Status — active, dissolved, liquidation, etc.
- Company category — private limited (ltd), PLC, LLP, etc.
- Location — postcode prefix, post town, county, country.
- Incorporation date range — from/to, for company-age targeting.
- Max results cap — with early stopping so the run halts as soon as you’ve collected enough, instead of scanning the whole file.
So “active private-limited marketing agencies (SIC 70210/73110) in London (postcode prefix EC/WC) incorporated since 2024” becomes a single filter set, and early stopping means it finishes fast once the cap is hit.
SIC codes are the lever
SIC (Standard Industrial Classification) codes are the heart of targeting Companies House. Every company self-reports up to four SIC codes describing its activities. Targeting by SIC prefix lets you carve the register by industry with surgical precision — 62 for IT/computer programming, 41–43 for construction, 86 for health, and so on. Combining SIC-prefix filtering with description-keyword filtering catches both companies that filed the obvious code and those that described themselves in words. This is what turns “5 million companies” into “the 3,800 fintech firms incorporated in the last 18 months in Greater London.”
▶ Run the UK Companies House Bulk Scraper — official monthly snapshot, 5M+ companies, filter by SIC code, location, status and age. No API key, no rate limits. Streams the 500 MB bulk CSV and returns only your targeted slice.
Schema design for downstream use
Each company comes back as a clean, export-ready record:
{
"company_name": "ACME FINTECH LTD",
"company_number": "14820391",
"status": "Active",
"category": "Private Limited Company",
"incorporation_date": "2024-03-11",
"dissolution_date": null,
"reg_address": {
"care_of": null,
"po_box": null,
"address_line_1": "27 Old Street",
"address_line_2": null,
"post_town": "London",
"county": "Greater London",
"country": "England",
"postcode": "EC1V 9HL"
},
"sic_codes": [
{"code": "64999", "description": "Financial intermediation not elsewhere classified"}
],
"accounts_next_due": "2026-12-31",
"confirmation_statement_next_due": "2026-04-10",
"mortgage_charge_count": 0,
"previous_names": [],
"companies_house_url": "https://find-and-update.company-information.service.gov.uk/company/14820391"
}
Choices worth making early:
company_numberis your universal key. It’s the stable, official identifier — use it to dedup, to join against other datasets, and to deep-link to the Companies House profile.- Keep the full
reg_addresscomponents separate. Postcode prefix and post town are how you’ll re-slice geography later without a re-run. - Keep
sic_codesas an array with descriptions. A company can have up to four; flattening to one loses targeting signal. - Store
incorporation_date. Newly incorporated companies are prime early leads — date filtering plus this field powers “fresh company” alerts.
Typical use cases
- B2B lead generation — build hyper-targeted lists by industry (SIC) and geography (postcode prefix, post town, county); newly incorporated companies are especially valuable early leads.
- KYC and compliance — check counterparties against the authoritative UK government register; verify status, address, and filing currency.
- Market and sector research — analyze company formation and dissolution trends by industry, age, and region.
- Competitive intelligence — map peers and adjacent companies within a SIC category.
- Data products and B2B SaaS — source a comprehensive UK company dataset to power your own product.
- Early lead discovery — surface companies incorporated in the last 30/60/90 days for first-mover outreach.
The value is authority plus targeting: this is the official register, not a scraped aggregate, and SIC-plus-geography filtering turns it into exactly the list you need.
Cost math
This actor is pay-per-event at $0.0015 per company returned plus the small per-run start fee — roughly $1 per 1,000 companies. Because of early stopping, you only pay for the rows that match and that you choose to keep: a tightly filtered run for 3,000 sector-specific leads costs about $4.50, not the price of the whole 5M register. There’s no API key to buy, no rate-limit-driven multi-day compute bill, and no proxy cost (the bulk file is a plain government download). Compared to paying for a commercial UK business-data provider — often hundreds to thousands of pounds for a sector list — sourcing directly from the official register at a tenth of a cent per company is dramatically cheaper, and it’s first-party data.
Common pitfalls
- The bulk snapshot is monthly, not real-time. A company incorporated yesterday may not appear until the next monthly file. For up-to-the-minute single-company lookups, the REST API is the complement; for scale, bulk wins.
- SIC codes are self-reported and sometimes generic. Many companies file
82990(“other business support”) or99999(“dormant”) — combine SIC-prefix filters with description keywords to avoid missing or over-including. - Dissolved companies are in the file too. Filter on
statusunless you specifically want the historical/dissolved set. - Registered address is not trading address. Many companies register at an accountant’s or formation-agent’s address — postcode-prefix targeting catches the legal address, which may not be where they operate.
- A company can have up to four SIC codes. OR-within-filter logic means a multi-SIC company matches if any of its codes hits your filter — intended, but know it when you count.
- No personal data dumps. The register is company-level; treat director personal data with care and per the rules — this actor is built around company records, which is the safe, sellable layer.
Wrapping up
The UK Companies House register is a gold-standard open dataset, but the API’s rate limits make scale painful and the raw bulk file is too big to filter by hand. The bulk-snapshot approach — stream the compressed CSV, filter by SIC and geography with early stopping, emit only your slice — is the right pattern, and a managed actor implements it without an API key or a proxy bill. Define your SIC-plus-location filter, set a cap, and get a targeted, authoritative company list for about a dollar per thousand.
▶ Open the UK Companies House Bulk Scraper on Apify — 5M+ official companies, SIC and geography filters, early stopping, no API key. About $1 per 1,000 companies. Start with Apify’s free monthly credit.
Related guides
Eventbrite API Alternative: Public Event Search After 2019
Eventbrite removed public event search from its API in late 2019. Here is the working Eventbrite API alternative for public event data in 2026.
How to Bulk-Verify Email Deliverability in 2026
A practical guide to validating email lists at scale — syntax, MX/DNS, disposable, role and typo checks — to cut bounce rate and protect sender reputation before outreach.
How to Find Shopify Merchant Leads and Contacts in 2026
A practical guide to extracting B2B leads from Shopify stores — emails, phone numbers, social profiles and store metadata — via direct JSON endpoints with no browser.