UK Company Change Monitor - Companies House watchlist avatar

UK Company Change Monitor - Companies House watchlist

Pricing

from $0.02 / actor start

Go to Apify Store
UK Company Change Monitor - Companies House watchlist

UK Company Change Monitor - Companies House watchlist

Watch a list of UK company numbers and get only what changed at Companies House each run - status, name, registered office, accounts, charges, officers, filings - with optional webhook POST.

Pricing

from $0.02 / actor start

Rating

0.0

(0)

Developer

FJ Banks

FJ Banks

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

7 hours ago

Last modified

Share

UK Company Change Monitor — Companies House watchlist

Give it a list of UK company numbers — your customers, suppliers, competitors, prospects, portfolio companies — and on every scheduled run it checks Companies House and emits only what changed since the last run:

  • status — e.g. active → in administration / liquidation / dissolved
  • name change
  • registered office move
  • accounts filed, or newly overdue
  • charges (mortgages) added, removed or satisfied
  • officers appointed or resigned
  • any new filing at all (category + description)

Optional webhook POST to Slack, Zapier, Make or n8n.

Who it's for

BuyerUse
Credit control / finance teamsA customer entering administration, or accounts going overdue — before it's a bad debt
Compliance / KYC / onboardingKeep KYC current: directors, PSCs, addresses, status, without manual re-checks
Account managers / CSA client changed name, moved, or took on new debt — a reason to call
Competitive intelligenceA rival raising a charge (funding), changing directors, or filing accounts
M&A / corp dev / search fundsSignals on a target list — new charges, director exits, filings
Suppliers on credit termsEarly warning on the businesses you invoice

Quick start

  1. Free Companies House key: developer.company-information.service.gov.uk → register an application → create a REST key (Live). Paste into apiKey.
  2. Put your company numbers in companyNumbers (8 chars each, e.g. 12345678 or SC123456).
  3. Choose watch — which change types you care about (default: all).
  4. Run once (it just records the baseline). Set emitOnFirstSight: true on that first run if you want a now_watching row per company to confirm the list.
  5. Schedule it — daily is typical; more often for a hot watchlist.

Input

FieldTypeDefaultDescription
apiKeystring (secret)Required. Companies House REST key (Live).
companyNumbersstring[]Required. Company numbers to watch. Spaces ignored, case-insensitive.
watchstring[]allAny of status, name, address, accounts, charges, officers, filings.
emitOnFirstSightbooleanfalseEmit a now_watching record the first time each company is seen.
webhookUrlstringPOST {source, count, changes[]} each run.
maxCompaniesinteger 1–2000500Cap per run. CH allows 600 requests / 5 min; this actor makes 2–4 per company.

Output

One dataset item per detected change:

change_typeExtra fields
now_watchingcompany_status (first-sight only)
status_changedfrom, to
name_changedfrom, to
address_changedfrom, to
accounts_filedmade_up_to
accounts_overduenext_due
charge_addedcount, charge_ids
charge_removedcount
charge_satisfiedoutstanding
officer_appointedofficers (`"NAME
officer_resignedofficers
new_filingcategory, description, date

Every item also has company_number, company_name, detected_at.

Webhook payload

POST <webhookUrl>
{ "source": "uk-company-change-monitor", "count": 3, "changes": [ /* dataset items */ ] }

How it works

For each company the actor builds a small snapshot (the watched fields from the profile, charges, officers and latest-filing endpoints), stores it in a named key-value store (uk-company-change-state, one record per company), and on the next run diffs the new snapshot against the stored one. Requests per company: 1 (profile) + 1 each for charges / officers / filings that are in watch — so 2–4. A 429 stops the run cleanly and it resumes next time; companies that error (e.g. an invalid number) are listed in RUN_SUMMARY.problems and skipped, not fatal.

Local development

npm install
npm test
echo '{"apiKey":"YOUR_KEY","companyNumbers":["00000006"],"emitOnFirstSight":true}' > storage/key_value_stores/default/INPUT.json
npm start

Deploy

$npm i -g apify-cli && apify login && apify push

Data source & licensing

Data from the Companies House Public Data API (api.company-information.service.gov.uk), public register data under the Open Government Licence v3.0. Requires your own free API key.

Part of a small suite of UK public-register monitors, same publisher, same pattern (incremental, no duplicates, webhook-ready):


Changelog

  • 0.1 — Initial release: watchlist snapshots + diff across status, name, address, accounts, charges, officers and filings; per-company state; webhook; rate-limit-safe resume.