Uk Companies House Scraper avatar

Uk Companies House Scraper

Pricing

from $1.00 / 1,000 companies house companies

Go to Apify Store
Uk Companies House Scraper

Uk Companies House Scraper

Pricing

from $1.00 / 1,000 companies house companies

Rating

0.0

(0)

Developer

Smorgi Apps

Smorgi Apps

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

Share

UK Companies House Scraper — Pay Per Result

Fetch UK company profiles (and optional officers) through the official Companies House REST API (api.company-information.service.gov.uk). Pass company numbers directly or search by name.

Store search keywords: Companies House scraper · UK company registry · company officers · company number lookup · Companies House API


Why this Actor

NeedWhat you get
Known company numbersBatch 09446231, SC123456, etc. in one run
Name discoveryOptional searchQuery via /search/companies
Due diligenceRegistered office, SIC codes, status, accounts/confirmation dates
People dataOptional directors & secretaries from /officers
Failures that shouldn't bill404 / invalid numbers → not charged

Requires a free Companies House API key (register here).


API endpoints used

MethodEndpointPurpose
GET/company/{company_number}Full company profile
GET/company/{company_number}/officersDirectors, secretaries (when includeOfficers)
GET/search/companies?q=…Name search (when searchQuery set)

Base URL: https://api.company-information.service.gov.uk

Authentication: HTTP Basic — API key as username, empty password.


Input

{
"companyNumbers": ["09446231"],
"searchQuery": "monzo",
"includeOfficers": true,
"maxItems": 25,
"apiKey": "<YOUR_COMPANIES_HOUSE_API_KEY>",
"requestDelayMs": 500
}

Provide at least one of companyNumbers or searchQuery. Direct numbers are fetched first; search results fill remaining slots up to maxItems.


Output fields

FieldDescription
companyNumberRegistration number
companyNameLegal name
companyStatuse.g. active, dissolved
companyTypee.g. ltd
dateOfCreationIncorporation date
registeredOfficeAddressStructured address object
sicCodesStandard Industrial Classification codes
previousCompanyNamesFormer names with dates
accountsNextDue / accountsLastMadeUpToAccounts summary
confirmationStatementNextDue / confirmationStatementLastMadeUpToCS summary
hasCharges / hasInsolvencyHistoryFlags from profile
officersArray when includeOfficers is true
profileUrlPublic Companies House web profile
sourcedirect or search
scrapedAtISO timestamp

Pricing

Pay-per-event for each delivered company row (apify-default-dataset-item).

  • 404 companies, invalid numbers, and empty search pages → not charged
  • Turn includeOfficers off for profile-only pulls (one fewer API call per company)

~$0.50 / 1,000 companies on the Store pricing tab (HTTP-only; failures free).


Local development

npm install
npm run test:parser # fixture tests (no API key)
COMPANIES_HOUSE_API_KEY=xxx npm run dry-run # live run (skipped if env unset)

Companies House rate limit: ~600 requests per 5 minutes. Increase requestDelayMs for large batches.


Limitations (honest)

  • Requires your own free API key (not shared across users on Apify — each run uses the key you provide)
  • Search returns matching companies only; it does not fuzzy-match dissolved/off-register edge cases perfectly
  • Officers list is paginated on the API; this Actor fetches the first page (up to API default page size)
  • Scottish (SC) and other prefixed numbers supported; invalid formats are skipped

Issues / feature requests: use the Actor Issues tab.