UK Companies House Feed: New Companies, Directors, Insolvency
Pricing
from $1.00 / 1,000 new company returneds
UK Companies House Feed: New Companies, Directors, Insolvency
New UK companies filtered by SIC code and region, plus director appointments and resignations, insolvency cases and overdue accounts, straight from the official Companies House APIs with your own free key. Built for scheduled runs.
Pricing
from $1.00 / 1,000 new company returneds
Rating
0.0
(0)
Developer
Todd Handler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
UK Companies House Feed: new companies by SIC code and region, plus director, insolvency and overdue-accounts events
Get every new UK company in the industries and regions you care about, plus director appointments and resignations, insolvency cases and overdue accounts, straight from the official Companies House APIs. Schedule it and each run returns only what is new since the last one.
- Official sources only. The Companies House REST API for new incorporations, the Companies House Streaming API for changes. No website scraping, so nothing breaks when a page changes.
- Your own free key. Companies House keys are free. You keep full control of your quota, and your data never passes through a shared key.
- Filter the way sales teams think. SIC codes or SIC prefixes (
62= all software), UK regions, postcode areas or districts, company types, a watchlist of company numbers. - Built for schedules. New companies are returned once, even when Companies House indexes them a day late. Change feeds resume from the exact point the last run stopped.
- Personal data kept to what you need. Officer output defaults to name, role and dates. See "UK GDPR and lawful use" below.
- Pay per result. From $1.50 per 1,000 new companies, no subscription.
Who uses it
- B2B sales and lead-gen teams reaching newly formed companies in their target sectors and regions
- Accountants, banks, insurers, web and IT agencies who sell to new businesses in their first weeks
- Credit, risk and compliance teams watching customers and suppliers for insolvency, director churn or overdue accounts
- Researchers and journalists tracking business formation by industry and place
- AI agents and automations that need a clean, structured UK company event feed (n8n, Make, Zapier, Clay)
Step 1: get your free Companies House keys (5 minutes)
- Create a free account at developer.company-information.service.gov.uk and choose "Create an application" (choose the live environment).
- Add a REST key. Paste it into Companies House REST API key. Needed for new incorporations.
- For the change feeds, add a Streaming key to the same or a second application and paste it into Companies House Streaming API key. Companies House treats them as different key types; a REST key does not work on the streams.
- Leave the key's "restricted IPs" and "JavaScript domains" empty. Apify runs come from changing IP addresses, so an IP-restricted key is rejected.
Keys are stored encrypted by Apify (secret input fields) and are only sent to Companies House.
Quick start
New software companies in London and the North West, every morning
{"apiKey": "YOUR_REST_KEY","sicCodes": ["62"],"regions": ["london", "north-west"]}
Schedule it daily. The first run returns companies incorporated today and in the 3 days before. Every later run returns only companies it has not returned before.
Everything that changes at a list of customers
{"streamKey": "YOUR_STREAMING_KEY","includeIncorporations": false,"includeOfficerChanges": true,"includeInsolvency": true,"includeOverdue": true,"companyNumbers": ["00445790", "SC123456"]}
Schedule it hourly or daily. See "How the change feeds work" for what the first run does.
Feeds
| Feed | Event types | Source | Key |
|---|---|---|---|
| New incorporations | incorporation | REST advanced company search | REST |
| Directors and officers | officer_appointed, officer_resigned, optional officer_updated | Officers stream | Streaming |
| Insolvency | insolvency (new case or case update, with dates and practitioners) | Insolvency cases stream | Streaming |
| Overdue filings | accounts_overdue, confirmation_statement_overdue | Company profile stream, or the REST API for a watchlist | Streaming (REST for watchlists) |
Filters
| Input | Applies to | Notes |
|---|---|---|
| SIC codes | all feeds | Full 5-digit codes are sent to Companies House's own search. Shorter prefixes (62, 561) are matched by the Actor. |
| Regions | all feeds | The 12 UK regions, matched by registered office postcode area. Areas that straddle a border (for example KT, DA, CH, SY) count for every region they touch. |
| Postcode prefixes | all feeds | Area (M), district (M1, SW1A) or sector (LS1 4). Combined with Regions as either-or. |
| Location text | incorporations | Free text matched by Companies House against the registered office address. |
| Company status, Company types | incorporations | Status defaults to active. Types use Companies House codes such as ltd, llp, plc. |
| Watchlist of company numbers | change feeds | Only these companies. Needs no extra lookups. |
How SIC and region filters work on officer and insolvency events. Those stream events carry no company details, so the Actor looks up each company once with your REST key (cached for 30 days, capped by Max company lookups per run). Companies House allows 600 REST calls per 5 minutes per key, and the Actor stays under that. If a run needs more lookups than the cap, it stops reading at that point and the next run continues from there, so nothing is skipped. Overdue events carry company details already and need no lookups.
Volume to expect. Companies House publishes about 100,000 officer events a day, and roughly 40% of them are appointments or resignations that need a lookup when you filter by SIC or region. That is around 40,000 lookups a day nationally, more than one key gets through comfortably. For filtered officer events, schedule the Actor hourly (each run then needs a few hundred to about 1,500 lookups) or use a watchlist. Scottish and Northern Irish companies are ruled in or out by their company number (SC, NI and so on) without a lookup.
How the change feeds work
The Streaming API is a live feed of every change Companies House publishes. Each event has a position (a timepoint). The Actor saves the last position it processed, and the next run asks Companies House to replay from there.
- First run with given filters: there is no saved position yet, so it listens to live events for about a minute and saves its place. Your schedule then picks up everything from that moment on.
- Later runs: read from the saved position until they catch up with the present (or hit Max seconds per stream), then save.
- Gaps: Companies House replays a limited window (at least 10 days when tested in October 2026). If runs are further apart than that, the run says so in the summary (
gap) and restarts from live. Daily or more frequent schedules are safe. - Once only: a resignation, appointment or insolvency update is returned once. An overdue flag is returned once and again only after the company files and later lapses.
Overdue filings. Companies House stream records carry due dates but no overdue flag, and a company that silently misses a deadline publishes nothing. So the Actor remembers the due dates of every company inside your filters that it sees on the stream (up to 60,000 companies) and checks them again on every run, flagging each one the day after its deadline passes. Coverage therefore builds up from your first run: a company enters the list the first time its record changes. For an exact check of specific companies, add them as a watchlist and give your REST key: the Actor then reads each company's profile directly, where Companies House states whether it is overdue.
- Two connections per key: Companies House allows two open stream connections per key, so the Actor reads its streams one after another. Do not run two tasks with the same Streaming key at the same time.
Officer events. Companies House republishes an officer record whenever anything on it changes. The Actor reports officer_appointed when the appointment date is within Appointment counts as new within days (default 30), officer_resigned when a resignation date is present, and skips other record edits unless Also report other officer record edits is on.
Output
One dataset, one schema for every event type. Example rows:
{"event_type": "incorporation","event_id": "6f1c3b0a9d2e4c7f8a1b","event_date": "2026-10-20","company_number": "16000001","company_name": "ALPHA CODE LTD","company_status": "active","company_type": "ltd","date_of_creation": "2026-10-20","sic_codes": ["62012"],"address_text": "1 Example Street, London, EC2A 4NE, England","postcode": "EC2A 4NE","postcode_area": "EC","regions": ["london"],"registered_office": {"address_line_1": "1 Example Street", "locality": "London", "postal_code": "EC2A 4NE", "country": "England"},"officer": null,"insolvency": null,"company_url": "https://find-and-update.company-information.service.gov.uk/company/16000001","source": "rest:advanced-search","fetched_at": "2026-10-21T07:00:02Z"}
{"event_type": "officer_resigned","event_date": "2026-10-19","company_number": "16000002","company_name": "MANCUNIAN APPS LTD","officer": {"name": "EXAMPLE, Eve", "officer_role": "director", "appointed_on": "2021-01-01", "resigned_on": "2026-10-19", "is_corporate": false},"source": "stream:officers","published_at": "2026-10-20T09:14:51"}
insolvency holds status and cases (number, type such as creditors-voluntary-liquidation, dated milestones, and practitioners with appointment dates). accounts and confirmation_statement hold next_due, next_made_up_to and overdue. Fields a feed does not have are null. The run's SUMMARY record shows, per feed, events read, rows returned, why reading stopped and how many events were skipped and why.
Pricing
Pay per event, no monthly fee:
| Event | Price |
|---|---|
| New company returned | $0.0015 ($1.50 per 1,000) |
| Change event returned (officer, insolvency, overdue) | $0.0025 ($2.50 per 1,000) |
| Feed checked (once per feed per run) | $0.002 |
Higher Apify plans get lower per-row prices. For example, software companies (SIC 62) in London and the North West came to about 130 a day in October 2026, so a daily run costs about $0.20. Set a maximum charge per run in Apify and the Actor stops cleanly at it; anything not delivered comes back on the next run.
Runs with no key return a free sample of 10 new companies so you can see the output.
UK GDPR and lawful use
Company data is not personal data, but officer data is: names of directors and secretaries, and at the detail levels you choose, nationality, occupation, country of residence, month and year of birth and correspondence address. Companies House publishes it on the public register, and being public does not take it outside UK GDPR. This is general information, not legal advice.
What this Actor does
- Outputs only fields Companies House itself publishes. Companies House never publishes usual residential addresses or full dates of birth, and the Actor drops the day of birth even if it appears.
- Defaults to the minimum: name, role, appointment and resignation dates. Nationality, occupation, residence, birth month and year and correspondence address are only output when you choose a higher Officer detail level.
- Adds nothing from other sources. No emails, phone numbers or social profiles are looked up or inferred.
- Keeps no officer data between runs beyond short event fingerprints used to avoid returning the same event twice.
What you are responsible for as the controller of the data you collect
- A lawful basis. For most B2B uses this is legitimate interests. Write a short legitimate interests assessment for your use, and only collect the detail level it needs.
- Transparency. If you contact or profile individuals, UK GDPR Article 14 generally requires telling them where you got their data, within a month of obtaining it.
- Rights and retention. Honour objections (always, for direct marketing) and erasure requests, keep data accurate (the register changes, so refresh it), and delete it when you no longer need it.
- Direct marketing rules (PECR). Marketing emails and texts to individuals, including sole traders and partnerships, generally need prior consent. Emails to limited companies' corporate addresses do not, but must offer an opt-out. Screen calls against the TPS and CTPS. A correspondence address on the register is not consent to marketing.
- Licence. Companies House data is reusable under the Open Government Licence v3.0, which does not cover personal data, so officer data reuse rests on data protection law, not on the licence. Attribute as: "Contains public sector information licensed under the Open Government Licence v3.0. Source: Companies House."
- Never use the data for fraud, identity theft, harassment or unlawful discrimination, and do not republish officer data in bulk without a lawful basis.
See the ICO's guidance on legitimate interests and direct marketing.
For AI agents
- Call with
includeIncorporationsand filters for new-company leads; withcompanyNumbersand the change feeds to monitor a portfolio. - Each row has a stable
event_idfor de-duplication and acompany_urlfor a human to check. - Read
SUMMARYfrom the default key-value store to see whether a feed stopped early (stopReason) and needs another run.
Limits and good practice
- Rate limits are Companies House's: 600 REST calls per 5 minutes per key, two stream connections per key. The Actor stays inside both. If you run other tools on the same key, lower Max company lookups per run.
- Indexing delay. Companies House's search can show a new company a day or two after registration. Keep Days to look back at 3 or more with Only companies not returned before on, and late arrivals still come through once.
- Very broad runs. With no filters, the officers stream carries about 100,000 events a day (about 40,000 appointments and resignations). Use filters or a watchlist unless you want the whole register.
- Changing filters starts a fresh baseline (a new saved state). Use State key to control this.
Support
Open an issue on the Actor's Issues tab with the run ID and what you expected. Feature requests welcome, for example PSC (persons with significant control) or charges feeds.