UK Disqualified Directors Delta
Pricing
$10.00 / 1,000 new disqualification detecteds
UK Disqualified Directors Delta
Monitors saved searches (name or company) against the UK Companies House Disqualified Officers Register and reports only officers newly matching your search since last check. A delta monitor, not a one-off lookup. Free when nothing new appears. Requires your own free chApiKey.
Pricing
$10.00 / 1,000 new disqualification detecteds
Rating
0.0
(0)
Developer
Radu Furtuna
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
Monitors saved searches against the official UK Companies House Disqualified Officers Register and reports only officers that are newly matching your search since the last check. This is a delta monitor, not a one-off name lookup — other tools on the marketplace let you search the register once and return everything that matches; this one remembers what it already found and only bills you for genuinely new results on each scheduled run.
Free when nothing new appears. Requires your own free API key from Companies House.
How it works
- You give each watch a
query— the same free-text search you'd type into the Companies House disqualified-officers search box: a person's full name, a surname, or a company name. - On every scheduled run the actor re-runs that exact search and compares the officer IDs it finds against a durable record of what it found last time.
- Officers that are new since the last run are delivered as a row (full disqualification detail: type, dates, case identifier, company names) and billed once.
- The very first run for a new watch is a baseline — it records what's currently in your search results but does not bill anything, since there's nothing to compare against yet.
Getting a Companies House API key
Register a free account and application at
developer.company-information.service.gov.uk,
create a REST API key, and paste it into the chApiKey field. Without a key the run exits
immediately — no requests made, nothing charged.
Choosing a good query
Use a narrow query: a person's full name or a full company name. The actor scans up to 300 results
per search per run (the top of Companies House's relevance ranking for your query), which is normally far
more than enough for a specific name or company. A very broad query (a single letter, a very common
surname) can have more matches than that window — in that case the coverage record for that watch will
show windowFull: true, meaning the actor cannot guarantee every new match was seen (it may be ranked
outside the scanned window). This is a real, disclosed limitation of the search API, not a bug: Companies
House ranks search results by relevance to your query text, not by disqualification date, and there is no
official "recently added" endpoint available with a standard API key (only a separate real-time Streaming
API that this actor does not use).
A watch that never sees its whole result set never starts monitoring — on purpose. The very first run
for a new watch (the baseline) is a special case: if windowFull is true on that first run, the actor
refuses to initialize the watch at all. coverage.watches[].reason will read
baseline_incomplete_window_full and the digest will say the baseline was not built. This is deliberate,
not a bug: a baseline that only saw part of the matching set would later treat the records it missed as
"new" on some future run and bill you for officers who were disqualified before you ever started watching.
Every scheduled run honestly retries the baseline from scratch until one run's window is wide enough to
see the whole result set — if your watch appears to be doing nothing run after run, this is why: check
coverage/digest for baseline_incomplete_window_full and narrow the query (a full name instead of a
surname, a full company name instead of a fragment) so the very first run can complete.
Once a watch's baseline has been accepted, a later run whose scan is still windowFull behaves
differently: the watch keeps working normally (it is not re-baselined, and previously-seen officers are
never re-billed), but coverage.watches[].reason for that run will read window_full and the digest will
carry an explicit warning that the scan was incomplete — a genuinely new disqualification could exist in
the unscanned tail of results and simply not be visible to that run. Narrow the query if you see this
repeatedly.
Input
- monitorId — a stable name for this monitor's history. Reuse it on every scheduled run.
- watches — 1-15 objects:
{"watchId": "acme-industries", "query": "Acme Industries Ltd"}. - chApiKey — your Companies House REST API key.
- notifyOn / webhookUrl — optional webhook with a digest of newly delivered disqualifications.
Output
- Dataset — one row per newly matched disqualification:
watchId,officerId,kind(natural|corporate),name,disqualificationTypes,disqualifiedFrom,disqualifiedUntil,caseIdentifier,companyNames,reasonAct/reasonSection,entries(the full disqualification history for that officer),findAndUpdateUrl(link to the public record). The dataset is not purely one-row-per-disqualification: every run also appends exactly one extra row shaped{"_type": "run_summary", "status", "monitorId", "runId", "eventsBilled", "reason", "coverage", ...}as an honest receipt of what that run did — present even on a run that delivered zero disqualification rows, so the dataset is never silently empty and you always have something to check a scheduled run against. If you consume this dataset programmatically, filter out_type == "run_summary"to get only disqualification rows. - Key-value store —
coverage(per-watch status, includingwindowFull,partialReason) anddigest(a short human-readable summary).
Known limitations (read before relying on this for compliance/KYB)
- Not a legal finding or identity confirmation. A name match in the register does not confirm the identity of a specific individual — common names can and do collide, and the register itself does not disambiguate beyond what Companies House publishes.
- First appearance only. The actor catches a disqualified officer the first time it appears in your search results. If that same officer later receives an additional disqualification entry, this is not re-detected or re-billed — this is a discovery monitor for new officers matching your query, not a lifecycle tracker of one already-known officer's ongoing case history.
- Window completeness depends on query breadth — see "Choosing a good query" above.
windowFull: truein the coverage record is an honest signal, not an error. - At-most-once delivery, not exactly-once. In the rare case of a crash between claiming a new result and confirming its delivery, that result may be permanently skipped rather than delivered or billed twice. You will never be charged twice for the same discovery.
- No removal tracking. If an officer's disqualification lapses or is later removed from the search index, this actor does not report that — it only reports new arrivals.
This actor is an informational monitor of the public Companies House Disqualified Officers Register. It is not legal, credit, or compliance advice, and does not replace checking find-and-update.company-information.service.gov.uk directly before any hiring, lending, or governance decision.