Companies House New Incorporations Scraper (UK) avatar

Companies House New Incorporations Scraper (UK)

Pricing

$4.00 / 1,000 company returneds

Go to Apify Store
Companies House New Incorporations Scraper (UK)

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

Jason

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

7 days ago

Last modified

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)
  • incorporationDate and cessationDate (YYYY-MM-DD)
  • Registered office: addressLine1, addressLine2, locality, region, postalCode, country (plus premises when Companies House returns it)
  • sicCodes - array of UK SIC 2007 codes declared at incorporation
  • url - public Companies House page for the company
  • officers (when includeOfficers is on) - array of { officerId, name, role, appointedOn, resignedOn, nationality, countryOfResidence, occupation, dobMonth, dobYear }, plus officersFetchFailed (boolean)
  • source (companies-house) and fetchedAt (ISO timestamp)

Input

FieldTypeDefaultDescription
apiKeystring (secret)requiredYour 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.
daysBackinteger1Look-back window for the incorporation date when dateFrom is empty.
dateFromYYYY-MM-DD-Earliest incorporation date (inclusive). Overrides daysBack.
dateToYYYY-MM-DDtodayLatest incorporation date (inclusive).
sicCodesstring[][]Only companies with any of these SIC codes, e.g. ["62012", "62020"].
companyTypesstring[][]Companies House type codes, e.g. ["ltd", "llp"]. Empty = all types.
companyStatusselectactiveactive, any, dissolved, liquidation, ...
locationstring-Registered office location as understood by Companies House (town, postcode area or country).
nameIncludes / nameExcludesstring-Server-side company name contains / does-not-contain filters.
keywordsstring[][]Case-insensitive OR filter on the company name, applied after download.
includeOfficersbooleanfalseFetch officers for each company (one extra request per company, throttled).
maxItemsinteger500Stop 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 99999901 is 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 includeOfficers on, 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: 1 means companies incorporated since yesterday's date; use dateFrom/dateTo for an exact window, up to 366 days.
  • The Companies House company_name filter is ignored by the API; this Actor uses the working company_name_includes / company_name_excludes parameters, plus its own keywords filter.
  • Officers: the first 50 officers per company are returned, which covers newly incorporated companies.
  • Paging, still unverified against the live API. The start_index paging below is covered only by test/unit.test.js against a mocked transport: no key exists on the build machine, so this Actor has never parsed a real HTTP 200 from api.company-information.service.gov.uk. After the first keyed live run, record here that start_index paging and the hits total behaved as described, with the run date.
  • Completeness: the Actor pages with start_index until it has read every company Companies House reports as matching (the hits count), 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 loud INCOMPLETE RESULT SET warning and sets truncated: true (with hits, pages and a reason) in the run's SUMMARY record, 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.