UK Companies House: Company Data, SIC Search & Change Monitor avatar

UK Companies House: Company Data, SIC Search & Change Monitor

Pricing

from $2.40 / 1,000 company returneds

Go to Apify Store
UK Companies House: Company Data, SIC Search & Change Monitor

UK Companies House: Company Data, SIC Search & Change Monitor

UK company data for all 5.7M live companies from Companies House's free monthly Basic Company Data. Look up by number or name, search by SIC code, postcode and status, or get a monthly change feed. No director or PSC personal data.

Pricing

from $2.40 / 1,000 company returneds

Rating

0.0

(0)

Developer

Your Evenings

Your Evenings

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Categories

Share

UK Companies House gives you company data for every live UK company: status, type, incorporation date, SIC codes, accounts and confirmation statement dates and overdue flags, charges, previous names, and registered office post town and postcode. Look companies up by number or name, search the whole register with filters, or get a typed feed of what changed since last month.

Use it for a Companies House search across the whole register: a UK company search by number or name, a SIC code search by area and status, or a monthly change feed, with rows you can export as CSV, JSON or Excel and no Companies House API key to manage.

Not an official Companies House product. This Actor is independent and is not affiliated with or endorsed by Companies House. It uses the free monthly data snapshot Companies House publishes for reuse.

Why this one

  • Typed month-over-month changes. Each monthly snapshot is compared with the one before, so you get one row per change with a changeType: new on the register, left the register, status changed (liquidation, administration, proposal to strike off), name, SIC or company type changed, registered office moved, accounts or confirmation statement now overdue or newly filed, new or changed charges. previous holds the old values.
  • A monitor for your own list. monitorMode saves your companies as a free baseline, then each later run returns only what changed since then. Schedule it monthly for suppliers, customers or prospects.
  • Search all 5.7 million live companies by SIC code (prefix), status, company type, incorporation date, post town, postcode area or district, overdue accounts or confirmation statement, outstanding charges and name keywords.
  • No director, officer or PSC data, and no street addresses. Rows describe companies only. The registered office is output as post town, postcode and country; street lines, care-of names and PO boxes are dropped when the data is loaded.
  • Filters before you pay, and free status rows. Filtered-out companies, numbers not on the register, unmatched names (with up to 3 similar names), duplicates and "nothing new yet" rows cost nothing.
  • Pre-built snapshot. The snapshot is stored as compact shards, so a lookup by number reads only the shards it needs. Our test lookup of three companies on 26 October 2026 took 8 seconds; a search reads the whole register, so it takes longer.

Data from: Companies House, Free Company Data Product (monthly snapshot)

Runs on Apify Apify. Use it from Make, Zapier, n8n n8n or the Apify API.

Where the data comes from

SourceWhatHow
Companies House Free Company Data ProductBasic company data for all live companies (5,704,711 in the 1 October 2026 snapshot)Downloaded once a month by the maintainer, at normal speed, one file at a time, and stored in compact form. Your runs read that copy, not Companies House.

How fresh is it? Companies House compiles the snapshot to the end of the previous month and publishes it within 5 working days of month end. Every row has dataAsOf (the snapshot date) and dataSource: monthly-snapshot. If the newest snapshot is over 40 days old, the run adds a free stale_data row and a warning. For today's position, each row's sourceUrl links to the company's page on the Companies House service.

Overdue flags (accountsOverdue, confirmationStatementOverdue) are worked out against the snapshot date.

Attribution and licences

Source: Companies House, Free Company Data Product. Companies House states that it "imposes no rules or requirements on how the information on the public register is used" (public task and copyright). Register information is supplied under the Copyright, Designs and Patents Act 1988 and the Database Regulations and is not released under the Open Government Licence. Companies House asks reusers to take their own advice on third-party copyright in filed information and not to reproduce the Crown insignia; this Actor does not use it. Every row carries a licence note crediting Companies House. Fields are renamed and normalised by this Actor.

Personal data

The source file has no officer, director or PSC data, and this Actor never adds any. Registered office street lines, care-of names, PO boxes and county are dropped when the snapshot is loaded; rows keep only post town, postcode and country. Some very small companies use a home address as their registered office, which is why street lines are left out. Please don't use this Actor to build lists of people.

Who it's for

  • B2B sales and marketing teams building lists of UK companies by sector, area and age.
  • Credit, finance and procurement teams checking customers and suppliers for strike-off, liquidation or overdue accounts.
  • Researchers and data teams who need company-level data from the register in a clean table.

Use cases

  1. New company lists. Companies new on the register last month in SIC 62 (IT) in Manchester (postcode area M): set changeTypes to new_on_register, sicCodes to 62 and postcodes to M.
  2. Supplier and customer checks. Look up status, overdue accounts and charges for a list of company numbers, then run monitorMode monthly to hear about strike-off proposals, liquidation or late accounts.
  3. Market sizing. Search all live companies by SIC code, post town and incorporation date and count them with countAllMatches.
  4. Accountants. A monthly due-date sweep across a client list (confirm with the live register before chasing).

