Companies House API – UK Company Data, Directors & PSC
Pricing
from $3.00 / 1,000 company records
Companies House API – UK Company Data, Directors & PSC
UK company data from the official Companies House API, not scraping. $0.003 per company. Search by name, company number, SIC code, incorporation date and status. Directors and PSCs are optional (+$0.001) and off by default. Not affiliated with or endorsed by Companies House.
Pricing
from $3.00 / 1,000 company records
Rating
0.0
(0)
Developer
Agentic Solutions
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Get UK company data from the official Companies House API: company profiles, status, SIC codes, registered office and accounts and confirmation-statement due dates, with optional directors and PSCs. Bring your own free Companies House key.
Tested with live Companies House API calls before launch: name search, company-number lookup, advanced SIC and date search, officer and PSC opt-in, and the missing-key case.
Quick example
Input:
{"apiKey": "<your free key>","companyNumbers": ["00445790"]}
Output: one real row from a live Companies House API test run on 14 Oct 2026 (selected fields).
{"recordType": "company","companyNumber": "00445790","companyName": "TESCO PLC","status": "active","companyType": "plc","jurisdiction": "england-wales","incorporatedOn": "1947-11-27","sicCodes": ["47110"],"registeredOfficePostcode": "AL7 1GA","accountsNextDue": "2027-08-26","confirmationStatementNextDue": "2027-07-02","hasInsolvencyHistory": false,"url": "https://find-and-update.company-information.service.gov.uk/company/00445790"}
Personal data notice. Officer and PSC (people with significant control) records contain personal data under UK GDPR. They are off by default and are only fetched when you switch them on. If you process this data, you are the controller and are responsible for your own compliance: a lawful basis (typically legitimate interests, backed by a documented legitimate-interests assessment), transparency, data minimisation, retention and data-subject rights, and direct-marketing rules (PECR). This is not legal advice; take your own advice if unsure.
Safeguards built in: officer/PSC data needs
confirmLawfulBasis: true(recorded in RUN_STATS, otherwise the run stops before fetching anything); no home/usual residential addresses (officers get their correspondence/service address only, PSCs no address); no full dates of birth (month/year only); people marked protected/suppressed/super-secure are excluded; no search by person name. You control retention of the run dataset; delete it when no longer needed.
Get UK company records straight from the official Companies House Public Data API. Search by name, look up company numbers, or filter by SIC code, incorporation date, status and location. You can also add officers (directors) and people with significant control (PSCs / beneficial owners).
It doesn't scrape HTML. It uses stable, documented JSON with polite rate limiting, and you only pay for the companies you get.
Use cases
- New incorporations by industry, for accountants, banks and insurers.
{"apiKey": "<your free key>", "searchQuery": "", "sicCodes": ["62012"], "incorporatedFrom": "2026-10-09", "companyStatus": ["active"], "maxItems": 200}
- KYC and due-diligence enrichment. Pass a list in
companyNumbersto get status, accounts and confirmation-statement due dates. - Supplier monitoring. A scheduled task over your supplier numbers flags liquidation or dissolution.
- Directors and PSCs (opt-in). Set
includeOfficersand/orincludePsctotrue, and tickconfirmLawfulBasis. Home addresses and full dates of birth are never output.
Automations (Make, Zapier, n8n, Google Sheets)
- n8n: Weekly schedule → Apify Run Actor (SIC +
incorporatedFrom= 7 days ago) → Google Sheets Append → Gmail digest. Docs: https://docs.apify.com/integrations/n8n.md - Make: Run an Actor (synchronous) → Get Dataset Items → Airtable/Sheets. Docs: https://docs.apify.com/integrations/make.md
- Zapier: Finished Task Run → CRM Update Company (status, due dates). Docs: https://docs.apify.com/integrations/zapier.md
- Google Sheets: Actor-to-Actor integration to
lukaskrivka/google-sheets. Docs: https://docs.apify.com/integrations/actors.md
Getting your free API key
Create an application on the Companies House Developer Hub and copy its API key into apiKey. Your key's limit is 600 requests per 5 minutes.
- Register (free) at https://developer.company-information.service.gov.uk/.
- Go to Your applications → Create an application → Create new key → REST.
- Paste the key into the Companies House API key field. The key is stored encrypted as a secret input.
Under the Companies House terms, each user must use their own key, so this actor has no shared or built-in key. If you run it without a key, it finishes successfully without charging you and returns one information row explaining how to get a key.
Each key allows 600 requests per 5 minutes. This actor stays under that limit automatically. It uses a shared sliding-window limiter set to 550 requests per 5 minutes. If Companies House still answers 429, all requests pause until the limit resets.
Input
| Field | What it does |
|---|---|
apiKey | Your Companies House REST key (secret). |
searchQuery | Words in the company name. |
nameMatch | strict (default): only companies whose current name contains every word (advanced search company_name_includes, plus a safety post-filter). relevance: Companies House's ranked search, which can also match former names. |
companyNumbers | Exact numbers, e.g. 00445790, SC123456. Overrides the search fields. |
sicCodes, incorporatedFrom, incorporatedTo, companyStatus, location | Filters that use the advanced search endpoint. Can be combined with searchQuery. |
includeOfficers, maxOfficersPerCompany, officersCurrentOnly | Opt-in (default off). Add officers; officersCurrentOnly (default on) leaves out resigned officers. |
includePsc | Opt-in (default off). Add people with significant control. |
confirmLawfulBasis | Required with officers or PSCs: confirms you have a lawful basis (e.g. legitimate interests) and will meet UK GDPR Art. 14 duties. |
maxItems | Maximum companies to return (default 20). |
Example: active software companies incorporated in September 2026, with directors:
{"apiKey": "YOUR_KEY", "sicCodes": ["62012"], "companyStatus": ["active"],"incorporatedFrom": "2026-09-01", "incorporatedTo": "2026-09-30", "includeOfficers": true, "maxItems": 100}
Output
Each dataset item is one company (recordType: "company"). matchedOn explains why a row matched (company_number, company_name_includes, filters, current_name, previous_name_or_other, relevance) and matchSnippet shows Companies House's snippet in relevance mode (often a former name). Every row carries a source field with the attribution "Contains public sector information licensed under the Open Government Licence v3.0. Source: Companies House." A key-less run returns a single recordType: "info" row instead; that row is not charged. Fields include number, name, status, type, jurisdiction, incorporation and dissolution dates, SIC codes, registered office (one line plus structured), accounts and confirmation-statement due dates and overdue flags, charges and insolvency flags, previous names, and a register link. officers and personsWithSignificantControl are added when you turn them on.
There are two dataset views:
- Overview
- Compliance dates
Run statistics are saved in the RUN_STATS record:
- requests, retries and 429s
- company numbers that weren't found
- skipped companies
- billing errors
Officer and PSC dates of birth are only published as month and year, and that is all this actor outputs.
Example output
Trimmed real records (selected fields) (officer/PSC names and birth month/year redacted in this README):
[{"companyNumber": "SA000044","companyName": "TESCO PERSONAL FINANCE LIFE LIMITED","status": "active","companyType": "assurance-company","incorporatedOn": null,"sicCodes": [],"registeredOfficePostcode": "","accountsNextDue": null,"matchedOn": "company_name_includes","url": "https://find-and-update.company-information.service.gov.uk/company/SA000044","source": "Contains public sector information licensed under the Open Government Licence v3.0. Source: Companies House."},{"companyNumber": "BR001709","companyName": "TESCO CAPITAL NO. 1 LIMITED","status": "open","companyType": "uk-establishment","incorporatedOn": "1990-06-12","sicCodes": [],"registeredOfficePostcode": "AL7 1GA","accountsNextDue": null,"matchedOn": "company_name_includes","url": "https://find-and-update.company-information.service.gov.uk/company/BR001709","source": "Contains public sector information licensed under the Open Government Licence v3.0. Source: Companies House."},{"companyNumber": "17429170","companyName": "LIL QUANTUM IDENTITY SYSTEMS LTD","status": "active","companyType": "ltd","incorporatedOn": "2026-09-01","sicCodes": ["62012"],"registeredOfficePostcode": "ME19 4PS","accountsNextDue": "2028-06-01","matchedOn": "company_number","url": "https://find-and-update.company-information.service.gov.uk/company/17429170","source": "Contains public sector information licensed under the Open Government Licence v3.0. Source: Companies House.","officers": [{"name": "[redacted]","role": "director","appointedOn": "2026-09-01","birthMonthYear": "[redacted]"}],"personsWithSignificantControl": [{"name": "[redacted]","kind": "individual-person-with-significant-control","naturesOfControl": ["ownership-of-shares-75-to-100-percent","voting-rights-75-to-100-percent","right-to-appoint-and-remove-directors"],"birthMonthYear": "[redacted]"}]}]
Key fields
| Field | Meaning |
|---|---|
companyNumber | Companies House number |
companyName | Registered name |
status | active, dissolved, liquidation, ... |
incorporatedOn | Incorporation date |
sicCodes | SIC 2007 codes |
registeredOfficePostcode | Registered office postcode |
accountsNextDue | Next accounts due date |
matchedOn | Why the row matched your search |
officers / personsWithSignificantControl | Opt-in; personal data |
source | OGL v3 attribution on every row |
Pricing (pay per event)
| Event | Price |
|---|---|
| Company record | $0.003 |
| Officers/PSC enrichment (once per company, if officers and/or PSCs are on) | $0.001 |
A company with officers and/or PSCs costs $0.004. Unknown company numbers, failed lookups and the no-key information row are free.
How it compares (prices checked on the Apify Store, 17 Oct 2026)
| Company profile | Directors + PSCs | |
|---|---|---|
| This Actor (official API) | $0.003 | +$0.001 per company, optional |
| Most-used Companies House actor on the Store (scraper) | $0.004 | included |
That's 25% less for company profiles. With directors and PSCs turned on, both cost $0.004 per company. Prices can change; check each Actor page.
FAQ
Do I need a key? Yes, a free Companies House API key (see above). Without one, the run returns a single uncharged info row.
Is there a start fee? No. You pay only per company returned, plus the optional enrichment.
Are directors' details included? Only if you turn on officers/PSCs. Then you're responsible for having a lawful basis under UK GDPR.
Errors
- A missing or invalid key, bad dates or invalid company numbers stop the run with a clear message.
- Temporary errors (5xx or network problems) are retried with backoff. A company that still fails is skipped and listed in
RUN_STATS, and the rest of the run continues.
Personal data
You are the controller of any officer or PSC data you choose to collect. You need a lawful basis (usually legitimate interests) and must meet UK GDPR Article 14 duties. Officer and PSC data is personal data under UK GDPR; you are responsible for your own compliance.
Source, attribution & disclaimer
Source: Companies House. Contains public sector information licensed under the Open Government Licence v3.0 (https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/). Every output row carries the attribution "Contains public sector information licensed under the Open Government Licence v3.0. Source: Companies House." in its source field.
No Crown insignia or logos are used.
Not affiliated with or endorsed by Companies House.