Companies House UK Scraper & Monitor avatar

Companies House UK Scraper & Monitor

Pricing

from $1.40 / 1,000 companies

Go to Apify Store
Companies House UK Scraper & Monitor

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

Andrew Boiko

Maintained by Community

Actor 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:

ModeWhat you getBilled as
lookupCompany profile by number or name: status, type, incorporation date, SIC codes, registered office, accounts and confirmation-statement dates, charges and insolvency flagscompany
searchCompanies matching a name search phrasecompany
officersDirectors, secretaries and other officers of a company (active only, or including resigned)officer-psc
pscPersons with significant control: natures of control, notified and ceased datesofficer-psc
filingsFiling history with category, type, date and description, optional category filterofficer-psc
chargesRegistered charges (mortgages): status, dates, persons entitledofficer-psc
new-incorporationsNewly registered companies for a date range, filtered by SIC code, location text and postcode prefix, optionally with officersnew-incorporation (+ officer-psc)
monitorChange events on a watchlist since the previous run: status, name, address, accounts, filings, officers, PSC, chargeschange-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:

EventFreeBronzeSilverGold
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:

FieldTypeDescription
modeselectlookup, search, officers, psc, filings, charges, new-incorporations or monitor. Default lookup.
queriesarrayCompany 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.
includearrayLookup mode: also fetch officers, psc, filings, charges rows for each company.
maxResultsintegerMaximum billable rows for the whole run. Default 25.
apiKeysecretYour own free Companies House REST API key. Optional if the shared pool is available.
includeResignedbooleanOfficers mode: include resigned officers.
filingCategoriesarrayFilings mode: keep only categories such as accounts, confirmation-statement, officers, mortgage, insolvency.
incorporatedFrom, incorporatedTo, daysBacktext / integerNew-incorporations date range. If incorporatedFrom is empty the range is the last daysBack days.
sicCodesarrayNew-incorporations: SIC codes such as 62020.
locationtextNew-incorporations: location text passed to the API, such as London.
postcodePrefixesarrayNew-incorporations: keep only companies whose postcode starts with one of these prefixes, such as EC1, M1.
includeOfficersbooleanNew-incorporations: add officerNames to each row and return officer rows too (one extra API request per company).
watchlist, watch, stateStoreName, resetBaselinemixedMonitor 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)

  1. 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 apiKey field. 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.
  2. Choose a mode. For a company check pick lookup; for a lead list pick new-incorporations; for alerts pick monitor.
  3. Fill the list. Add company numbers or names to queries, or set the date range, SIC codes and postcode prefixes for the feed.
  4. 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.
  5. Export or schedule. Download JSON, CSV or Excel, or add an Apify schedule: a daily new-incorporations run with daysBack 1 gives you a fresh UK new companies list every morning, and a daily monitor run 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.

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

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.