UK Companies House: Companies, Directors, Owners & Filings
Pricing
from $1.50 / 1,000 company profiles
UK Companies House: Companies, Directors, Owners & Filings
Export UK companies from the official Companies House API: profiles, name and advanced search (SIC code, location, status, incorporation dates), directors/officers, persons with significant control, filing history and charges. Bring your own free API key.
Pricing
from $1.50 / 1,000 company profiles
Rating
0.0
(0)
Developer
CleanFeed Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
UK Companies House Scraper: Companies, Directors, Owners & Filings
Export UK company data straight from the official Companies House Public Data API: company profiles, name search, advanced search by SIC code, location, status, type and incorporation date, plus directors/officers, persons with significant control (beneficial owners), filing history and charges. Clean, flat JSON/CSV with a type column on every row.
No HTML scraping, no proxies, no unofficial endpoints. Every row comes from the same API that Companies House publishes for developers, and the data is Crown copyright public-register information you may reuse, including commercially.
What does this Companies House scraper do?
- Look up companies by number: paste company numbers (
00445790,SC123456,OC301234, leading zeros optional) or Companies House URLs and get the full profile. - Search by name: the same ranking as the register's search box, up to 1,000 results per query, optionally active companies only.
- Advanced search: filter the whole register by SIC code, location, status, company type, name includes/excludes, and incorporation or dissolution dates, up to 10,000 companies per run.
- New-company leads: set "Incorporated within the last N days" and schedule it daily or weekly to get fresh incorporations in your sector and area.
- Related records: officers (directors, secretaries, LLP members), PSCs (owners, with share and voting bands), filing history (with readable descriptions and document links) and charges (lenders, status, dates).
- Enrich or save cheap summaries: upgrade every search hit to a full profile, or keep the cheaper search fields only.
Use cases
- B2B lead generation: new companies in a SIC code and city, with director names.
- KYC / KYB and due diligence: owners, directors, charges and overdue filings in one export.
- CRM enrichment: refresh status, address and accounts dates for a list of company numbers.
- Credit and risk monitoring: overdue accounts, insolvency history and outstanding charges.
- Market research: count and map companies by industry, region and age.
You need a free Companies House API key (2 minutes)
Companies House issues free API keys to anyone. The actor runs on your own key, so you get the full 600 requests per 5 minutes to yourself instead of sharing a quota with every other user.
- Go to developer.company-information.service.gov.uk and sign in or create an account (GOV.UK One Login: email plus a code by text or authenticator app).
- Open Your applications, then Create an application. Give it any name and choose Live.
- On the application, click Create new key and choose REST. Leave the IP and domain restrictions empty, because Apify runs on cloud servers.
- Copy the key value itself (a long code like
1a2b3c4d-..., not the key's name or description) and paste it into the Companies House API key field. Apify stores it encrypted and the actor only ever sends it to Companies House.
What data can you get?
Row type | One row per | Key fields |
|---|---|---|
company | Full company profile | number, name, status, type, incorporation/cessation dates, SIC codes + descriptions, registered office, accounts due/overdue, last accounts type, confirmation statement due/overdue, charges/insolvency/liquidation flags, previous names, and counts (active/resigned officers, PSCs, filings, charges) with active director names when those options are on |
company-summary | Search hit without a profile request | number, name, status, type, dates, address, SIC codes (advanced search) |
officer | Officer appointment | name, first/last name, role, appointed/resigned, occupation, nationality, country of residence, birth month/year, service address, corporate registration details, link to all their appointments |
psc | Person with significant control | individual or corporate, name parts, notified/ceased, natures of control (raw + readable), share and voting bands (25-50%, 50-75%, 75-100%), right to appoint directors, nationality, corporate registration number |
filing | Filing history item | date, category, form type (CS01, AA, AP01...), readable description, pages, document link |
charge | Charge (mortgage) | charge code, status, created/delivered/satisfied dates, persons entitled (lenders), particulars, fixed/floating/negative pledge flags |
Every row also has companyNumber, companyName, url (the official Companies House page), sourceType, source and scrapedAt. The dataset has ready-made views: Companies, Officers, Owners (PSC), Filings, Charges and All fields.
How to use it
- Paste your API key.
- Add company numbers, name searches and/or advanced-search filters. You can combine them in one run; duplicates are removed.
- Tick the related records you want (officers, PSCs, filings, charges).
- Run it, then download as CSV, Excel or JSON, or send it to Google Sheets, a webhook or your CRM.
Example input
{"apiKey": "YOUR_COMPANIES_HOUSE_API_KEY","sicCodes": ["62012"],"location": "Manchester","companyStatus": ["active"],"incorporatedWithinDays": 30,"maxAdvancedResults": 200,"includeOfficers": true,"includePsc": true}
Example output
Illustrative values; real rows include every field listed above.
{"type": "company","companyNumber": "00445790","companyName": "TESCO PLC","companyStatus": "active","companyTypeLabel": "Public limited company","dateOfCreation": "1947-11-27","sicCodes": ["47110"],"sicDescriptions": ["Retail sale in non-specialised stores with food, beverages or tobacco predominating"],"fullAddress": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, AL7 1GA","accountsNextDue": "2027-01-31","accountsOverdue": false,"confirmationStatementNextDue": "2027-03-29","hasCharges": true,"officersActiveCount": 12,"activeDirectorNames": ["SMITH, John Andrew", "..."],"url": "https://find-and-update.company-information.service.gov.uk/company/00445790","sourceType": "company-number"}
{"type": "psc","companyNumber": "12345678","name": "Mr John Andrew Smith","pscKind": "individual-person-with-significant-control","ownershipOfShares": "75-100%","votingRights": "75-100%","rightToAppointDirectors": true,"naturesOfControlLabels": ["Ownership of shares – 75% or more", "..."],"notifiedOn": "2016-04-06","nationality": "British","dateOfBirthYear": 1970}
How much does it cost?
You pay per result, and Apify platform usage is included in the price.
| Event | Price |
|---|---|
| Actor start | $0.005 per run |
Company profile (company row) | $0.0015 ($1.50 per 1,000) |
Company search result without profile (company-summary row) | $0.0007 ($0.70 per 1,000) |
| Officer, PSC, filing or charge row | $0.0004 ($0.40 per 1,000) |
Examples: 1,000 company profiles cost about $1.51. 1,000 profiles with directors and owners (roughly 3 people per company) cost about $2.70. Company numbers that don't exist are free. Set a maximum cost per run in Apify and the actor stops exactly at it.
Speed and rate limits
Companies House allows 600 requests per 5 minutes per key. The actor tracks its own requests in a sliding window (550 by default, adjustable), reads Companies House's rate-limit headers, and, if your key is also used by another app and hits HTTP 429, waits for the window to reset and retries without losing data.
Each company profile is one request. Officers, PSCs, filings and charges each add one request per 100 rows (charges are always checked, because the profile's "has charges" flag is sometimes wrong, e.g. for Tesco PLC). Rough throughput: about 550 profiles in the first 5 minutes, then about 110 per minute. If Companies House raises your key's limit, increase Requests per 5 minutes to match.
Run summary
The default key-value store holds RUN_SUMMARY with every search (hits, total available, companies added), company outcomes (ok, not found, failed with reasons), input errors, output counts per event, and API stats (requests, retries, 429s, time spent waiting for the rate limit).
FAQ
Why do I need my own API key? Companies House gives each key a 600-requests-per-5-minutes quota and asks developers to keep keys private. With your own key you get that whole quota to yourself, and nothing about your searches is shared with other users. Keys are free.
Is this data allowed to be reused commercially? Yes. Companies House places no restrictions on how public-register information is used (beyond not reproducing the Crown insignia), and its own material is under the Open Government Licence v3.0. See the legal note below.
Can I get every company in a SIC code? Advanced search returns up to 10,000 companies per run. Split bigger pulls by location or incorporation-date range.
Does it include emails or phone numbers? No. Companies House doesn't publish them, and this actor doesn't guess them from other websites.
Can I monitor new companies? Yes. Schedule a run with "Incorporated within the last N days" (e.g. 7) and the filters you care about.
Can I get the PDF documents? Each filing row links to its document page. Downloading PDFs in bulk is not included.
More scrapers from cleanfeed-data
All of our Actors use only official, documented public APIs and feeds, and charge only for results.
| Actor | What it does |
|---|---|
| Greenhouse, Lever & Ashby Jobs Scraper | Every open job from company career pages on 8 ATSs, with new-job alerts |
| App Store Reviews Scraper | Apple App Store reviews from many countries, with sentiment and topic tags |
| Bluesky Posts, Profiles & Followers | Bluesky posts, profiles, threads, followers, feeds and lists via the official API |
Legal note
This actor only calls the official Companies House Public Data API with your own API key and stays within its documented rate limits. Contains public sector information licensed under the Open Government Licence v3.0. Companies House places no restrictions on reuse of public-register information, except that you may not reproduce the Crown insignia, and third-party copyright in filed documents remains with its owners. Officer and PSC records contain personal data: you are the controller for how you store and use it, so comply with UK GDPR and the Data Protection Act 2018 (lawful basis, purpose limitation, keeping data up to date) and with direct-marketing rules (PECR) if you contact people. This actor is not affiliated with or endorsed by Companies House.