Quick start

Press Start with the prefilled input, or paste this into the JSON view of the Input tab:

{
"companyNumbers": ["00445790", "00185647", "07524813"]
}

It looks up Tesco PLC, J Sainsbury PLC and Rolls-Royce Holdings PLC. In our test run on 26 October 2026 it returned 3 company rows from the 1 October 2026 snapshot, which costs about $0.01 (see Pricing).

Output sample

Two of the Quick start rows and other rows from our test runs (a name lookup, and a changes run for SIC 62 in postcode area M), October 2026 snapshot:

RecordChangeCompanyStatusIncorporatedSIC (first)Post town
company–TESCO PLCActive1947-11-27Retail sale in non-specialised stores with food, beverages or tobacco predominatingWELWYN GARDEN CITY
company–J SAINSBURY PLCActive1922-11-10Retail sale in non-specialised stores with food, beverages or tobacco predominatingLONDON
company–MARKS AND SPENCER GROUP P.L.C.Active2001-07-23Other retail sale in non-specialised storesLONDON
changenew_on_registerPIONEER INSIGHT RESEARCH TECH LTDActive2026-09-05Business and domestic software developmentMANCHESTER
changestatus_changedGLOBINA LIMITEDActive - Proposal to Strike off2025-06-17Information technology consultancy activitiesMANCHESTER

Two rows as JSON, from runs on 30 October 2026 (1 October 2026 snapshot): a lookup of Tesco PLC (build 0.1.9) and a new_on_register change from the SIC 62 / postcode area M changes run (build 0.1.8). Some fields are left out to keep it short, and the change row's postcode is left out of this sample. The full list is under Output.

{
"recordType": "company",
"companyNumber": "00445790",
"companyName": "TESCO PLC",
"companyStatus": "Active",
"companyType": "Public Limited Company",
"countryOfOrigin": "United Kingdom",
"incorporatedOn": "1947-11-27",
"sicCodes": [
"47110"
],
"sicDescriptions": [
"Retail sale in non-specialised stores with food, beverages or tobacco predominating"
],
"registeredOffice": {
"postTown": "WELWYN GARDEN CITY",
"postcode": "AL7 1GA",
"country": "UNITED KINGDOM"
},
"accountsNextDue": "2027-08-26",
"accountsOverdue": false,
"lastAccountsMadeUpTo": "2026-02-28",
"lastAccountsType": "GROUP",
"confirmationStatementNextDue": "2027-07-02",
"confirmationStatementOverdue": false,
"lastConfirmationStatementMadeUpTo": "2026-06-18",
"charges": {
"total": 9,
"outstanding": 2,
"partSatisfied": 0,
"satisfied": 7
},
"hasCharges": true,
"hasOutstandingCharges": true,
"previousNames": [],
"sourceUrl": "https://find-and-update.company-information.service.gov.uk/company/00445790",
"dataAsOf": "2026-10-01",
"dataSource": "monthly-snapshot",
"licence": "Source: Companies House, Free Company Data Product (public register information, https://download.companieshouse.gov.uk/en_output.html). Companies House places no restriction on reuse of register information; it is not released under the Open Government Licence. Normalised by this Actor; not endorsed by Companies House."
}
{
"recordType": "change",
"changeType": "new_on_register",
"companyNumber": "17485002",
"companyName": "ZOA DIGITAL LTD",
"companyStatus": "Active",
"companyType": "Private Limited Company",
"incorporatedOn": "2026-09-28",
"sicCodes": [
"62012"
],
"sicDescriptions": [
"Business and domestic software development"
],
"registeredOffice": {
"postTown": "MANCHESTER",
"country": "ENGLAND"
},
"accountsNextDue": "2028-06-28",
"accountsOverdue": false,
"confirmationStatementNextDue": "2027-10-11",
"hasCharges": false,
"previousNames": [],
"sourceUrl": "https://find-and-update.company-information.service.gov.uk/company/17485002",
"dataAsOf": "2026-10-01",
"previousDataAsOf": "2026-09-01"
}

Input examples

Paste any of these into the JSON view of the Input tab. Each one is the input of a ready-made example task.

UK company lookup by company number

{
"mode": "lookup",
"companyNumbers": ["00445790", "00185647", "07524813"],
"maxResults": 25
}

SIC code search: new UK software companies (SIC 62012)

{
"mode": "search",
"sicCodes": ["62012"],
"companyStatus": ["active"],
"incorporatedWithinDays": 60,
"maxResults": 100
}

Monthly changes for IT companies in Manchester (SIC 62, postcode area M)

{
"mode": "changes",
"sicCodes": ["62"],
"postcodes": ["M"],
"changeTypes": ["new_on_register", "status_changed"],
"maxResults": 100
}

Input

All fields are optional. With no input it looks up three example companies (Tesco PLC, J Sainsbury PLC, Rolls-Royce Holdings PLC).

