Companies House New Incorporations Scraper (UK)
Pricing
$4.00 / 1,000 company returneds
Companies House New Incorporations Scraper (UK)
Newly incorporated UK companies from the official Companies House API: filter by date, SIC code, type, status and location; optional directors.
Pricing
$4.00 / 1,000 company returneds
Rating
0.0
(0)
Developer
Jason
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
Get every company incorporated in the UK in a date window, straight from the official Companies House Public Data API, as clean JSON, CSV or Excel. Filter by incorporation date, SIC code, company type, status, location and name, and optionally attach the directors, secretaries and LLP members of each company. Companies House registers 2,000 to 4,000 new companies on a typical working day, and this Actor turns that feed into a lead list you can schedule daily and pipe into a CRM, spreadsheet or enrichment workflow, without writing a line of API code or worrying about the 600-requests-per-5-minutes rate limit.
You bring your own free Companies House API key (two minutes to create, instructions below); the Actor does the paging, throttling, retrying and normalising.
What you get
One record per company:
id,companyNumber- the Companies House company number (8 digits in England and Wales,OC...for LLPs,SC...for Scotland,NI...for Northern Ireland)companyName,companyStatus(active,dissolved, ...),companyType(ltd,llp,plc,private-limited-guarant-nsc, ...),companySubtype(e.g.community-interest-company)incorporationDateandcessationDate(YYYY-MM-DD)- Registered office:
addressLine1,addressLine2,locality,region,postalCode,country(pluspremiseswhen Companies House returns it) sicCodes- array of UK SIC 2007 codes declared at incorporationurl- public Companies House page for the companyofficers(whenincludeOfficersis on) - array of{ officerId, name, role, appointedOn, resignedOn, nationality, countryOfResidence, occupation, dobMonth, dobYear }, plusofficersFetchFailed(boolean)source(companies-house) andfetchedAt(ISO timestamp)
Input
| Field | Type | Default | Description |
|---|---|---|---|
apiKey | string (secret) | required | Your Companies House REST API key. Free: sign in or register at developer.company-information.service.gov.uk, create a live application, then Create new key (type: REST API key). Stored as an Apify secret. |
daysBack | integer | 1 | Look-back window for the incorporation date when dateFrom is empty. |
dateFrom | YYYY-MM-DD | - | Earliest incorporation date (inclusive). Overrides daysBack. |
dateTo | YYYY-MM-DD | today | Latest incorporation date (inclusive). |
sicCodes | string[] | [] | Only companies with any of these SIC codes, e.g. ["62012", "62020"]. |
companyTypes | string[] | [] | Companies House type codes, e.g. ["ltd", "llp"]. Empty = all types. |
companyStatus | select | active | active, any, dissolved, liquidation, ... |
location | string | - | Registered office location as understood by Companies House (town, postcode area or country). |
nameIncludes / nameExcludes | string | - | Server-side company name contains / does-not-contain filters. |
keywords | string[] | [] | Case-insensitive OR filter on the company name, applied after download. |
includeOfficers | boolean | false | Fetch officers for each company (one extra request per company, throttled). |
maxItems | integer | 500 | Stop after this many companies. You pay per company returned. |
Minimal input (yesterday's incorporations, active companies, no officers):
{ "apiKey": "your-companies-house-key" }
Daily software-company leads with directors:
{"apiKey": "your-companies-house-key","daysBack": 1,"sicCodes": ["62012", "62020", "62090"],"companyTypes": ["ltd"],"includeOfficers": true,"maxItems": 2000}
Output example
Illustrative sample, not a live record. It shows the exact field names, types and nesting the Actor produces, but the company, the address and the officers below are invented placeholders. The company number
99999901is deliberately outside the ranges Companies House allocates (it returns "company not found" on the public register), so nothing here can be mistaken for, or attached to, a real registered company or a real person. Run the Actor with your own free key to see genuine records.
{"id": "99999901","source": "companies-house","url": "https://find-and-update.company-information.service.gov.uk/company/99999901","companyName": "SAMPLE DIGITAL SERVICES LTD","companyNumber": "99999901","companyStatus": "active","companyType": "ltd","companySubtype": null,"incorporationDate": "2026-09-04","cessationDate": null,"premises": null,"addressLine1": "1 Example Street","addressLine2": "Unit 4","locality": "Bristol","region": "Avon","postalCode": "BS1 4DJ","country": "England","sicCodes": ["62012", "62020"],"officers": [{"officerId": "sample-officer-id-0000000001","name": "SAMPLE, Alex Jordan","role": "director","appointedOn": "2026-09-04","resignedOn": null,"nationality": "British","countryOfResidence": "England","occupation": "Software Engineer","dobMonth": 3,"dobYear": 1987},{"officerId": "sample-officer-id-0000000002","name": "SAMPLE SECRETARIES LIMITED","role": "corporate-secretary","appointedOn": "2026-09-04","resignedOn": null,"nationality": null,"countryOfResidence": null,"occupation": null,"dobMonth": null,"dobYear": null}],"officersFetchFailed": false,"fetchedAt": "2026-09-07T08:00:00.000Z"}
officers and officersFetchFailed are only present when includeOfficers is on. officers is always an array (never null), so the column keeps one type in JSON, CSV and Excel exports: it is [] when Companies House has not published an officer list for the company yet, and also [] with officersFetchFailed: true on the rare occasion the officers request still failed after retries (the company record itself is delivered either way, and the failure count is in the run's SUMMARY).
Pricing
Pay per result: US$0.004 per company, i.e. US$4 per 1,000 companies. Officer enrichment is included in that price, and nothing is charged for a run that returns no companies. Apify platform usage (compute, storage) is billed by Apify on top of the per-result price; free-plan accounts are limited by Apify's monthly free credit, so set maxItems to stay inside it.
Companies House itself does not charge for API access.
Data source and licence
- Source: Companies House Public Data API, endpoints advanced company search and company officers. This is the official register maintained by Companies House, an executive agency of the UK government, and the same data shown on the public Find and update company information service.
- Licence: Companies House register data is Crown copyright and is published under the Open Government Licence v3.0 ("all content is available under the Open Government Licence v3.0, except where otherwise stated", see Searching the Companies House register), which permits commercial reuse with attribution.
- API terms: use of the API is governed by the Companies House API key authorisation guide, rate limiting guide and developer guidelines: keep your key secret, stay within 600 requests per 5 minutes, and do not try to bypass the limit (Companies House may ban applications that do). This Actor throttles itself accordingly and sends your key over TLS only to
api.company-information.service.gov.uk. - Personal data: officer records (names, month and year of birth, nationality, occupation) are public register data that Companies House is required by law to publish, but they are still personal data. If you contact the people you find, you are responsible for compliance with UK GDPR and PECR (lawful basis, direct-marketing rules, opt-outs). The Actor deliberately does not export officers' correspondence addresses.
Limits and freshness
- Companies House allows 600 requests per 5 minutes per key. The Actor throttles every request - first tries and retries alike - to about 1.8 per second, and pauses for a full minute if it still receives HTTP 429. The Actor requests up to 5,000 companies per page (it asks for exactly your Max results when that is smaller), so a run without officers usually needs a single request; with
includeOfficerson, budget roughly 10 minutes per 1,000 companies. - New incorporations usually appear in the API on the day of incorporation; SIC codes and registered office details come from the incorporation filing and can be corrected later.
daysBack: 1means companies incorporated since yesterday's date; usedateFrom/dateTofor an exact window, up to 366 days.- The Companies House
company_namefilter is ignored by the API; this Actor uses the workingcompany_name_includes/company_name_excludesparameters, plus its ownkeywordsfilter. - Officers: the first 50 officers per company are returned, which covers newly incorporated companies.
- Paging, still unverified against the live API. The
start_indexpaging below is covered only bytest/unit.test.jsagainst a mocked transport: no key exists on the build machine, so this Actor has never parsed a real HTTP 200 fromapi.company-information.service.gov.uk. After the first keyed live run, record here thatstart_indexpaging and thehitstotal behaved as described, with the run date. - Completeness: the Actor pages with
start_indexuntil it has read every company Companies House reports as matching (thehitscount), and it does not treat a partly filled page as the end of the results. If the API ever stops early - an empty page, or a deep page refused with HTTP 400 - the run still finishes cleanly with what it has, but it logs a loudINCOMPLETE RESULT SETwarning and setstruncated: true(withhits,pagesand a reason) in the run'sSUMMARYrecord, so a short list is never mistaken for a complete one. Narrowing the date window or adding a SIC code / location filter fixes it.
Use cases
- B2B lead generation: every morning, pull yesterday's new companies in your target SIC codes and region and push them to your CRM before competitors call.
- Service providers to startups: accountants, banks, insurers, web agencies and registered-office providers prospect founders while their company is days old.
- Market intelligence and compliance: track incorporation volumes by sector or town, watch for look-alike company names, or monitor new entities linked to known directors via
officerId.
Support
Found a problem or need a field added? Open an issue on the Actor's Issues tab on Apify Store. Replies within 14 days.