Companies House Check: UK Suppliers & Customers
Pricing
from $2.00 / 1,000 company records
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
42 minutes ago
Last modified
Categories
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 entered | Matched | Company | Number | Status | Main activity | Note |
|---|---|---|---|---|---|---|
| Greggs plc | yes | GREGGS PLC | 00502851 | active | Manufacture of bread; manufacture of fresh pastry goods and cakes | |
| Monzo Bank Limited | yes | MONZO BANK LIMITED | 09446231 | active | Banks | |
| Octopus Energy Limited | yes | OCTOPUS ENERGY LIMITED | 09263424 | active | Trade of electricity | Only active company with this name; 1 dissolved or closed namesake not used |
| Bright Solutions Ltd | yes | BRIGHT SOLUTIONS LIMITED | 14930299 | active | Electrical installation | Only active company with this name; 2 dissolved or closed namesakes not used |
| Acme | yes | ACME LTD | 11519884 | active | Architectural activities | |
| 00000000 | no | No 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
OUTPUTsay 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.
| Field | What it holds |
|---|---|
input | the line you entered, or search: plus the query |
matched | true when a company was found and enriched |
match_note | why a name was matched or not when other companies share it |
company_number, company_name | as registered |
status, type, date_of_creation, jurisdiction | active, dissolved, liquidation; ltd, plc, llp |
sic_codes, sic_code_primary, sic_label_primary | all SIC codes, the first one and its label |
address_line_1, address_line_2, locality, region, postal_code, country, registered_address | the registered office, as columns and on one line |
accounts_last_made_up_to, accounts_next_due | accounts dates |
confirmation_statement_last_made_up_to, confirmation_statement_next_due | confirmation statement dates |
has_charges, has_insolvency_history | flags from the profile |
officers, officer_count | active officers: name, role, appointed_on, nationality, country_of_residence, occupation |
psc_names | current persons with significant control (when enabled) |
filings | the five latest filings: date, type, category, description (when enabled) |
companies_house_url | the company's public page |
candidates | for an unmatched name, up to 3 companies with number, status and address |
error | why a row could not be enriched, or null |
checked_at | when 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.
Related Actors I publish
- UK Supplier and Customer Risk Watch: watches a list of UK companies for filings and Gazette notices that signal trouble.
- UK Company Growth Signals: ranks UK companies by a published rubric built from their Companies House filings.
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.