FieldWhat it does
modeauto (default), lookup, search, changes or monitor. Auto picks lookup when you give numbers or names, changes when you pick change types, otherwise search.
companyNumbersCompany numbers. Short numbers are zero-padded; SC, NI, OC and other prefixes work. In changes mode, a watchlist.
companyNamesUp to 1,000 names, matched exact or normalised (case, punctuation, & / and, Limited / Ltd, PLC forms). Rows show matchConfidence. No match gives a free not_found row with up to 3 similar names.
sicCodes2 to 5 digits, prefix match.
companyStatusactive, proposal to strike off, liquidation, administration, receivership, voluntary arrangement, or an exact published status.
companyTypesPhrase match on the published type, e.g. "Limited Liability Partnership".
incorporatedFrom, incorporatedTo, incorporatedWithinDaysIncorporation date range.
postTowns, postcodesRegistered office post town; postcode area (M), district (M1) or postcode (M1 1AE).
nameKeywordsWhole words or phrases in the name.
accountsOverdue, confirmationStatementOverdue, hasOutstandingChargesOnly companies with that flag.
changeTypesChanges mode: which change types to return.
monitorMode, stateStoreNameMonitor your list; one state store per watchlist.
dataMonthUse an older snapshot (the last 3 months are kept).
maxResultsMaximum charged rows (default 25; 0 = no limit).
countAllMatchesKeep counting after maxResults for the run summary (no extra charge).

Output

One row per company (recordType: company) or per change (recordType: change), plus free status rows.

Company fields: companyNumber, companyName, companyStatus, companyType, countryOfOrigin, incorporatedOn, dissolvedOn, sicCodes, sicDescriptions, registeredOffice {postTown, postcode, country}, accountingReferenceDate, accountsNextDue, accountsOverdue, accountsDaysOverdue, lastAccountsMadeUpTo, lastAccountsType, confirmationStatementNextDue, confirmationStatementOverdue, lastConfirmationStatementMadeUpTo, charges {total, outstanding, partSatisfied, satisfied}, hasCharges, hasOutstandingCharges, previousNames, sourceUrl, dataAsOf, dataSource, licence, retrievedAt. Name lookups add companyNameQuery, matchConfidence.

Change rows add changeType, changedFields, previous (old values) and previousDataAsOf.

Status rows (free): not_found, not_on_live_register (left the register this month), invalid_number, duplicate, baseline_saved, no_new_snapshot, no_changes, no_matches, stale_data, error, no_company_numbers, too_many_numbers, too_many_names.

The run's SUMMARY record shows companies read, matched and returned, and why the rest were filtered out.

Changes and monitor mode

The October 2026 snapshot had 1,307,278 changes against September across all types, so filter the feed (changeTypes, SIC, postcode, status) or give a watchlist. Change types: new_on_register, removed_from_register, status_changed, name_changed, sic_changed, type_changed, registered_office_moved, accounts_now_overdue, accounts_filed, confirmation_statement_now_overdue, confirmation_statement_filed, new_charge, charges_changed.

removed_from_register means a company was in last month's file and not this one, which usually means it was dissolved. The snapshot lists live companies only.

In monitor mode, the first run saves a baseline (free). A run before the next snapshot is out returns a free no_new_snapshot row. Once a newer snapshot is available, you get one change row per change since your baseline.

Pricing

Pay per event:

EventPrice
Company row$0.003
Change row$0.005
Actor start$0.00005

Status rows, filtered-out companies, unmatched names and duplicates are free. Example: a monthly monitor of 500 suppliers with 12 changes costs 12 × $0.005 = $0.06 plus the start event. Set a maximum charge per run and the Actor stops before going over it.

FAQ

Can I get directors or shareholders? No. This Actor outputs company data only.

Can I check confirmation statement and accounts due dates for my client list? Yes. Use lookup mode with your clients' company numbers in companyNumbers. Each row has confirmationStatementNextDue, confirmationStatementOverdue, accountsNextDue and accountsOverdue, worked out against the monthly snapshot date. Because the data is monthly, a client who filed after the snapshot can still show as due. Check the live Companies House record before you send a client a reminder.

Why is a company I just registered missing? The snapshot is compiled to the end of the previous month. Companies registered since then appear in the next one.

Why not_found for a real number? The file lists live companies only. Companies dissolved before the earliest month kept don't appear; those dissolved this month get not_on_live_register.

How do I search Companies House by SIC code? Use mode: "search" with sicCodes (a full 5-digit code such as 62012, or a prefix such as 62). Add companyStatus, postTowns, postcodes or incorporatedWithinDays to narrow it, and countAllMatches to count every match.

Can I do a UK company search by name? Yes. Use mode: "lookup" with companyNames. Names are matched exactly or after normalising case, punctuation and Ltd / Limited forms; a name with no match comes back as a free not_found row with up to 3 similar names.

Do I need a Companies House API key? No. The Actor reads its own copy of Companies House's free monthly snapshot, so there's no key to register.

Feedback

Found a row that looks wrong? Open an issue on the Actor's Issues tab with the company number.