Companies House makes a huge amount of UK company information available free of charge. For researchers, suppliers, analysts, recruiters and B2B teams, its Basic Company Data product can be an extremely useful starting point.
The difficulty usually begins after downloading it.
Instead of receiving a convenient Excel file containing only the companies in the industry you need, you receive a very large CSV dataset containing millions of company records. If your requirement is something specific — for example, UK roofing companies, electrical installers, property managers, accountants or domestic construction businesses — the challenge becomes:
How do you separate the Companies House data by SIC code without manually working through millions of rows?
This guide explains how the data is structured, what to watch for when filtering it, and the different ways you can turn Companies House bulk data into manageable industry-specific Excel databases.
What Is the Companies House Basic Company Data Product?
Companies House provides a free monthly snapshot containing information about live companies on the public register. The dataset includes information such as registered-office details, company status, incorporation information, accounts and confirmation-statement dates, previous company names and Standard Industrial Classification (SIC) information.
The snapshot is normally made available within five working days after the end of the previous month.
Companies House currently lets users download the company data either as:
- one large ZIP file; or
- several smaller ZIP files for easier downloading.
You can obtain the source data directly from the official Companies House service:
Download the Companies House Free Company Data Product
The data itself is free. The difficult part is often turning the raw files into the particular business dataset you actually need.
Why SIC Codes Are Useful
A SIC code describes the nature of a company’s business activity.
For example:
41202 – Construction of domestic buildings
43210 – Electrical installation
62020 – Information technology consultancy activities
68320 – Management of real estate on a fee or contract basis
If you are researching a particular market, filtering by SIC code can quickly reduce millions of company records to a much more relevant industry dataset.
SIC filtering can be useful for:
- market sizing;
- competitor research;
- supplier identification;
- B2B research;
- geographical analysis;
- industry segmentation;
- recruitment research; and
- creating an initial prospecting dataset before enrichment or qualification.
However, there is an important detail that can easily be missed.
Companies Can Have Up to Four SIC Codes
The Companies House bulk-data specification contains up to four SIC classifications per company.
They appear in fields corresponding to:
SICCode.SicText_1
SICCode.SicText_2
SICCode.SicText_3
SICCode.SicText_4
This matters because filtering only the first SIC field can exclude relevant businesses.
Imagine a construction company whose first SIC code describes development of building projects while its second classification is 41202 – Construction of domestic buildings.
If you search only the first SIC position, that company will be missed even though it has explicitly declared domestic construction as one of its activities.
For a more complete industry dataset, the target SIC should therefore be checked against all four available SIC positions.
Avoid Duplicating the Same Company
There is another consideration when checking multiple SIC fields.
A company should generally appear only once within a particular SIC database.
If SIC 41202 is found in one of its declared SIC positions, include the company. But don’t create multiple copies of the same company within the 41202 output simply because the source structure contains several SIC fields.
At the same time, it is perfectly valid for the same company to appear in different SIC databases if it genuinely operates across multiple activities.
This is why the number of company-to-SIC records across a collection of industry databases can be higher than the number of unique companies in the original dataset.
Decide Which Company Statuses You Need
Before building an industry database, decide what you mean by an “active company”.
For many commercial research projects, a sensible approach is to select records whose source status equals exactly:
Active
That keeps the standard dataset focused rather than deliberately including other company-status categories.
Your requirements may differ for historical, legal or academic research, so this should be an explicit filtering decision rather than an assumption.
Single File or Multipart Download?
If your internet connection and available storage allow it, the single Companies House ZIP can be convenient because you have only one source package to manage.
The multipart version can be easier to download, particularly when dealing with a very large snapshot.
Both approaches can work, but multipart processing needs several additional checks:
Make Sure Every Part Is Present
If the release contains seven parts, processing only six will obviously produce incomplete results.
A data-processing workflow should therefore verify the expected part count before starting.
Don’t Mix Different Months
Suppose your working folder contains:
BasicCompanyData-2026-07-01-part1_7.zip
and newer files from:
BasicCompanyData-2026-08-01-...
Combining those releases would contaminate the dataset.
Keep each monthly snapshot separate and verify the source date before processing.
Check That the Structures Match
The header structure across all parts should be compatible before they are treated as one logical dataset.
This is particularly important when automating the process.
Why Opening the Raw File Directly in Excel Is Not Always the Answer
A Companies House monthly snapshot contains millions of company records.
A single Excel worksheet can contain a maximum of 1,048,576 rows, so a complete multi-million-record company snapshot cannot simply be placed into one normal Excel worksheet.
That is one reason it makes sense to filter the source first and create smaller databases by SIC code.
Instead of trying to manipulate the entire UK register inside one workbook, you might create:
SIC_41202_Construction of domestic buildings.xlsx
SIC_43210_Electrical installation.xlsx
SIC_68320_Management of real estate.xlsx
and so on.
Those files are far easier to search, filter, analyse and enrich.
A Practical SIC Extraction Workflow
A robust workflow can be summarised as follows:
- Download the Companies House Basic Company Data snapshot.
- Identify the snapshot date.
- Confirm whether you have the single-file or complete multipart version.
- Read the CSV data without attempting to load the entire dataset into Excel first.
- Filter the company status according to your requirements.
- Check all four SIC positions for each company.
- Add the company to each relevant selected SIC dataset.
- Prevent duplicate companies within the same SIC output.
- Preserve the Companies House fields you require.
- Convert the filtered datasets into Excel or another convenient analysis format.
- Keep outputs from different Companies House snapshots separate.
This can be written in Python, R, another programming language or implemented within a suitable data-processing environment.
The real challenge is making the process reliable enough to repeat every month.
What Information Can Be Preserved?
Companies House’s published data-field specification includes far more than just company name and postcode.
Depending on the record, the data can include:
- Company Name
- Company Number
- Registered Office Address
- Company Category
- Company Status
- Country of Origin
- Incorporation Date
- Accounts information
- Return information
- Mortgage/charge information
- Up to four SIC classifications
- Limited-partnership information
- Companies House URI
- Previous company names
- Confirmation Statement dates
Whether you need every one of these fields depends on the research project.
For general business intelligence, preserving the original source columns gives you flexibility to decide later which information is useful.
Remember: Companies House Data Is Not an Enriched Lead Database
This distinction is important.
Companies House bulk data can provide an excellent foundation for identifying registered businesses within a particular industry, but it should not be confused with a researched contact database.
The Basic Company Data product does not provide a ready-made collection of researched:
- company websites;
- general business email addresses;
- telephone numbers;
- LinkedIn profiles; or
- named decision-makers.
Those require a separate data-enrichment stage.
A sensible B2B workflow might therefore be:
Companies House data → SIC filtering → company qualification → website/contact enrichment → prospecting
This also avoids wasting enrichment effort on companies that were never relevant to your target market in the first place.
An Easier Way to Compile Companies House Data by SIC
For users who don’t want to build and maintain their own extraction code, we developed the Companies House SIC Database Compiler – Windows EXE + Python/BAT.
The software is designed specifically to process compatible Companies House Basic Company Data downloads and generate SIC-specific Excel databases.
It supports:
- the single large Companies House ZIP;
- multipart Companies House ZIP downloads;
- searching by SIC code or industry name;
- checking all four SIC positions;
- compiling one, several or all detected SIC classifications;
- exact Active-company filtering;
- preservation of Companies House source fields;
- old-file and snapshot detection;
- multipart completeness checking;
- restart/resume support; and
- Microsoft Excel
.xlsxoutput.
Both a standalone Windows EXE and a Python/BAT edition are included.
The Companies House dataset itself is not included — users download the source data free from Companies House.
View the Companies House SIC Database Compiler
Final Thoughts
Companies House already provides an enormous amount of valuable UK company information free of charge.
The main obstacle is rarely access to the data.
It is turning millions of raw company records into a manageable dataset that answers a specific business question.
SIC codes provide a practical way to make that first cut.
Whether you write your own processing script or use a purpose-built compiler, the important points remain the same: check all available SIC positions, avoid mixing snapshots, verify multipart downloads, prevent unnecessary duplicates and retain enough source information for whatever analysis comes next.
Once the raw register has been organised into meaningful industry databases, it becomes considerably easier to use Companies House data for serious market research, business intelligence and B2B analysis.
Leave A Comment