New UK Companies Scraper - Companies House Incorporations
Pricing
from $3.55 / 1,000 companies
New UK Companies Scraper - Companies House Incorporations
The companies registered at Companies House on the days you pick: name, number, status, type, incorporation date, SIC codes with descriptions, and the registered office address with its postcode. Filter by SIC code, town, name, type or status. $3.70 per 1,000 companies.
Pricing
from $3.55 / 1,000 companies
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Pick the days you want and get the companies registered at Companies House on them: name, number, status, type and subtype, incorporation date, the SIC codes with their descriptions, and the full registered office address with the postcode split out.
Read this before you schedule it: today's list is never finished. Companies keep being registered all day, so a range that ends today gives you a partial day. End at yesterday if you want complete ones.
| Input | A date range or a number of recent days, plus optional filters: SIC code, place, name words, type, subtype, status, dissolved dates |
| Output | One row per company: name, number, status, type, incorporation date, SIC codes with descriptions, registered office address, postcode, link |
| Ceiling | 50,000 companies per run, and 10,000 on any one day, which is where the register stops paging |
| Speed | About 20 companies a second. A full week of incorporations, 15,845 companies, took 13 minutes |
| Account needed | None, and no Companies House API key |
| Price | $3.70 per 1,000 companies, flat on every plan. The free plan's $5 a month covers about 1,350 |
🔍 What New UK Companies Scraper does
It reads Companies House's public register search one day at a time.
Two ways to say which days. Set incorporatedFrom and incorporatedTo for an exact range, or leave
the first empty and use lastDays for the last N full days ending yesterday. lastDays: 1 is
yesterday only, which is what a daily schedule wants.
Then narrow it. SIC code is the useful one: 62012 for software development, 43210 for
electrical installation. You can also filter on words in the company name, on the registered office
address, on company type, subtype and status, and on a dissolution date.
📋 What data you get from each UK company
| What you get | Field |
|---|---|
| Company name and number | companyName, companyNumber |
| Status, as Companies House words it | status |
| Company type and subtype | companyType, companySubtype |
| Incorporation date, and the dissolution date when there is one | incorporationDate, dissolutionDate |
| SIC codes, each with its description | sicCodes, sicDescriptions |
| Registered office address, with the postcode split out | registeredOfficeAddress, postcode |
| The company's page on Companies House | url |
▶️ How to scrape new UK companies from Companies House
- Open New UK Companies Scraper and click Try for free.
- Set Last days to 1 for yesterday, or pick a range with Incorporated from and Incorporated to.
- Add SIC codes, Registered office address contains or a name filter to narrow it.
- Set Maximum companies, keeping it low on the first run.
- Click Start, then download the dataset as JSON, CSV or Excel, or read it from the Apify API.
Want to see the row shape first? Clear Last days and both dates, then start it. You get one labelled sample row, and it is not charged.
💰 How much does it cost to scrape new UK companies?
$3.70 per 1,000 companies. Flat on every Apify plan, no volume tiers. On the free plan, the $5 Apify gives you each month covers about 1,350 companies.
One charge per company row. A company that matches two of your SIC codes is returned and charged once. Anything your filters drop, anything outside your dates, a repeat seen while a live day shifted under the run, a page that could not be read, and the sample row are all uncharged.
📥 What you give it
{"lastDays": 1,"sicCodes": ["62012", "62020"],"location": "Manchester","maxCompanies": 500}
| Field | Default | What it is |
|---|---|---|
incorporatedFrom | none | First day, YYYY-MM-DD. Leave empty to use lastDays. |
incorporatedTo | none, which means up to today | Last day. |
lastDays | none, the form starts at 3 | 1 to 366 full days ending yesterday. Used only when incorporatedFrom is empty. |
sicCodes | none | Up to 20 five-digit codes. A company listed under two of yours comes back once. |
companyNameIncludes | none | Whole words, all of which must be in the name, in any order. consult will not find CONSULTING. |
companyNameExcludes | none | Drops names holding any of these words. Whole words again: tech drops DELTA TECH LTD and keeps DELTA TECHNOLOGIES LTD. |
location | none | A town or county. It is matched against the whole registered office address. |
companyTypes | all | 27 of them. Nearly every new company is a private limited company. |
companySubtypes | any | Community interest company, or private fund limited partnership. |
companyStatus | any | Active, dissolved, liquidation and eight more. |
dissolvedFrom, dissolvedTo | none | Narrows your incorporation days to companies dissolved in this window. |
maxCompanies | 1000, the form starts at 20 | 1 to 50,000, across every day in the run. |
location matches the whole address, county included, which is Companies House's own behaviour,
not ours. Ask for Manchester and Salford companies turn up too. That is usually what people want,
but it is worth knowing before you treat the column as a town filter.
Each SIC code is a separate search, on each day. Three codes over seven days is 21 searches. It is not a reason to avoid them, just the reason the run takes longer.
📤 What you get back
A real row from a run in September 2026:
{"companyName": "ROUTE TO TRANSMISSION CIC","companyNumber": "17429167","status": "Active","companyType": "Private limited by guarantee without share capital","companySubtype": "Community Interest Company (CIC)","incorporationDate": "2026-09-01","dissolutionDate": null,"sicCodes": ["85590", "85600", "88990", "94990"],"sicDescriptions": ["Other education n.e.c.","Educational support services","Other social work activities without accommodation n.e.c.","Activities of other membership organisations n.e.c."],"registeredOfficeAddress": "2 Shaftesbury Waye, Hayes, England UB4 0HL","postcode": "UB4 0HL","url": "https://find-and-update.company-information.service.gov.uk/company/17429167"}
| Field | How to read it |
|---|---|
companyNumber | The register's own number. Your key for everything else. |
status | Companies House's word: Active, Dissolved, or Registered for an overseas entity. |
sicCodes, sicDescriptions | Same order, so index 0 of one matches index 0 of the other. |
registeredOfficeAddress | One string, with the commas as the register writes them. |
postcode | Split off the end when there is a UK one. null for a foreign address. |
incorporationDate | For an overseas entity, the date it was registered in the UK. |
companySubtype | null on the great majority of companies. |
🧾 Reading the output
The dataset holds companies and nothing else. No refusal rows and no blank lines. A run with no
dates at all returns one labelled sample row, with _sample: true, which is not charged.
Everything about the run is in a key-value record called RUN_REPORT:
| In the report | What it tells you |
|---|---|
| Companies returned, charged, and why the run stopped | Whether you hit your limit, ran out of days or ran out of time. |
| The dates and every filter in force | Written out, so you can see what the run actually asked for. |
| Companies listed, and what was skipped | Counted by reason: outside the dates, wrong SIC, wrong place, wrong name, a repeat. |
| One entry per search | The day, the SIC code, how many were listed, how many came back, pages read, pages missed, and how many were out of reach. |
| Restored after dissolution | Companies that were dissolved in your window and have since been restored. |
The status message on the run says the same thing in one sentence, starting with the result.
Bad input stops the run before a single request: a SIC code that is not five digits, an unknown type or status, or a range longer than 366 days. If Companies House itself turns a search down, the run stops and the status quotes its words.
💡 What people use it for
- A daily feed of new companies in one trade, using
lastDays: 1and a SIC code on a schedule. - Listing new companies in one area, using
locationand the postcode column. - Counting formations by SIC code or by month, as a market signal.
- Finding community interest companies as they register, for grant and charity work.
🚧 What it does not do
- No officers, no persons with significant control, no accounts, no filing history. This is the incorporation record, not the whole company file.
- No contact details. The registered office address is an address for post, and it is very often an accountant's or a formation agent's.
- Today is always incomplete, and reading a live day can mean a company appears twice or slips past as the pages shift under the run. Repeats are dropped and never charged.
- One SIC code per search, so 20 codes is the cap and each one costs another pass per day.
- A day with more than 10,000 incorporations cannot be read in full, because the register stops paging there. The report says how many were out of reach. The busiest day seen had 3,466.
- Dissolved dates only narrow your incorporation days. There is no dissolved-only search, and the register lists dissolutions from 2010 onwards.
- A company dissolved in your window and restored since comes back with its current status and no dissolution date, because the results page does not carry the old one.
- Name filters are whole words, as the register applies them.
- The address is one string. Only the postcode is split out.
- It takes a while. About a page of 20 companies a second, so a 50,000-company run takes around 40 minutes.
- It is not an official Companies House tool. Dami's Studio is independent and is not affiliated with or endorsed by Companies House, or by any other company named on this page.
🧭 Which company data scraper do you need?
| If you want | Use |
|---|---|
| New UK companies, day by day, from Companies House | This one |
| Register records with officers for companies across Europe, the UK included | North Data Scraper |
| Company pages on LinkedIn: description, followers, headcount, website | LinkedIn Companies Scraper |
| The Y Combinator startup directory | Y Combinator Companies Scraper |
❓ Questions people ask
Do I need a Companies House API key?
No. This reads the public register, so there is nothing to apply for.
How do I get yesterday's new companies every morning?
Set lastDays to 1 and schedule it. That gives you yesterday, complete, with no date arithmetic to
maintain.
Where do I find a SIC code?
They are the UK's five-digit trade codes, the same ones a company picks when it registers. 62012
is software development.
Why did I get Salford companies in a Manchester search?
Because the register matches your words against the whole address, county included. Filter the rows
on postcode if you need it tighter.
Why are the rows not in company-number order?
They come back in Companies House's order within each day, which is not numeric. With a row limit, "the first N" means its first N.
Can I call it from code or connect it to an AI assistant?
Yes. The API tab
has ready-made code for Python, JavaScript and the command line. For Claude, ChatGPT or another MCP
client, connect https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/companies-house-new-companies-scraper.
Either way the run happens on your Apify account at the same price.
Is it legal to scrape Companies House?
The register is published by the UK government for anyone to search. Rows carry a company's registered address, which can be a person's home, so data-protection law still applies to what you do next. Apify's write-up on the legality of web scraping is a fair start, and we are not lawyers.
🆘 If something breaks
Open the Issues tab on the actor page. Send the run ID and the dates and filters you used, and
paste the RUN_REPORT record: it carries a line for every day and SIC code the run searched.