Companies House Company Search & Status — UK Register avatar

Companies House Company Search & Status — UK Register

Pricing

from $33.50 / 1,000 company records

Go to Apify Store
Companies House Company Search & Status — UK Register

Companies House Company Search & Status — UK Register

Search the UK Companies House register by name, company number, SIC code, location, type, status or incorporation date: status, address, SIC codes, filing due dates, charges, previous names. From the latest monthly Companies House snapshot (each record carries its date). OGL v3.0, company data only.

Pricing

from $33.50 / 1,000 company records

Rating

0.0

(0)

Developer

NexGen Signal

NexGen Signal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

Search the UK company register by name, company number, SIC code, location, type, status or incorporation date. Keyless. Pay per company found.

Current data: the newest monthly Companies House register file on the server — on 30 September 2026 the file dated 1 September 2026 (posted 7 September; the October file is due in the first days of October). The actor opens the newest file on every run and falls back to the previous month's file only if the newest cannot be opened; the status message gives the snapshot date and its age, and every record carries snapshot_date. A company's status may have changed since that date.

This actor searches the official UK Companies House register (BasicCompanyData, about 5.7 million live companies) and returns one clean record per company: number and name, company type and status, incorporation date, registered office address, SIC industry codes, accounts and confirmation-statement due dates, mortgage-charge counts, previous names, and a link to the company's Companies House page. Dates come back as YYYY-MM-DD. Company data only — no officers, no persons with significant control, no personal data.

Who buys this and for what job

  • KYB, onboarding and compliance teams running a Companies House search to confirm a company exists and is active.
  • Sales and data teams enriching company lists with a UK company status check, SIC codes and addresses.
  • Credit and supplier-risk teams spotting dissolved or liquidating companies in a portfolio.

Buyers usually search for this as "companies house search" or "uk company status check".

Ready-made searches

Open one, press Start, and change the inputs to your own:

Guide: enrich a company list with UK company records

A step-by-step guide with a real result: a list of company numbers and names matched to the register (Tesco PLC by number, Greggs PLC and Rolls-Royce Holdings plc by exact name, one number not on the register and not charged), the exact input, the same call with curl, and a Python script that takes a CSV of numbers or names and writes one result row per company, skipping rows already checked. An n8n workflow that does the same in Google Sheets is included; its Google Sheets step has not yet been tested against a real Google Sheet. A company checked again is charged again.

Read the guide · Python script, CSV in and out · n8n workflow (import from URL)

What you can do with it

  • Look up companies by number. Paste a list of company numbers (00445790, SC123456, OC301540) and get each company's current register record. Numbers that aren't on the register are listed in the run receipt and cost nothing.
  • Search by name. Find every company whose name — or a previous name — contains your words, e.g. green energy, bakery, tesco.
  • Build a lead list. Combine a SIC code (62012 software, 56101 restaurants, or a group like 620), a location (Manchester, EC1), a company type and a status.
  • Find new businesses. Set incorporatedFrom to get companies formed since a date — e.g. every software company registered in Manchester this year.
  • See the newest incorporations first. Turn on Newest incorporations first (newestFirst) and the run delivers the most recently incorporated matching companies, newest first, instead of the register file's order.
  • Monitor a search. Turn on New companies only and schedule the actor: each run delivers only companies this search hasn't delivered before, so you pay only for new matches. "New" means new to this search's memory, not newly incorporated: if a search matches more companies than maxRecords, turn on newestFirst too, so each run hands over the latest incorporations rather than the next batch in file order.

Input

FieldWhat it does
searchQueriesWords to find in current and previous company names. Every word of one search must appear; several searches are combined (any can match). Words of 4+ letters also match inside longer words (baker finds BAKERY).
companyNumbersExact company numbers. Shorter numeric ones are zero-padded (445790 → 00445790).
sicCodesSIC codes; a shorter code matches the whole group (620 = all of 62011–62090).
locationText in the registered office address: town, county or postcode start (EC1, SW1A).
companyStatusOne or more statuses (Active, Active - Proposal to Strike off, Liquidation, In Administration, …).
companyTypesOne or more company types (Private Limited Company, LLP, PLC, CIC, …).
incorporatedFrom / incorporatedToIncorporation date range, YYYY-MM-DD.
companyNameExcludesDrop companies whose name contains any of these words.
companyNumberPrefix / namePrefixNumber starts with (SC Scotland, NI Northern Ireland, OC LLPs) / name starts with.
newOnlyDeliver only companies this same search has not delivered in an earlier run.
newestFirstDeliver the most recently incorporated matches first (reads the whole file, then keeps the newest maxRecords). Off by default: matches come in the register file's order.
maxRecordsMost companies delivered and billed in one run (default 10; it was 500 before 30 Sep 2026).

