UK Companies House · Search, Directors & PSC avatar

UK Companies House · Search, Directors & PSC

Pricing

from $2.00 / 1,000 company retrieved — basics

Go to Apify Store
UK Companies House · Search, Directors & PSC

UK Companies House · Search, Directors & PSC

Paste a Companies House advanced-search URL — get every matching company with address, SIC codes, director names, and beneficial owners (PSC). No API key. Official public register.

Pricing

from $2.00 / 1,000 company retrieved — basics

Rating

0.0

(0)

Developer

Corentin Robert

Corentin Robert

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

UK Companies House Scraper — Directors, PSC & SIC Search

Paste a Companies House advanced-search URL and get every matching company as a clean dataset: registered address, SIC sector code, company type and status, director names, and beneficial owners (PSC).

No API key. No account. Public register only.


Who is this for?

You are…Typical goalSuggested setup
B2B supplier or SaaS vendorBuild a prospect list by sector (SIC code), location, or company ageSearch URL mode · Officers level
Outbound SDR / sales teamFind the decision-maker name and approximate DOB before a cold callSearch URL mode · Officers level
Compliance or KYB analystVerify beneficial ownership structure (PSC) and filing statusCompany numbers mode · KYB level
Market researcherMap active businesses in a specific industry or regionSearch URL mode · Basic level
Recruitment agencyFind SME founders to target for exec-level placementsSearch URL mode · Officers level
Legal or accounting firmIdentify companies with overdue accounts or late confirmation statementsSearch URL + Basic; filter by nextAccountsDue

By default, you get: company name, number, registered address, SIC codes, status, type, and incorporation date. Enable Officers to add director names — enable KYB to add PSC beneficial owners.


What it extracts

Basic (all modes)

FieldDescription
companyNumberCompanies House registration number
nameRegistered company name
urlCompanies House profile link
statusActive, Dissolved, etc.
typePrivate limited company, PLC, LLP, etc.
incorporatedOnIncorporation date
registeredAddressRegistered office address
sicCodesSIC sector code(s) with description
nextAccountsDueNext accounts filing deadline
lastAccountsMadeUpToLast accounts period end
nextConfirmationDueConfirmation statement due date

Officers level (+ above)

FieldDescription
directorNamePrimary active director name
directorRoleRole title (Director, Secretary…)
directorDateOfBirthDOB — month and year only (as on CH)
directorNationalityNationality
directorCountryOfResidenceCountry of residence
directorAppointedOnAppointment date
directorCorrespondenceAddressCorrespondence address
officersFull list of all officers

KYB (full) level (+ above)

FieldDescription
pscNameBeneficial owner name
pscDateOfBirthPSC DOB (month/year)
pscNationalityPSC nationality
pscNatureOfControlNature of control (share %, voting rights…)
pscNotifiedOnPSC notification date
pscFull list of all PSC entries

Quick start

  1. Go to Companies House Advanced Search
  2. Apply your filters: company name keywords, SIC code, status (Active), incorporation dates, location…
  3. Copy the URL from your browser's address bar
  4. Open this Actor in Apify Console
  5. Paste the URL in Search URL(s), pick your Enrichment level, set Max companies (0 = all), click Start

Example search URLs

GoalReady-to-use URL
All active electricians (SIC 43210)…sicCodes=43210&status=active
Active plumbers created in Scotland after 2020…sicCodes=43220&status=active&incorporationFromYear=2020
Restaurants in London area (SIC 56101)…companyNameIncludes=restaurant&sicCodes=56101&status=active
IT consultancies incorporated since 2022…sicCodes=62020&status=active&incorporationFromYear=2022

Copy any URL above, paste it into the Search URL(s) field, and press Start. Use maxResults: 0 to collect all matching companies with no cap.


Input

ParameterTypeDefaultDescription
modestringsearchUrlsearchUrl or companyNumbers
searchUrlsstring[]demo URLOne or more Companies House advanced-search URLs
companyNumbersstring[]demo numbersCompany numbers to enrich (8-digit or SC/NI prefix)
enrichmentLevelstringofficersbasic, officers, or kyb
maxResultsinteger25Max per URL; 0 = no cap

JSON example (search URL)

{
"mode": "searchUrl",
"searchUrls": [
"https://find-and-update.company-information.service.gov.uk/advanced-search/get-results?companyNameIncludes=restaurant&sicCodes=56101&status=active"
],
"enrichmentLevel": "officers",
"maxResults": 0
}

JSON example (enrich by number)

{
"mode": "companyNumbers",
"companyNumbers": ["09436888", "SC631278"],
"enrichmentLevel": "kyb"
}

