UK Company Distress Watch: Insolvency Alerts avatar

UK Company Distress Watch: Insolvency Alerts

Pricing

from $3.00 / 1,000 event returneds

Go to Apify Store
UK Company Distress Watch: Insolvency Alerts

UK Company Distress Watch: Insolvency Alerts

UK administrations, liquidations, winding-up petitions and orders and receiverships from The Gazette, one row per event with a high/medium/low risk signal, court, case number and insolvency practitioners. Watch-list mode adds strike-off proposals for your customers. Optional Companies House data.

Pricing

from $3.00 / 1,000 event returneds

Rating

0.0

(0)

Developer

Offera Studio

Offera Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Share

What does UK Company Distress Watch do?

UK Company Distress Watch tells you early when a UK company is going into administration or liquidation, facing a winding-up petition, or being struck off. It reads the official notices published in The Gazette, the UK's official public record, and returns one clean row per event:

  • 🚨 what happened: event type in plain English plus the raw Gazette notice code (e.g. 2450 winding-up petition)
  • 📊 a risk signal (high / medium / low) with a one-line explanation, e.g. "Winding-up petition presented: creditors are seeking compulsory liquidation."
  • 📅 the notice date (petition presented, appointment, resolution, winding-up order …) and the publication date
  • 🏢 company name and number as published in the notice (or found at Companies House by exact name, with a matchConfidence flag)
  • ⚖️ court and case number when given, and the hearing date for petitions
  • 👔 insolvency practitioners: names, firms, roles and IP numbers as published in the notice
  • 🔗 the Gazette notice ID and link
  • ➕ optional Companies House data: status, incorporation date, SIC codes with descriptions, registered office, insolvency history and cases

No API key needed for the Gazette data. Add a free Companies House key for the extra company data and for strike-off and CVA checks on your watch list.

Who is it for?

  • Credit controllers and finance teams: daily alerts when a customer or supplier gets a winding-up petition, appoints administrators or goes into liquidation (watch-list mode + schedule).
  • Suppliers and lenders: stop shipping or lending before an insolvency becomes a bad debt.
  • Insolvency practitioners, debt buyers and asset buyers: daily lead lists of new petitions, orders and appointments, filtered by sector or postcode.
  • B2B sales teams: keep distressed companies out of your pipeline, or spot competitors' customers in trouble.
  • Analysts and journalists: count insolvencies by type, region or sector over time.

Events it covers

Category (input value)Gazette notice codesRisk
Administration (administration)2410 administrators appointed, 2411 administration orderhigh
Creditors' voluntary liquidation (creditors-voluntary-liquidation)2441 resolution, 2442 creditors asked to choose a liquidator, 2443 liquidator appointed, 2447 deemed consenthigh
Members' voluntary liquidation (members-voluntary-liquidation)2431 resolution, 2432 liquidator appointed, 2433 creditors asked to claim (solvent company)low
Winding-up petition (winding-up-petition)2450 petition, 2461 petition dismissedhigh / low
Winding-up order (winding-up-order)2452 winding-up order, 2454 liquidator appointed by the courthigh
Receivership (receivership)2421 administrative receiver, 2423 receiverhigh / medium
Moratorium and CVA (moratorium-cva)2401 moratorium started, 2402 ended; CVAs from Companies House (watch list + key)high / medium
Proposal to strike off (strike-off-proposal)First Gazette notice for strike-off from Companies House (GAZ1 compulsory, GAZ1(A) voluntary; watch list + key)medium
Other notices (other-insolvency-notices, off by default)meetings, dividends, final meetings, releases, public examinations …mostly medium

Why do strike-offs and CVAs need a watch list? The Gazette publishes strike-off proposals only as weekly PDF lists of thousands of companies in its Company Law Supplement, not as data notices, and CVAs are usually not gazetted at all. So the Actor reads them from Companies House records of the companies in your watch list: the filing history (GAZ1, GAZ1(A)) and the insolvency record (CVA start date).

How to use it

  1. Click Start with the default input: the last 7 days, all main event types, 50 events. No key needed.
  2. Optional: set Published from / to (a date like 2026-09-01 or a relative date like 7 days).
  3. Optional: pick Event types, or narrow by Company name contains, Postcode prefixes (M, M1, SW1A …), Sectors or SIC codes (these two need Companies House data).
  4. For a watch list, paste your customers' or suppliers' company numbers (up to 1,000). You then only get events about those companies.
  5. Optional: paste a free Companies House API key (see below) to add company data and to check strike-offs and CVAs.

The Events tab shows one row per event; Risk signals, Insolvency practitioners and Companies House data have their own tabs.

