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

Companies House Data — UK Company Search, No API Key

Pricing

from $2.00 / 1,000 company delivereds

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

Companies House Data — UK Company Search, No API Key

Companies House company data for all 5.7M UK companies, no API key: filter the monthly snapshot by SIC code, postcode, town, status, incorporation date, overdue accounts or company numbers. Leads, KYB, credit watch. OGL, no officers. Unofficial: not affiliated with or endorsed by Companies House.

Pricing

from $2.00 / 1,000 company delivereds

Rating

5.0

(2)

Developer

Rein X

Rein X

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Share

_What's new (2026-09-25):_ bug fixes: list check stops early, safer change detection, per-Task state keys, versioned hashes; new filters (SEC amendments, UK accounts type / year end / charges / SIC columns, France creation date + label tables)

Companies House company data for every live UK company, filterable like a spreadsheet — from Companies House's own free monthly file, with no API key and no account.

  • 📄 What you get — one row per live UK company, filtered by SIC code, postcode area, town, status (including proposal to strike off and liquidation), incorporation dates, overdue accounts, or your own list of company numbers: number, name, status, type, incorporation date, up to four SIC codes, registered office, deadlines, charges, previous name and the official page link.
  • 🏛️ Source — the free monthly snapshot Companies House publishes for everyone (the Free Company Data Product); the Open Government Licence attribution on every row.
  • 💵 Price — $2 per 1,000 companies plus $0.05 per run for reading the monthly file; the first 3 rows are free (Preview).
  • 🔑 No API key, no rate limit — there is nothing to register and nothing to throttle; the Actor never touches the keyed API.
  • 🔒 No personal data — company-level only: no officers, no persons with significant control.
  • ⏱️ Time to first result — Preview: 3 companies, free of charge; a search that fills Max companies early returns in about a minute, one that must read the whole register takes about 5–7 minutes. A list of company numbers stops reading as soon as every number has been found (the file is sorted by company name).
Company no.NamePost townDistrictIncorporatedAccounts dueSIC
16975462ABRAXOS SOLUTIONS LTDST ALBANSAL12026-01-202027-10-2062020, 63110, 70229
17195313ACO TECH SERVICES LTDWELWYNAL62026-05-012028-02-0162020
17313746AGAULBS LTDHATFIELDAL102026-07-012028-04-0162020, 62090
17157255AI & CO. CONSULTING LTDST ALBANSAL12026-04-142028-01-1462020, 70229, 82990
17316969AIBRICKS LTDST. ALBANSAL42026-07-032028-04-0362020

Real rows from a test run on 25 Sep 2026 (September 2026 snapshot) with {"sicCode": "62020", "postcodePrefix": "AL", "incorporatedFrom": "2026-01-01", "maxItems": 8} — 5 of the 8 shown, postcode cut to the district here. Every row also carries the status, company type, full registered office, SIC descriptions, confirmation-statement deadline, charges, previous name and the official page link.

Price: $2 per 1,000 companies plus $0.05 per run for reading the monthly file — 3 rows free. Apify's free plan ($5 of credit a month) covers about 2,400 companies a month at no cost to you.

Try it in 60 seconds

  1. Tick Preview (3 companies, free) and press Start: three real companies, no charge.
  2. Untick Preview and press Start again: the form is prefilled with SIC 62020 (IT consultancy) in the AL postcode area, 50 companies. A search that fills Max companies early returns in about a minute; one that must read the whole register takes up to about 7 minutes.
  3. Download CSV, Excel or JSON — or call it from code:
curl -X POST "https://api.apify.com/v2/acts/rein8~uk-companies-house-snapshot/run-sync-get-dataset-items?token=$APIFY_TOKEN&format=csv" \
-H 'Content-Type: application/json' -d '{"sicCode":"62020","postcodePrefix":"AL","maxItems":50}'

What does this Companies House company search do?

