Companies House UK Scraper & Monitor
Pricing
from $1.40 / 1,000 companies
Companies House UK Scraper & Monitor
Companies House scraper using the official API: search UK companies, officers, PSC, charges and filings. Get daily new-incorporation lead lists by SIC code and postcode, monitor watchlist changes, export JSON, CSV or Excel. Pay per result, from $2 per 1,000 companies.
Pricing
from $1.40 / 1,000 companies
Rating
0.0
(0)
Developer
Andrew Boiko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Companies House scraper that reads UK company data straight from the official Companies House REST API: no HTML scraping, nothing that breaks when the website changes. Look up companies by number or name, pull officers, persons with significant control (PSC), filing history and charges, build a daily list of newly incorporated UK companies by SIC code, location or postcode, and monitor a watchlist for changes. Export to JSON, CSV or Excel, call it from the API, or plug it into n8n, Make, Zapier and MCP agents.
What does Companies House UK Scraper & Monitor do?
This Actor wraps the free official Companies House API (api.company-information.service.gov.uk) in eight modes:
| Mode | What you get | Billed as |
|---|---|---|
lookup | Company profile by number or name: status, type, incorporation date, SIC codes, registered office, accounts and confirmation-statement dates, charges and insolvency flags | company |
search | Companies matching a name search phrase | company |
officers | Directors, secretaries and other officers of a company (active only, or including resigned) | officer-psc |
psc | Persons with significant control: natures of control, notified and ceased dates | officer-psc |
filings | Filing history with category, type, date and description, optional category filter | officer-psc |
charges | Registered charges (mortgages): status, dates, persons entitled | officer-psc |
new-incorporations | Newly registered companies for a date range, filtered by SIC code, location text and postcode prefix, optionally with officers | new-incorporation (+ officer-psc) |
monitor | Change events on a watchlist since the previous run: status, name, address, accounts, filings, officers, PSC, charges | change-event |
Every row carries a recordType field (company, officer, psc, filing, charge, incorporation, change) and a link to the public Companies House page, so mixed results stay easy to filter in a spreadsheet.
Why use Companies House UK Scraper & Monitor?
- Official API, not HTML scraping. The most used Companies House scrapers in the Store parse web pages, which is slow and breaks when the site changes. This Actor calls the documented REST API, so the field names and values are the ones the registry publishes.
- Lead feed and monitor in one tool. Most alternatives only look up companies one by one. Here the same Actor also produces a new-incorporations lead list (by SIC code, location and postcode prefix, with officer names on request) and a change monitor for companies you care about.
- Cheap and predictable. Company rows cost $2 per 1,000 on the free plan (down to $1.40 per 1,000 on the Gold plan), new incorporations $0.50 per 1,000. You can cap spend with Apify's maximum total charge setting and the Max results field.
- Rate limits handled for you. Companies House allows 600 requests per 5 minutes per key. The Actor paces requests with a token bucket, backs off on HTTP 429 and rotates through a key pool when one is configured, so a long run finishes instead of failing.
- Built for agents. Array-based input and flat, typed rows work well through the Apify MCP server for KYB and due-diligence assistants.
How much does it cost to scrape Companies House?
You pay per result (pay per event). There is no monthly rental and no charge for empty or failed lookups, duplicates or companies that are not found. Your Apify plan sets the unit price:
| Event | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
company (profile or search row) | $0.0020 | $0.0018 | $0.0016 | $0.0014 |
officer-psc (officer, PSC, filing or charge row) | $0.0010 | $0.0009 | $0.0008 | $0.0007 |
new-incorporation | $0.0005 | $0.00045 | $0.0004 | $0.00035 |
change-event | $0.0050 | $0.0045 | $0.0040 | $0.0035 |
Examples on the Free tier prices: 1,000 company profiles = $2.00. 1,000 officer rows = $1.00. A feed of 1,000 new incorporations = $0.50. 100 change events = $0.50. Apify platform usage (compute) is billed separately by Apify and is small for this HTTP-only Actor because the API is fast; the main cost driver is the API rate limit, roughly 1.8 requests per second per key.
Users on the free Apify plan get up to 25 results per run. The run then stops with the message "Free tier limit reached (25 results). Upgrade to a paid Apify plan for unlimited results." and finishes normally. Set Apify's maxTotalChargeUsd on any run to hard-limit your spend; the Actor stops cleanly when the limit is reached.
Input
The most important fields:
| Field | Type | Description |
|---|---|---|
mode | select | lookup, search, officers, psc, filings, charges, new-incorporations or monitor. Default lookup. |
queries | array | Company numbers (for example 00445790, SC123456) or company names. Numbers are looked up directly, other text is treated as a name. In search mode each entry is a search phrase. |
include | array | Lookup mode: also fetch officers, psc, filings, charges rows for each company. |
maxResults | integer | Maximum billable rows for the whole run. Default 25. |
apiKey | secret | Your own free Companies House REST API key. Optional if the shared pool is available. |
includeResigned | boolean | Officers mode: include resigned officers. |
filingCategories | array | Filings mode: keep only categories such as accounts, confirmation-statement, officers, mortgage, insolvency. |
incorporatedFrom, incorporatedTo, daysBack | text / integer | New-incorporations date range. If incorporatedFrom is empty the range is the last daysBack days. |
sicCodes | array | New-incorporations: SIC codes such as 62020. |
location | text | New-incorporations: location text passed to the API, such as London. |
postcodePrefixes | array | New-incorporations: keep only companies whose postcode starts with one of these prefixes, such as EC1, M1. |
includeOfficers | boolean | New-incorporations: add officerNames to each row and return officer rows too (one extra API request per company). |
watchlist, watch, stateStoreName, resetBaseline | mixed | Monitor mode: company numbers to watch, what to compare (profile, filings, charges, officers, psc), the named key-value store that keeps the previous snapshot, and a switch to start over. |
Example 1: look up companies and their active officers.
{"mode": "lookup","queries": ["00445790", "Marks and Spencer Group"],"include": ["officers"],"maxResults": 100}
Example 2: UK new companies list for yesterday and today, IT consultancies in London postcodes.
{"mode": "new-incorporations","daysBack": 1,"sicCodes": ["62020", "62012"],"postcodePrefixes": ["EC", "WC", "E1"],"includeOfficers": true,"maxResults": 500}
Example 3: monitor a watchlist (first run stores a baseline, later runs report changes).
{"mode": "monitor","watchlist": ["00445790", "00214436"],"watch": ["profile", "filings"],"stateStoreName": "my-watchlist"}
Output example
Illustrative example of a lookup row (values are examples, not a live run):
{"recordType": "company","companyNumber": "00445790","companyName": "EXAMPLE TRADING PLC","status": "active","type": "plc","dateOfCreation": "1947-11-27","sicCodes": ["47110"],"registeredAddress": "Example House, 1 High Street, London, EC1A 1BB","postalCode": "EC1A 1BB","accountsLastMadeUpTo": "2026-02-28","accountsNextDue": "2027-11-30","accountsOverdue": false,"confirmationStatementNextDue": "2027-06-20","hasCharges": true,"hasInsolvencyHistory": false,"url": "https://find-and-update.company-information.service.gov.uk/company/00445790","source": "Companies House (Open Government Licence v3.0)"}
Illustrative change row from the monitor:
{"recordType": "change","companyNumber": "00445790","companyName": "EXAMPLE TRADING PLC","changeType": "officer-resigned","summary": "officer SMITH, Jane is resigned","previous": "active","current": "resigned","detectedAt": "2026-10-19T06:00:00.000Z"}
Officer and PSC rows contain only month and year of birth, as published by the register. A run summary (counts, charged events, estimated maximum cost, warnings) is saved to the OUTPUT record of the default key-value store.
How to use Companies House UK Scraper & Monitor (tutorial)
- Get a free API key (recommended). Register at the Companies House developer hub, create an application and add a REST API key. Paste it into the
apiKeyfield. Your key is stored as a secret and never printed to the log. If the shared key pool is available you can skip this for small runs. - Choose a mode. For a company check pick
lookup; for a lead list picknew-incorporations; for alerts pickmonitor. - Fill the list. Add company numbers or names to
queries, or set the date range, SIC codes and postcode prefixes for the feed. - Set Max results and run. Start with the default 25 to check the output, then raise
maxResults. Open the Overview table in the Output tab. - Export or schedule. Download JSON, CSV or Excel, or add an Apify schedule: a daily
new-incorporationsrun withdaysBack1 gives you a fresh UK new companies list every morning, and a dailymonitorrun reports watchlist changes.
How the monitor works: the first run stores a snapshot of every company in a named key-value store and reports nothing. Each later run compares against that snapshot, reports differences as change rows (one change-event charge each) and updates the snapshot. Use a different stateStoreName for each watchlist. Each watched item costs one API request per company per run, so the default (profile and filings) is the cheapest useful setting. When the same real-world change shows up twice (for example a new accounts filing and the accounts date in the profile), it is reported and billed once.
Run via API
Synchronous run that returns the dataset items:
curl -X POST "https://api.apify.com/v2/acts/tiger19935~companies-house-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode":"lookup","queries":["00445790"],"apiKey":"YOUR_COMPANIES_HOUSE_KEY","maxResults":10}'
Node.js:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('tiger19935/companies-house-scraper').call({mode: 'new-incorporations',daysBack: 1,sicCodes: ['62020'],maxResults: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length, 'new companies');
MCP: add this Actor to the Apify MCP server (https://mcp.apify.com) and an AI agent can call it with the same JSON input, for example for KYB checks ("who are the active directors and PSCs of company 00445790?").
Integrations
- n8n and Make: use the Apify node or module, run the Actor on a schedule and route
recordType: "change"rows to Slack, email or a CRM. - Zapier: trigger a Zap when a run finishes and send new incorporations to your sales tools.
- Google Sheets: use the Apify integration or the dataset CSV URL for a self-updating new companies sheet.
- Webhooks: Apify webhooks call your URL when a run succeeds, so a monitor run can notify your system.
- MCP: expose the Actor to AI agents through the Apify MCP server.
Legal / ethical use
Companies House data is a public register published under the Open Government Licence v3.0 and the Companies House API terms. This Actor reads only public API data with your key (or the shared key pool) and uses no logins or cookies. Officer and PSC records contain personal data of individuals, so GDPR and UK GDPR apply to how you store and use them. If you use names for marketing, PECR and the Data Protection Act also apply: document your lawful basis (for example legitimate interest), honour objections and opt-outs, and do not use the data for unlawful purposes. You are responsible for your own compliance and for following the Companies House API terms of use. This Actor is not affiliated with or endorsed by Companies House.
FAQ and support
Do I need a Companies House API key? Using your own free REST API key is recommended: it gives you your own 600 requests per 5 minutes. If the Actor owner has configured a shared key pool, small runs work without a key; otherwise the Actor stops with a message asking you to paste your own key.
How do I get a list of newly incorporated UK companies?
Use the new-incorporations mode, set daysBack or a date range, add SIC codes, a location and optional postcode prefixes. Each row includes the registered address; switch on includeOfficers to add officer names. Schedule it daily for a fresh UK new companies list.
Is the data legal to use? The register is public and published under the Open Government Licence. Using officer data for marketing is subject to GDPR and PECR: document your lawful basis. See the legal section above.
How fresh is the data? The API serves the live register, so data is as current as Companies House makes it.
How do I export Companies House data to CSV or Excel?
Open the dataset after the run and choose CSV, Excel or JSON, or use the dataset API URL with format=csv.
Why did my run stop at 25 results?
You are on the free Apify plan, which is capped at 25 results per run. Upgrade to a paid plan for unlimited results. A run can also stop at your maxResults value or at your maximum total charge.
Does the monitor report anything on the first run? No. The first run stores a baseline snapshot. Changes are reported from the second run onwards.
Does it cover Northern Ireland, Scotland and overseas companies? It covers whatever the Companies House API returns, which includes England and Wales, Scotland and Northern Ireland registered companies (numbers such as SC123456 or NI123456). Coverage of other registers is not offered.
Something is wrong or a field is missing. Where do I report it? Open an issue in the Issues tab of this Actor with the run link. Replies come within 12 hours.
More tools by the same author
- Prozorro & TED Tenders Scraper - public tenders from Ukraine and the EU
- Billing & Payment Stack Detector - which payment gateway a website uses
- Website Technology Detector - tech stack of any site
- Decision-Maker Contacts - people and roles at a company
Related searches
companies house scraper, companies house api, uk company search, uk new companies list, companies house officers, psc register, companies house monitor, uk company data, kyb uk, new incorporations uk, companies house to csv, uk company lead list.