# UK Company Insolvency Alerts by RawTrader (`seaf999ield/uk-company-insolvency-alerts`) Actor

New UK company insolvency cases from the official Companies House API: liquidations (CVL, MVL, compulsory), administrations, CVAs and receiverships with SIC code, postcode and practitioner firm. By RawTrader | UK Industry & Bills

- **URL**: https://apify.com/seaf999ield/uk-company-insolvency-alerts.md
- **Developed by:** [RustonRoad](https://apify.com/seaf999ield) (community)
- **Categories:** Business, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## UK Company Insolvency Alerts by RawTrader

**New UK company insolvency cases, straight from the official Companies House API.** Every creditors voluntary liquidation (CVL), members voluntary liquidation (MVL), compulsory liquidation, administration, CVA, moratorium and receivership registered at Companies House, with the company name, number, SIC codes, registered office and the insolvency practitioner firm's office.

Run it for the last 7 days, or schedule it in monitor mode and get only the cases that are new since your last run. No scraping, no browser, no Gazette pages and you don't need your own API key.

| Mode | What you get |
|---|---|
| **recent** | Insolvency cases Companies House registered in the last N days (default 7), newest first |
| **monitor** | Only cases you have not received before. The actor remembers its stream position between runs, so a daily or hourly schedule gives you a clean alert feed |

### What you get for each case

- **Company:** number, name, status (liquidation, administration and so on), company type, incorporation date, jurisdiction
- **Case:** case type and readable label, case group (liquidation, administration, voluntary arrangement, receivership, moratorium), case number, start date and all case dates (wound up on, administration started on, petitioned on and so on), open or closed
- **Practitioner firm:** office address, role and appointment date of the acting insolvency practitioners. Individual practitioner names are left out
- **Location and industry:** registered office address, postcode, postcode area, UK region, SIC codes with descriptions
- **Links:** Companies House company page and insolvency page, plus the time Companies House published the case

Filter by **case type**, **SIC code prefix** (for example 41 for construction, 56 for food and drink) and **registered office postcode prefix** (for example M, LS1, EH). Export to CSV, Excel or JSON, or pull it through the Apify API and webhooks.

### Who uses it

- **Debt collectors and credit controllers:** know the day a customer enters liquidation or administration, so you can file your claim with the practitioner firm in time.
- **Insolvency lawyers and practitioners:** a daily list of new CVLs, compulsory liquidations and administrations by region and industry, for business development and market share tracking.
- **Trade credit suppliers and wholesalers:** check new insolvencies against your ledger and stop shipping on credit to failed accounts.
- **Credit insurers, lenders and factoring firms:** an early warning feed by SIC code and postcode.
- **Asset buyers and turnaround investors:** new administrations and liquidations in your sector, with the practitioner firm to contact.

### Example input

```json
{
  "mode": "recent",
  "daysBack": 7,
  "caseTypes": ["creditors-voluntary-liquidation", "compulsory-liquidation", "in-administration"],
  "postcodePrefixes": ["M", "LS", "B"],
  "maxResults": 200
}
```

Monitor mode, run on a daily schedule:

```json
{
  "mode": "monitor",
  "monitorName": "construction",
  "sicCodes": ["41", "42", "43"],
  "maxResults": 500
}
```

### Example output

```json
{
  "companyNumber": "05341356",
  "companyName": "ALTECH SOFTWARE LIMITED",
  "companyStatus": "liquidation",
  "companyStatusDetail": null,
  "companyType": "ltd",
  "jurisdiction": "england-wales",
  "incorporationDate": "2005-01-25",
  "caseType": "creditors-voluntary-liquidation",
  "caseTypeLabel": "Creditors voluntary liquidation (CVL)",
  "caseGroup": "liquidation",
  "caseNumber": "1",
  "caseStartDate": "2026-10-09",
  "caseStartDateType": "wound-up-on",
  "caseDates": [
    {
      "type": "wound-up-on",
      "date": "2026-10-09"
    }
  ],
  "caseOpen": true,
  "caseNotes": [],
  "insolvencyCasesOnFile": 1,
  "practitionerFirmAddress": "Staverton Court Staverton, Cheltenham, Gloucestershire, GL51 0UX",
  "practitionerOffices": [
    {
      "officeAddress": "Staverton Court Staverton, Cheltenham, Gloucestershire, GL51 0UX",
      "postcode": "GL51 0UX",
      "role": "practitioner",
      "appointedOn": "2026-10-09",
      "ceasedToActOn": null,
      "currentlyActing": true
    }
  ],
  "registeredOfficeAddress": "Staverton Court, Staverton, Cheltenham, GL51 0UX, United Kingdom",
  "locality": "Cheltenham",
  "postcode": "GL51 0UX",
  "postcodeArea": "GL",
  "region": "South West",
  "sicCodes": [
    "62012",
    "62020"
  ],
  "sicDescriptions": [
    "Business and domestic software development",
    "Information technology consultancy activities"
  ],
  "publishedAt": "2026-10-25T12:49:02",
  "streamTimepoint": 3706188,
  "companyUrl": "https://find-and-update.company-information.service.gov.uk/company/05341356",
  "insolvencyUrl": "https://find-and-update.company-information.service.gov.uk/company/05341356/insolvency",
  "source": "Companies House Streaming API and Public Data API",
  "licence": "Open Government Licence v3.0"
}
```

### How it works

1. The actor replays the Companies House **insolvency cases stream** from the right point in time and reads every insolvency case published in your window.
2. It keeps cases whose start date is recent (default within 90 days of publication), so old cases that were only edited are skipped, and drops closed cases unless you ask for them.
3. Each company is enriched from the Companies House **company profile** (name, status, SIC codes, registered office). Calls are throttled to stay under the Companies House limit of 600 requests per 5 minutes and back off on HTTP 429.
4. In monitor mode the stream position and the cases already sent are saved in a named key value store in your account, so the next run starts where the last one stopped.

A **RUN_SUMMARY** record in the default key value store shows the stream coverage (first and last event), counts, filters and requests used.

### Good to know

- **How far back:** Companies House keeps roughly the last 10 to 14 days of the insolvency stream for replay. daysBack values beyond that return what Companies House still holds and the run summary says where coverage starts. For a complete history, run monitor mode on a schedule.
- **Timing:** cases appear when Companies House registers the filing, which is usually 1 to 3 weeks after the liquidation or administration started. caseStartDate is the legal start, publishedAt is when Companies House published it.
- **Scottish cases** often carry a note instead of practitioner details. That is how Companies House holds them.
- **Companies only:** no directors, officers, shareholders or PSC data are requested or returned, and practitioner personal names are removed.

### Pricing

Pay per event: **$0.003 per insolvency case** returned, plus the small Apify actor start event. Filtered out cases cost nothing. Set maxResults to cap the cost of a run.

### Data source and licence

Companies House Streaming API (insolvency cases) and Companies House Public Data API (company profile). Contains public sector information licensed under the **Open Government Licence v3.0**. This actor is not affiliated with Companies House.

### Related actors by RawTrader

- [UK Companies House Scraper](https://apify.com/seaf999ield/uk-companies-house-feed): new company incorporations by SIC code and region, and watchlist alerts
- [UK Public Tenders API](https://apify.com/seaf999ield/uk-public-tenders-feed): Find a Tender and Contracts Finder notices

Questions or a missing field? Open an issue on the actor page.

# Actor input Schema

## `mode` (type: `string`):

'recent' returns insolvency cases registered at Companies House in the last N days. 'monitor' remembers its stream position and only returns cases it has not returned before, so you can schedule it daily or hourly.

## `daysBack` (type: `integer`):

How many days of newly registered cases to return. Companies House replays roughly the last 10 to 14 days of the insolvency stream, so values above 14 are capped by what Companies House still holds (the run summary shows the real coverage). In monitor mode this is only used for the first run.

## `caseTypes` (type: `array`):

Only return these insolvency case types. Leave empty for all types.

## `sicCodes` (type: `array`):

Only companies with a SIC code starting with one of these, e.g. 41 (construction of buildings), 4520 (vehicle repair), 56101 (restaurants). Leave empty for all industries.

## `postcodePrefixes` (type: `array`):

Only companies whose registered office postcode starts with one of these, e.g. M (Manchester area only, not ME), LS1, B, EH. Leave empty for the whole UK.

## `maxCaseAgeDays` (type: `integer`):

Skip cases whose start date (wound up, administration start, CVA start and so on) is more than this many days before Companies House published it. Filters out old cases that were only edited.

## `includeClosedCases` (type: `boolean`):

Also return cases that already have an end, dissolution or conclusion date.

## `monitorName` (type: `string`):

Monitor mode keeps its position and the cases already sent in a named key value store in your account (the name is shown in the run summary). Use a different monitor name for each filter set.

## `maxResults` (type: `integer`):

Maximum insolvency cases to output (and be charged for) per run. 0 means no limit.

## `maxRequests` (type: `integer`):

Cap on Companies House REST calls (one per company, to add name, address and SIC codes). Calls are throttled to stay under 600 per 5 minutes.

## `companiesHouseApiKey` (type: `string`):

Optional: your own Companies House REST API key. If empty, the actor's built in key is used.

## `companiesHouseStreamKey` (type: `string`):

Optional: your own Companies House streaming API key. If empty, the actor's built in key is used.

## Actor input object example

```json
{
  "mode": "recent",
  "daysBack": 7,
  "maxCaseAgeDays": 90,
  "includeClosedCases": false,
  "monitorName": "default",
  "maxResults": 100,
  "maxRequests": 2000
}
```

# Actor output Schema

## `cases` (type: `string`):

No description

## `runSummary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "daysBack": 7,
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("seaf999ield/uk-company-insolvency-alerts").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "daysBack": 7,
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("seaf999ield/uk-company-insolvency-alerts").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "daysBack": 7,
  "maxResults": 100
}' |
apify call seaf999ield/uk-company-insolvency-alerts --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,seaf999ield/uk-company-insolvency-alerts"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/vc3HhT6SZqdVtmcZD/builds/nggblD5p80fztf0af/openapi.json