Companies House company data for every live UK company — about 5.7 million — filterable like a spreadsheet: "IT consultancies (SIC 62020) in St Albans incorporated this year", "companies in Bristol proposed for strike-off", "companies in Leeds with overdue accounts". Rows come from Companies House's own free monthly snapshot under the Open Government Licence, so there is no API key to register, no rate limit to manage, and no officers or PSCs.

Each row carries the Companies House company number, name, status, type, incorporation date, up to four SIC codes, the registered office, accounts and confirmation-statement deadlines, charges, the most recent previous name, and a link to the company's official page — plus the Open Government Licence attribution.

When to use it: you need registry facts about UK companies at scale — new company incorporations, list enrichment, status monitoring — without registering for the Companies House API. When to use something else instead: for officers, persons with significant control, filing history documents or real-time changes during the month, use the official Companies House service or API under your own account; this Actor reads the monthly snapshot only and never returns people.

Why use the Companies House snapshot?

  • New-company leads — new incorporations: companies registered since a date, in your SIC codes and postcode areas.
  • Accountants and bookkeepers — companies whose accounts or confirmation statement are overdue, in your town.
  • Market sizing — count and list active companies of an industry in a town or region.
  • KYB, supplier checks, company intelligence and Companies House enrichment — paste your company numbers: status, type, overdue accounts and confirmation statements, charges, previous names.
  • Credit control — monitor a ledger monthly with Only companies not delivered before: status changes (strike-off proposals, liquidation) come back as changed records.
  • No key to manage — the snapshot is published free of charge with no login; the Actor never touches the rate-limited, keyed API.

Why this one

This Actor
SourceThe Companies House Free Company Data Product (the monthly snapshot of every live company)
Account or API keyNone
Personal dataNone: no officers, no PSCs, and the "care of" address line is never mapped
LicenceOpen Government Licence v3.0 attribution on every row (_source, _licence, _sourceUrl)
MonitoringOnly companies not delivered before; an unchanged monthly file ends the run at once and costs nothing
Pay for what you use$2 per 1,000 companies delivered plus one $0.05 scan fee; filtered-out companies are never charged

How this compares

How this compares — Store facts from the scan of 2026-09-23, public Store API; rivals' figures change daily.

ActorUsers / 30 dSuccessRatingPrice per 1,000
This actornewsee live statusnew$2.00 + $0.05 per run
scrapesage/companies-house-scraper41100%no reviews$4.00
logiover/uk-companies-house-bulk-scraper1285%no reviews—
lexis-solutions/companies-house-uk-scraper2100%4.64★ (8)—
automation-lab/companies-house-uk-company-search-scraper2100%no reviews—
alkausari_mujahid/ofsted-providers-companies-house-enrichment2100%no reviews$5.00

Only this actor, on every run: no API key or account, official source (download.companieshouse.gov.uk), the licence stamped on every row (Open Government Licence v3.0 — contains public sector information licensed under the OGL v3.0), no personal data, a declared bot identity, and a free 3-row preview.

Examples — ready-made inputs

Examples (one click)

Each example below is also a public Task with its own page — open it, press Start, and the input is already filled in:

Or copy one into the JSON tab of the input, or save it as a Task.