Daily alerts to Slack or email

  1. Save your input as a task, e.g. your customer list as the watch list, with Published from and Published to both set to 1 day (= yesterday, a complete day).
  2. Add a schedule in Apify Console (Schedules → Create new), e.g. every day at 06:30 UK time. Between 21:00 and 07:00 UK time the Actor reads The Gazette directly, so a 06:30 run sees yesterday's notices right up to the end of the day; runs between 07:00 and 21:00 read the nightly cache (see "Limitations").
  3. Add an integration to the task: Slack (post a message when the run succeeds, with the dataset link), email (Apify's "Send email" integration or a webhook), or Zapier / Make / n8n to post each new row to Slack, Teams, email or your CRM.
  4. Use eventId to de-duplicate if your windows overlap.

Runs with no events return one free no-results row, so a quiet day costs nothing but the tiny start fee.

How to get a free Companies House API key (optional)

  1. Go to the Companies House Developer Hub: https://developer.company-information.service.gov.uk
  2. Sign in / Register (free), open Your applications → Create an application (environment Live).
  3. Create new key, type API key (REST). Leave IP restrictions empty: Apify runs don't use a fixed IP.
  4. Paste it into Companies House API key. It is stored encrypted.

Without a key, every row still has the full Gazette data and says enrichmentStatus: "skipped-no-api-key".

Input example

{
"dateFrom": "1 day",
"dateTo": "1 day",
"companyNumbers": ["01234567", "SC123456", "OC123456"],
"categories": ["administration", "creditors-voluntary-liquidation", "winding-up-petition", "winding-up-order", "receivership", "moratorium-cva", "strike-off-proposal"],
"enrichWithCompaniesHouse": true,
"apiKey": "your-companies-house-api-key",
"maxResults": 100
}

Output example

Real output of the default input (no API key) on 1 October 2026, a few of the 50 rows:

publicationDateriskSignaleventLabelcompanyNamecompanyNumbercourt / caseNumber
2026-10-01highAdministrators appointedNEW RIVER YARD LTD13836592High Court of Justice, Business and Property Courts of England and Wales … / CR-2026-007451
2026-10-01highWinding-up petitionCHUNKY. LTD14111794Business & Property Courts in Manchester / CR-2026-MAN-001127
2026-10-01highWinding-up orderJESSE MCQUEEN LIMITED10771791High Court Of Justice / 006037 of 2026
2026-10-01highCreditors' voluntary liquidation: liquidator appointedGET THAT GLOW LIMITED13203606–
2026-10-01lowWinding-up petition dismissedL.S CONNELL LIMITED10459808HIGH COURT OF JUSTICE / CR-2025-LDS-001240

One row of the same run (real data, some empty fields left out; the Companies House fields are empty because the run had no key):

{
"eventId": "gazette-5222535",
"source": "gazette",
"category": "winding-up-petition",
"eventType": "winding-up-petition",
"eventLabel": "Winding-up petition",
"noticeCode": "2450",
"noticeTypeName": "Petitions to wind up (Companies)",
"riskSignal": "high",
"riskExplanation": "Winding-up petition presented: creditors are seeking compulsory liquidation.",
"noticeDate": "2026-07-31",
"noticeDateType": "petition-presented",
"publicationDate": "2026-10-01",
"publishedAt": "2026-10-01T15:00:17",
"hearingDate": "2026-10-13",
"gazetteNoticeId": "5222535",
"gazetteNoticeUrl": "https://www.thegazette.co.uk/notice/5222535",
"companyName": "CHUNKY. LTD",
"companyNumber": "14111794",
"companyNumberSource": "gazette-notice",
"matchConfidence": "exact",
"court": "Business & Property Courts in Manchester",
"caseNumber": "CR-2026-MAN-001127",
"insolvencyPractitioners": [],
"noticeDetail": "full",
"dataSource": "gazette",
"cacheTimestamp": null,
"enrichmentStatus": "skipped-no-api-key",
"companyStatus": null,
"sicCodes": [],
"companiesHouseUrl": "https://find-and-update.company-information.service.gov.uk/company/14111794",
"error": null
}

For appointments, insolvencyPractitioners looks like [{ "name": "…", "firm": "Alvarez & Marsal Europe LLP", "role": "Joint Administrator", "ipNumber": null }]. With a key, rows also get companyStatus, incorporationDate, sicCodes, registeredOfficeAddress, hasInsolvencyHistory and insolvencyCases.

Fields worth knowing:

  • matchConfidence: exact = the company number is printed in the notice; high = the notice had no number and exactly one company on the register has this exact name; medium = several have the name but only one is not dissolved. Without a confident match, companyNumber stays empty.
  • noticeDetail: full = structured notice data; summary = only the feed entry could be read (no court, practitioners or notice date).
  • dataSource and cacheTimestamp: gazette = the run read The Gazette itself (between 21:00 and 07:00 UK time); cache = it read the nightly cache (between 07:00 and 21:00 UK time) and cacheTimestamp says when the cache was last refreshed from The Gazette. Every row has both, info rows included.
  • retractionText: set when a notice retracts an earlier one.
  • Rows with an error code are free info rows: invalid-input, no-results, missing-api-key, invalid-api-key, partial-data, request-budget, outside-hours, cache-unavailable, cache-range, source-unavailable, rate-limited, robots-disallowed, api-error.

How much does it cost?

This Actor uses pay per event:

EventPrice
Event returned (one row per event)$0.003
Info rows, the "no results" row, rows about a source that could not be read, and events skipped by your filtersfree
  • 50 events cost $0.15; a watch list with 3 events a day costs about $0.27 a month.
  • The Gazette and the Companies House API are free.
  • Apify also charges a tiny standard start fee per run.
  • Set Maximum cost per run in the run options and the Actor stops when it is reached.

Data, personal data and your responsibility

  • Not legal or credit advice. The data is as published by The Gazette and Companies House; the risk signal is a rule of thumb per event type. Always read the official notice before acting, and check whether a petition was later dismissed or withdrawn.
  • Company data. Events are about companies. Insolvency practitioners' names, firms, roles and IP numbers are returned as published in the official notice (business contact data). The Actor never requests or returns e-mail addresses, phone numbers or street addresses of people named in notices, and it does not return petitioners, directors or other individuals.
  • The Gazette's licence (Open Government Licence v3.0) does not cover the re-use of personal data: practitioner names are personal data under the UK GDPR, so you need a lawful basis for how you use them, and the direct-marketing rules (PECR) apply if you contact anyone.
  • Contains public sector information licensed under the Open Government Licence v3.0: The Gazette (© Crown copyright) and Companies House. Not affiliated with or endorsed by The Gazette, TSO, The National Archives or Companies House.

Limitations

  • Gentle on The Gazette: day and night. The Gazette's fair use policy asks automated tools to crawl only between 21:00 and 07:00 UK time, to send at most 5 requests per 10 seconds, to follow its robots.txt (currently a 10-second crawl delay) and to identify themselves with a contact. So the Actor works in two modes, chosen by the UK time when the run starts:
    • Between 07:00 and 21:00 UK time it sends no request to The Gazette at all. It reads a nightly cache instead: a small Cloudflare Worker (workers/gazette-cache in the repository) refreshes the last 8 days of corporate insolvency notices every night at 22:30 UK time, and the Actor reads them from there in one request (the address is the GAZETTE_CACHE_URL setting). The default run finishes in seconds. The cache covers the last 8 days (today and the 7 days before) and is as old as its last refresh, so notices published since 22:30 last night appear after the next refresh: cacheTimestamp on every row tells you. For older dates, or the very latest notices, run the Actor between 21:00 and 07:00.
    • If the cache cannot be read during the day, you get one free cache-unavailable row that says to try again after 21:00 UK time. The Actor does not fall back to The Gazette.
    • Between 21:00 and 07:00 UK time it may read The Gazette directly: one request at a time, at least 10 s apart (so well inside 5 per 10 s), robots.txt read first and every path checked against it, Retry-After honoured, a User-Agent with a contact, at most 100 requests per run and no request after 07:00 (a longer run stops with a free outside-hours row and the rows read so far). The default run needs 3 requests (~25 seconds). If a run reaches the request limit, you get the rows read so far plus a free request-budget row.
  • Strike-off proposals and CVAs only for watch-list companies with a Companies House key (see "Events it covers").
  • SIC and sector filters need Companies House data (an API key): notices don't carry SIC codes. Without a key, the run stops with a free row instead of returning unfiltered events.
  • Postcode prefixes use the Companies House registered office when available, otherwise the postcode linked in the notice. Rows without any postcode are left out when this filter is set.
  • Notice data varies: insolvency practitioners and firms are only as complete as the notice placer entered them. Some notices name the practitioners only in free text; then the list can be empty.
  • One notice can lead to several rows (e.g. a resolution and a liquidator appointment for the same company on the same day). Use companyNumber to group them.
  • Up to 366 days, 10,000 events and 1,000 watch-list companies per run. Companies House allows 600 requests per 5 minutes per key; the Actor stays below that, so a 1,000-company watch list with Companies House data and strike-off checks (up to 3 requests per company) takes about 25 minutes.

FAQ

Is this data official?

Yes. The Gazette is the UK's official public record, and the Actor uses its documented notice feed and SPARQL endpoint (no HTML scraping). Companies House data comes from the official Public Data API.

Why does my run say cache-unavailable or cache-range?

Between 07:00 and 21:00 UK time the Actor reads the nightly cache and never The Gazette itself. cache-unavailable means the cache could not be read; cache-range means all the dates you asked for are older than the cache's 8 days. Run it again after 21:00 UK time (for example from a schedule at 06:30 or 22:00) and it reads The Gazette directly.

Why are strike-offs not in my results?

They need a watch list and a Companies House API key (see above). The run's status message says so when they were skipped.

Why does a row have no company number?

The notice didn't print one and no single company on the register has exactly that name. Add a Companies House key to enable the name lookup, or check the Gazette link.

Can I get directors' or creditors' contact details?

No. The Actor returns company data and the office holders named in the notice, nothing else.

More tools from the same developer

All pay-per-result, no proxy or login needed, built and maintained by the same developer:

Website audits

Company data and compliance

Media and AI

Market signals

Feedback

Missing an event type or a filter you need? Open an issue on the Issues tab.