Companies House Check: UK Suppliers & Customers avatar

Companies House Check: UK Suppliers & Customers

Pricing

from $2.00 / 1,000 company records

Go to Apify Store
Companies House Check: UK Suppliers & Customers

Companies House Check: UK Suppliers & Customers

Before you pay a deposit to a wholesaler or extend credit to a trade customer, check who they are. I match your UK company names or numbers to the Companies House register, with status and SIC activity, plus officers or filings on request. Unmatched names come back at no charge. $0.002 per company.

Pricing

from $2.00 / 1,000 company records

Rating

0.0

(0)

Developer

Jessy Mariau

Jessy Mariau

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

42 minutes ago

Last modified

Share

UK Supplier and Customer Check: Companies House

Before you pay a deposit to a wholesaler or extend credit to a trade customer, check who they are. I match your UK company names or numbers to the Companies House register, with status and SIC activity, plus officers or filings on request. Unmatched names come back at no charge. $0.002 per company.

A real run, 13 September 2026

Six lines as they might sit in a CRM, officers switched off:

You enteredMatchedCompanyNumberStatusMain activityNote
Greggs plcyesGREGGS PLC00502851activeManufacture of bread; manufacture of fresh pastry goods and cakes
Monzo Bank LimitedyesMONZO BANK LIMITED09446231activeBanks
Octopus Energy LimitedyesOCTOPUS ENERGY LIMITED09263424activeTrade of electricityOnly active company with this name; 1 dissolved or closed namesake not used
Bright Solutions LtdyesBRIGHT SOLUTIONS LIMITED14930299activeElectrical installationOnly active company with this name; 2 dissolved or closed namesakes not used
AcmeyesACME LTD11519884activeArchitectural activities
00000000noNo company found with that number, not charged

Five matches, $0.01. The two notes are why I built the matching this way: "Bright Solutions Ltd" is the name of three registered companies, and the row tells you which one was used and why. When two or more active companies share a name, the line is not matched and you get the candidates to choose from.

To see the output shape first, run it with empty input: three fictional companies, no key, no charge.

First run

{
"apiKey": "your-companies-house-key",
"companies": "Greggs plc\n09446231\nSC123456"
}

A number is looked up directly. A name is matched to a registered company with the same name once case, punctuation and LTD versus LIMITED are ignored; if only a different legal suffix matches (PLC entered, LIMITED registered), the row says so. A company that appears twice in your list is looked up and charged once. Officers are on by default; switch on includePSC for owners and includeFilings for the five latest filings. None of them change the price.

A search instead of a list, for example software companies registered in Glasgow G1:

{
"apiKey": "your-companies-house-key",
"searchQuery": "software",
"sicCode": "62012",
"postcodePrefix": "G1",
"maxResults": 50
}

Searches return active companies unless you switch on includeDissolved. A registered office is not always where a company trades.

Getting the key

Register at https://developer.company-information.service.gov.uk/, create an application and add a REST API key. Paste it into apiKey; Apify stores it as a secret and it never appears in the log or the dataset. The key is free and is rate limited by Companies House to 600 requests every 5 minutes; the Actor stays under that and backs off when told to.

When it cannot do the job

  • Names or a search without a key: the run stops before any lookup, says how to get a key, and charges nothing. It does not fall back to demo rows.
  • Companies House rejects the key: the run stops with that message.
  • Every lookup fails at Companies House: the run fails with the first error instead of finishing green.
  • Some lookups fail: those rows carry error, the rest are enriched, and the status message says how many matched.
  • Your maximum cost per run runs out: the Actor stops before the next company, and the status message and OUTPUT say how many are left to run. A limit below one company's price fails the run before any lookup.

Output

The dataset's Overview table shows what you entered next to what it matched, the match note and any error. Profile fields are columns; officers, PSCs and filings are arrays, so export JSON to keep them or select the profile columns for a spreadsheet.

FieldWhat it holds
inputthe line you entered, or search: plus the query
matchedtrue when a company was found and enriched
match_notewhy a name was matched or not when other companies share it
company_number, company_nameas registered
status, type, date_of_creation, jurisdictionactive, dissolved, liquidation; ltd, plc, llp
sic_codes, sic_code_primary, sic_label_primaryall SIC codes, the first one and its label
address_line_1, address_line_2, locality, region, postal_code, country, registered_addressthe registered office, as columns and on one line
accounts_last_made_up_to, accounts_next_dueaccounts dates
confirmation_statement_last_made_up_to, confirmation_statement_next_dueconfirmation statement dates
has_charges, has_insolvency_historyflags from the profile
officers, officer_countactive officers: name, role, appointed_on, nationality, country_of_residence, occupation
psc_namescurrent persons with significant control (when enabled)
filingsthe five latest filings: date, type, category, description (when enabled)
companies_house_urlthe company's public page
candidatesfor an unmatched name, up to 3 companies with number, status and address
errorwhy a row could not be enriched, or null
checked_atwhen the run happened

The OUTPUT record counts what was processed and matched, lists the unmatched lines and says whether the run stopped at your cost limit.

Pricing

  • Actor events: $0.002 per matched company. Officers and filings are extra API calls but never extra charges. Nothing is charged for a line that finds no company or fails at Companies House, nor for an empty search or the demo.
  • Companies House: the API key is free.
  • Apify platform: covered by the event price. No proxy or browser is used.

Enrich a list from a script or an automation

Call the run-sync endpoint from a script or an n8n, Make or Zapier HTTP step. It waits for the run and returns the rows, ready to write back to your CRM by input:

curl -s -X POST "https://api.apify.com/v2/acts/fractionalhqforyou~uk-companies-house-enrichment/run-sync-get-dataset-items?token=$APIFY_TOKEN&format=json" \
-H "Content-Type: application/json" \
-d '{"apiKey":"'"$CH_API_KEY"'","companies":"Greggs plc\nMonzo Bank Limited","includeOfficers":false}' \
| jq '.[] | {input, matched, company_number, status, sic_label_primary, match_note}'

The run-sync endpoint waits up to 5 minutes. At the Companies House rate limit that is a few hundred companies with officers off; start bigger lists as a normal run and fetch the dataset when it finishes.

Use it from an AI agent

This Actor also runs as an MCP server. Connect to https://fractionalhqforyou--uk-companies-house-enrichment.apify.actor/mcp and call enrich_uk_companies with the same names, numbers or search. The per-company price is the same. Clients that only speak to the Apify MCP server can load apify/actors-mcp-server with fractionalhqforyou/uk-companies-house-enrichment.

Help and maintenance

Built and maintained by Jessy Mariau. For a bug, open this Actor's Issues tab with the run ID and the result you expected, and remove keys and private data before you share an input.