UK companies with overdue accounts in Leeds (accountants' leads; every row says by how many days, measured on the snapshot date):

{ "postTown": "LEEDS", "accountsOverdueMinDays": 1, "companyStatus": "Active", "maxItems": 500 }

Check a list of UK company numbers (status, deadlines and charges for your customers or suppliers; a number missing from the results is no longer on the live register or was mistyped):

{ "companyNumbers": "13873404\n16975462\n17195313", "companyStatus": "any", "maxItems": 100 }

UK companies proposed for strike-off in Bristol (credit control, debt recovery):

{ "postTown": "BRISTOL", "companyStatus": "Active - Proposal to Strike off", "maxItems": 500 }

New IT consultancies in the AL postcode area — monthly feed (schedule monthly; each run returns only companies you have not received yet):

{ "sicCode": "62020", "postcodePrefix": "AL", "incorporatedFrom": "2026-01-01", "incremental": true, "stateKey": "al-it-new", "maxItems": 1000 }

How to scrape Companies House data

Quick start (3 steps): set a SIC code and a postcode area → press Start → download CSV/JSON or connect the API.

  1. Combine any filters: SIC codes, name words, company type, postcode areas or districts, post towns, status, incorporation dates, accounts or confirmation-statement due dates — or paste your own company numbers. Every filter is optional.
  2. Set Max companies and run. The Actor reads the newest monthly snapshot (about 5.7 million companies) once and returns only the companies that match — a search that fills Max companies early stops sooner; a full scan takes about 6–7 minutes at the default memory (2 GB), less with more memory (Apify gives 1 CPU core per 4 GB).
  3. Monitoring mode: turn on Only companies not delivered before, give it a state key, and schedule the Actor monthly (the snapshot is published in the first week of each month). Each run returns companies you have not received yet, plus changed records marked _changed; if the file has not changed since your last complete run, the run ends at once and costs nothing.

Preview returns 3 companies free of charge.

Input

InputWhat it does
companyNumbersYour own list of company numbers — one per line or separated by commas, tabs or spaces; leading zeros optional (445790 = 00445790, SC12345 = SC012345); up to 5,000 per run
sicCodeSIC codes, comma-separated; a company matches when any of its codes contains one — give full 5-digit codes (a short "43" would also match 74300). Words work too: the match runs on the code and its description, so "dental" finds 86230 (dental practices) and 32500 (dental instruments)
nameContainsWords the name must contain, comma-separated alternatives — which makes it a name check: paste "ACME TRADING LTD, FOO BAKERY LIMITED" (names as written on the register) and get those companies back, a few hundred names per run
companyCategoryCompany type (words of the register's category: "Private Limited Company", "Limited Liability Partnership"…)
postcodePrefix, postTownPostcode areas/districts; exact post towns
companyStatusActive by default; "Any live status" keeps every status
incorporatedFrom, incorporatedToIncorporation date window (YYYY-MM-DD)
accountsOverdueMinDays, confirmationOverdueMinDaysOnly filings overdue by at least N days on the snapshot date (1 = every late filer)
accountsDueBefore, confirmationDueBeforeDeadlines on or before a date (upcoming deadlines)
accountsTypeKeep only these accounts types (multi-select: MICRO ENTITY, SMALL, FULL, DORMANT, NO ACCOUNTS FILED…). To leave dormant shells out, pick every type except DORMANT
yearEndMonthAccounting reference month(s), 1–12: "December year-ends" for a practice planning its workload
chargesOutstandingMinCompanies with at least N outstanding charges (1 = has borrowed against its assets)
maxItems, incremental + stateKey, previewRows, monitoring, free preview

What data can this Actor extract?

All fields

FieldMeaning
companyNumber, companyNameCompany number (unique id) and registered name
companyStatus, companyCategory, countryOfOriginActive / proposal to strike off / liquidation…; Private Limited Company, Public Limited Company, Limited Liability Partnership…; country
incorporationDate, dissolutionDateDates as YYYY-MM-DD
sicCodesUp to four SIC 2007 codes with their descriptions, in one cell
sicCode1…sicCode4, sicDescription1…sicDescription4The same SIC codes split for spreadsheets: code and description in separate columns (empty when the register says "None Supplied")
addressLine1, addressLine2, postTown, county, country, postalCodeRegistered office
accountsCategory, accountsNextDue, accountsLastMadeUpAccounts type and deadlines
accountsRefDay, accountsRefMonthAccounting reference date — the company's financial year end (31 / 12 = 31 December)
accountsOverdueDays, confirmationOverdueDaysDays past the deadline on the snapshot date (0 = not overdue)
confirmationStatementNextDue, confirmationStatementLastMadeUpConfirmation statement deadlines
chargesOutstanding, chargesTotalRegistered charges (mortgages)
previousName, previousNameUntilMost recent previous name and when it changed
companyUrlThe company's page on the official Companies House service
_source, _licence, _sourceUrlAttribution on every row: Companies House, Open Government Licence v3.0

Example output

A real record (September 2026 snapshot):

{
"companyNumber": "16092999",
"companyName": "!ABRIDGE TAX LTD",
"companyStatus": "Active",
"companyCategory": "Private Limited Company",
"incorporationDate": "2024-11-21",
"postTown": "HATFIELD",
"postalCode": "AL9 5BL",
"sicCodes": "62020 - Information technology consultancy activities",
"accountsCategory": "MICRO ENTITY",
"accountsNextDue": "2027-08-31",
"accountsOverdueDays": 0,
"confirmationStatementNextDue": "2026-12-04",
"confirmationOverdueDays": 0,
"chargesOutstanding": 0,
"previousName": "BLUECASE LTD",
"companyUrl": "https://find-and-update.company-information.service.gov.uk/company/16092999",
"_source": "Companies House",
"_licence": "Open Government Licence v3.0 — contains public sector information licensed under the OGL v3.0"
}

Output

One dataset item per company (fields above) and a STATS record: the snapshot file used, rows read, filters applied, companies filtered out, and any errors.

If this helped, an honest review on the Store page helps others find licence-clean company data; if it did not, an issue on the Issues tab gets a reply within one business day.

Fields for AI agents. Every row also carries summary — one plain-English sentence built from the row, empty values left out (e.g. X LTD (00445790) is Active, Private Limited Company, incorporated 2015-03-01, registered in LEEDS LS1 4AP, accounts due 2026-07-31, confirmation statement due 2026-09-01.). When you filter by postTown, the run also counts — during the same scan, nothing extra is fetched or charged — the companies it skipped for the town alone in the same postcode areas as your results, and says so in the run's status line and in STATS.nearby (e.g. You searched LEEDS; 1,240 more companies matched in nearby LS areas → postcodePrefix=LS). A finished run's status line names the row count and mentions that a review helps others find the actor.

How much will it cost to get Companies House data?

EventWhenPrice
scanonce per run, when the monthly file is read (never in preview, never when the file is unchanged)$0.05
resulteach company delivered$0.002
ScenarioRowsCost
Preview3$0
IT consultancies (62020) in AL postcodes incorporated since 2024~350~$0.75
Every active company in one town~5,000~$10.05
Monthly new-company feed for five SIC codes nationwide~2,000 / month~$4.05 / month

You pay for the companies delivered plus one flat scan fee; filtered-out companies are never charged.

Integrations and automation

  • API (curl): curl -X POST "https://api.apify.com/v2/acts/rein8~uk-companies-house-snapshot/run-sync-get-dataset-items?token=$APIFY_TOKEN&format=csv" -H 'Content-Type: application/json' -d '{"sicCode":"62020","postcodePrefix":"AL","maxItems":500}'
  • Python: ApifyClient(token).actor("rein8/uk-companies-house-snapshot").call(run_input={"postTown": "LEEDS", "accountsOverdueMinDays": 1, "maxItems": 500}) then client.dataset(run["defaultDatasetId"]).iterate_items().
  • Schedule + Google Sheets: a monthly schedule with Only companies not delivered before, and the Apify → Google Sheets integration in append mode.
  • n8n / Make / Zapier: Apify node → Run actor → Get dataset items → CRM or e-mail.
  • AI assistants: see the next section — this Actor is an MCP tool.

Use with AI agents (MCP, Claude, Cursor)

This Actor is already a tool on Apify's hosted MCP server. Add it to Claude Desktop, Claude.ai, Cursor, VS Code or ChatGPT with one URL — the server signs you in with OAuth on first connect, so no API token goes into the config:

https://mcp.apify.com?tools=rein8/uk-companies-house-snapshot

{ "mcpServers": { "apify": { "type": "http", "url": "https://mcp.apify.com?tools=rein8/uk-companies-house-snapshot" } } }

Then ask in plain words. The assistant reads this listing and the input schema, and maps your question to the inputs:

You askThe Actor runs with
"IT consultancies registered in St Albans"sicCode: "62020", postcodePrefix: "AL"
"Companies incorporated in Leeds this year"postTown: "LEEDS", incorporatedFrom: "2026-01-01"
"Active construction companies in Manchester"sicCode: "41201, 41202, 43210, 43220", postcodePrefix: "M" (letters only = the whole M area; ME, MK and ML are other areas)
"Which companies are proposed for strike-off in Bristol?"companyStatus: "Active - Proposal to Strike off", postTown: "BRISTOL"
"Are these customers still trading? 13873404, 16975462"companyNumbers: "13873404, 16975462", companyStatus: "any"

Example prompt: "Which of these supplier company numbers have overdue accounts or a strike-off proposal? 13873404, 16975462, 17195313" — the agent runs companyNumbers with companyStatus: "any" and reads accountsOverdueDays and companyStatus from the rows. A full-register scan takes a few minutes, so an agent should start the run and read the dataset when it finishes.

Agents without an Apify account: through Apify's x402 integration an agent can pay per run in USDC (on Base) with no account and no API key — add &payment=x402 to the URL above. x402 requires a pay-per-event Actor that runs with limited permissions and without Standby mode; this Actor meets all three (its public permission level reads LIMITED_PERMISSIONS).

Where the data comes from — and why it is clean

  • Source: the Companies House Free Company Data Product — a monthly snapshot of every live company on the register, published free of charge on download.companieshouse.gov.uk with no login. The Actor reads the download page to find the newest file and downloads that file; nothing else is requested, and robots.txt is respected.
  • Licence: Companies House data is published under the Open Government Licence v3.0, which allows copying, publishing and commercial use with attribution. Every row carries the attribution.
  • Privacy: the snapshot contains company-level facts only. The Actor never maps the "care of" address line (it can name a person) and never returns officers or persons with significant control.
  • Attribution line to keep with any copy of the data (the snapshot date is the file date of your run, shown in STATS):

Contains public sector information licensed under the Open Government Licence v3.0. Source: Companies House, Free Company Data Product (basic company data snapshot of 2026-09-01), https://download.companieshouse.gov.uk/en_output.html. Unofficial: not affiliated with or endorsed by Companies House. Company-level data only; corrections or removal requests: rein8.actors@gmail.com.

Limits and honest notes

  • Monthly, not real time: the snapshot is taken on the 1st and published in the first week of each month; changes during the month appear in the next file.
  • Live companies only: companies dissolved before the snapshot date are not in the file.
  • The file is large (about 490 MB zipped): each run downloads it once and scans it; the flat scan fee covers that.
  • Post towns are spelled as filed: "ST ALBANS" and "ST. ALBANS" are both in the register. For complete coverage of a place, filter by postcode area or district instead of the town.
  • Registered office is the company's official address; it is not where the company trades.
  • Not affiliated with, endorsed by, or reviewed by Companies House. Not legal or credit advice.

FAQ, Disclaimers, and Support

What is the basis for using this data? Companies House publishes the snapshot free of charge under the Open Government Licence v3.0, which permits commercial reuse with attribution. This is a description of the source's own terms, not legal advice.

Intended use: market data and research — B2B lead lists of companies, KYB and supplier checks, credit monitoring, market sizing. It is not a tool for profiling individuals, and it does not output personal data.

Personal data / UK GDPR: the output is company-level: no officers and no persons with significant control. A small company's registered office can be its director's home address, and a company name can contain a person's name, so UK GDPR can still apply to some records. Use the data for B2B purposes, refresh it monthly rather than keeping old copies, and honour removal requests (open an issue in the Issues tab or write to rein8.actors@gmail.com). If you combine it with personal data from other sources, you need your own lawful basis.

Do I need a Companies House API key?

No. This Actor never uses the API; it reads the free monthly snapshot, which needs no account.

How fresh is the data?

As fresh as the latest monthly snapshot (the 1st of the month, published in its first week). For same-day status, check the company's page — companyUrl links to it.

Companies House companies, directors, PSCs — which does it return?

Companies only. The snapshot holds no directors or PSC data, and this Actor would not return people anyway. If you need officers or persons with significant control, use the official Companies House service under your own account.

How do I find companies with overdue accounts?

Set Accounts overdue by at least (days) — 1 for every late filer, 90 for the seriously late — and add a town or postcode area; the same works for confirmation statements. Every row carries accountsOverdueDays and confirmationOverdueDays: days past the deadline on the snapshot date (0 = not overdue). A company due ON the snapshot date is not yet late.

How do I leave dormant companies out?

Set Accounts type to every type except Dormant (about a quarter of live companies are dormant shells). The same box keeps only micro entities, or only companies that have not filed accounts yet (usually new ones). A one-click "exclude dormant" is planned.

Can I check a list of company names, not numbers?

Yes, roughly: Name contains takes a comma-separated list, so "ACME TRADING LTD, FOO BAKERY LIMITED" returns those companies. Names must be written as the register writes them (LTD vs LIMITED, punctuation); for an exact check use Check a list of company numbers.

How do I export to Google Sheets, CSV or Excel?

Every run's dataset downloads as CSV, Excel, JSON or XML; the Apify → Google Sheets integration appends rows on a schedule. The Leads view (Storage → dataset → view) downloads a CRM-ready CSV: name, number, town, postcode, first SIC code and description, incorporation date, accounts type, year-end month, charges, link.

What does this Actor NOT do?

Officers, persons with significant control, filing documents, charge particulars (the persons entitled and the property charged are only in the keyed API, which this Actor does not use — open the Charges tab of companyUrl), real-time changes, or companies dissolved before the snapshot.

Support: open an issue on the Actor's Issues tab — answered within one business day. A review on the Store page helps others find licence-clean data.

More official-data Actors by rein8

Same rules on every one: the source's own open route, no API key, the licence on every row, company-level data only.

Changelog

  • 2026-09-26 — new filters: accounts type (multi-select; leave dormant shells out), year-end month (accounting reference date) and outstanding charges (at least N); new columns: sicCode1…4 / sicDescription1…4 (SIC split for spreadsheets) and accountsRefDay / accountsRefMonth; a "Leads" dataset view; documented that nameContains takes a comma list of names and that sicCode matches description words ("dental").
  • 2026-09-25 (night) — listing: one-click links to the four public Tasks, a "Use with AI agents" section with the Actor's own MCP URL and the x402 note, the free-plan allowance next to the price; title and description lead with "Companies House" and say "company data".
  • 2026-09-25 (evening) — new: accountsOverdueDays / confirmationOverdueDays on every row and the "overdue by at least N days" filters (measured on the snapshot date: a company due on that day is no longer counted as overdue); company numbers accepted without leading zeros and space- or tab-separated; "W1", "EC1", "SW1" match their lettered districts and unspaced postcodes match; a blank company-number box no longer filters out everything; the scan fee is charged only when your limit also pays for a row, and never for a row the dataset refused.
  • 2026-09-25 — listing: a first screen with real sample rows, the price in one line and a 60-second start; ready-made example inputs (overdue accounts, your own company numbers, strike-off, new incorporations); the company-number and due-date filters documented; measured scan time stated.
  • 0.1 (2026-09-24) — first release: the monthly Companies House snapshot, SIC / postcode / town / status / type / date / name filters, monitoring mode with a conditional download, attribution on every row.