Default changed on 30 Sep 2026: if you leave maxRecords out, a run now returns up to 10 records (it was 500). Set maxRecords yourself to get more — the maximum is unchanged.

Set at least one search or filter — the whole register can't be pulled in one go. Filters combine (a company must pass all of them).

Example — software companies in Manchester formed in 2026:

{ "sicCodes": ["62012"], "location": "Manchester", "incorporatedFrom": "2026-01-01", "maxRecords": 100 }

Output

One record per company. Real example from a live run (company number lookup):

{
"company_number": "00445790",
"company_name": "TESCO PLC",
"company_category": "Public Limited Company",
"company_status": "Active",
"country_of_origin": "United Kingdom",
"incorporation_date": "1947-11-27",
"reg_address_line1": "TESCO HOUSE, SHIRE PARK",
"reg_address_line2": "KESTREL WAY",
"reg_post_town": "WELWYN GARDEN CITY",
"reg_country": "UNITED KINGDOM",
"reg_postcode": "AL7 1GA",
"sic_codes": "47110 - Retail sale in non-specialised stores with food, beverages or tobacco predominating",
"sic_code_numbers": "47110",
"accounts_category": "GROUP",
"accounts_next_due": "2027-08-26",
"accounts_last_made_up": "2026-02-28",
"conf_stmt_next_due": "2027-07-02",
"conf_stmt_last_made_up": "2026-06-18",
"num_mortgage_charges": "9",
"num_mortgage_outstanding": "2",
"previous_names": null,
"match": "company number",
"companies_house_url": "https://find-and-update.company-information.service.gov.uk/company/00445790",
"snapshot_date": "2026-09-01",
"source": "UK Companies House (BasicCompanyData)"
}

Every record also carries record_id, returns_next_due / returns_last_made_up, reg_county, uri, is_new (new-only mode), source_url, licence, attribution, disclaimer and observed_at. previous_names lists each former name with its change date. match says which of your searches found the company.

A free RUN_RECEIPT in the run's key-value store records the register snapshot used, your filters, rows read, records delivered and charged, and any company numbers that weren't found.

Use it from your code or an AI agent

One API call that returns the rows (replace YOUR_APIFY_TOKEN; the body is the run input):

curl -X POST "https://api.apify.com/v2/acts/nexgensignal~uk-company-status-records/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQueries": ["green energy"], "companyStatus": ["Active"], "maxRecords": 10}'

Python (pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("nexgensignal/uk-company-status-records").call(run_input={'searchQueries': ['green energy'], 'companyStatus': ['Active'], 'maxRecords': 10})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)

AI agents (MCP): add https://mcp.apify.com?tools=nexgensignal/uk-company-status-records as an MCP server in Claude, Cursor or any MCP client and sign in with your Apify account. The agent gets this search as a tool, runs it with the inputs above and reads the results. Billing is the same per-record price; set a maximum cost per run to cap spend.

Pricing

EventFree planBronzeSilverGold / Platinum / Diamond
company_record$0.05$0.045$0.04$0.0335

You pay only for companies delivered. Numbers not found, empty searches, companies skipped in new-only mode, and blocked runs cost nothing. Set a maximum cost per run and the actor stops cleanly at it.

How a run works

Companies House publishes the whole register as one keyless file on the 1st of each month. The actor checks the host's robots rules, opens the newest monthly file, reads it as a stream (without storing the 490 MB download), tests every company against your search and filters, and delivers each match before charging for it. It stops as soon as maxRecords is reached or, for a number-only lookup, as soon as every number is found. With newestFirst on it reads the whole file first and then delivers the newest matches, so you are charged only for the maxRecords it delivers. A search that has to read the whole register takes about one and a half to three minutes.

Honest limitations

  • Monthly snapshot, not live. Records are as on the register on the snapshot_date (the 1st of the month). A company's status may have changed since. It is not a certificate of good standing.
  • Live companies only. Companies House leaves dissolved companies out of this file, so dissolved companies can't be found here.
  • No people. Officers, directors and persons with significant control are not in this file and are never returned; any "care of" name in an address is dropped.
  • Not the filing history. Individual filings and charge details aren't in the register file; the record gives filing due dates and charge counts.
  • As published. Values are exactly as Companies House publishes them; the actor reformats dates, it doesn't verify.

Licence

Companies House BasicCompanyData is published under the Open Government Licence v3.0 — free to copy, publish and adapt, including commercially, with attribution: "Contains public sector information licensed under the Open Government Licence v3.0." The attribution rides on every record.

The NexGen Signal family

Other pay-per-record company data from NexGen Signal:

Source: UK Companies House, BasicCompanyData (download.companieshouse.gov.uk). Contains public sector information licensed under the Open Government Licence v3.0.