How it works

  1. Parse the search URL filters (company name, SIC, status, dates…)
  2. Paginate Companies House advanced-search (20 results/page, server-side rendered HTML)
  3. For each company: optionally fetch the profile page, officers page, and PSC page
  4. Push normalized records to the Apify dataset

Output sample

{
"companyNumber": "09739023",
"name": "GAS SMART HEATING & PLUMBING SERVICES LIMITED",
"url": "https://find-and-update.company-information.service.gov.uk/company/09739023",
"status": "Active",
"companyType": "Private limited company",
"incorporatedOn": "11 September 2015",
"registeredAddress": "Turnpike House, 1208-1210 London Road, Leigh On Sea, Essex, SS9 2UA",
"addressLine1": "Turnpike House",
"addressLine2": "1208-1210 London Road",
"addressLocality": "Leigh On Sea",
"addressCounty": "Essex",
"addressPostcode": "SS9 2UA",
"addressCountry": null,
"sicCodes": [{ "code": "43220", "description": "Plumbing, heat and air-conditioning installation" }],
"nextAccountsDue": "31 August 2026",
"directorFirstName": "Kerry John",
"directorLastName": "Baldassarra",
"directorRole": "Director",
"directorDateOfBirth": "June 1976",
"directorNationality": "British",
"directorCountryOfResidence": "England",
"directorAppointedOn": "11 September 2015",
"pscFirstName": "Kerry",
"pscLastName": "Baldassarra",
"pscNatureOfControl": "Ownership of shares – More than 25% but not more than 50%",
"pscNotifiedOn": "11 September 2015",
"extractedAt": "2026-06-04T14:00:00.000Z"
}

How much does it cost?

This Actor uses pay-per-event pricing — you pay per company retrieved, not per compute hour. No surprise bills from long runs. Price depends on the enrichment level you select:

Enrichment levelPrice per company1,000 companies
Basic (address, SIC, status)$0.002$2.00
Officers (+ director name, DOB, nationality)$0.004$4.00
KYB (+ PSC beneficial owners)$0.006$6.00

Volume discounts apply automatically on Apify (Bronze / Silver / Gold tiers).

How does that compare?

SourcePrice per company + directorNotes
This Actor (Officers)$0.004Live data, direct from Companies House
Apollo.io$0.05–0.20Varies by plan; data may be stale
Cognism$0.10–0.50KYB add-on priced separately
ZoomInfo$0.20–1.00Enterprise pricing
Buying a list$0.02–0.10Static, often 12–24 months old

Companies House data is public and requires no residential proxies (plain HTTP) — the cost is purely the enrichment logic.


Yes. Companies House is a public UK government register. All data is published under the Open Government Licence, which explicitly allows free reuse for any purpose including commercial use.

This Actor only accesses data that Companies House makes publicly available without authentication. It does not bypass any login wall or access control.

As with any data containing personal information (director names, dates of birth), you should ensure your use complies with UK GDPR and relevant data protection regulations. Directors' DOB is only shown as month/year by Companies House by design.


Important / Limitations

  • Rate limiting: The actor uses a 400 ms delay between enrichment requests per worker. If you scrape tens of thousands of companies at KYB level, runs may take several hours.
  • DOB privacy: Companies House only shows month and year for directors and PSC (not full date) — this is by design.
  • Scottish / NI companies: Company numbers starting with SC or NI are fully supported.
  • HTML parsing: The actor scrapes the public-facing HTML — if Companies House changes their layout, some fields may need selector updates.

Go further: find emails for your director list

This Actor gives you company + director first/last name. To turn that into a cold outreach list, you need professional email addresses.

Full Enrich is the tool we recommend: paste your CSV with firstName, lastName, and companyName (or domain), and it waterfall-searches 15+ providers (Apollo, Hunter, Dropcontact…) to return a verified email in one click.

Typical workflow:

  1. Run this Actor → export CSV
  2. Upload to Full Enrich → get emails
  3. Import to your sequencer (Lemlist, Instantly, Apollo…) → send

Full Enrich offers a free tier (50 credits/month). Paid plans from $29/month for 1,000 enrichments.


Also available: French Companies Scraper

If you need the same enrichment for French companies, check out the companion Actor:

French Companies — Search & SIREN Enrichment — paste a search URL from data.gouv.fr or a SIREN list and get full company records: directors, VAT number, NAF code, financials, and legal form. Same workflow, French register.


Local development

npm install
node src/main.js # uses input.json

Or with Apify CLI:

$apify run # uses storage/key_value_stores/default/INPUT.json

Support

Contact corentin@outreacher.fr for custom scripts, bespoke enrichment, or bulk exports.