# UK Insolvency Monitor 🇬🇧 (Gazette winding-up alerts) (`tagadanar/uk-gazette-insolvency`) Actor

Every new UK company winding-up petition, administration, liquidation and personal bankruptcy order the moment it is gazetted, with Companies House numbers and a Slack digest of only-new notices. Official Gazette data, no API key, misses cost nothing.

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

## Pricing

from $3.50 / 1,000 notice founds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## UK Insolvency Monitor (The Gazette)

Track every new UK company failure the day it becomes official. This actor reads
the insolvency notices published in The Gazette, the UK government's official
public record, and returns each one as a clean row with the Companies House
number, registered address and the acting insolvency practitioner. Point it at a
watchlist or pull the whole feed, run it on a schedule, and get a Slack digest of
only the notices that are new since last time.

No API key. You only pay for notices you actually get back.

### Who uses this

- **Insolvency practitioners and turnaround firms** watching for winding-up
  petitions to reach directors before the hearing.
- **Credit control and risk teams** screening customers and suppliers against
  fresh administrations, liquidations and bankruptcy orders.
- **Debt collectors and litigation funders** catching petitions early.
- **Business and asset buyers** looking for distressed companies.
- **Data teams** who want the Gazette insolvency feed as tidy JSON, keyed on the
  Companies House number so it joins straight to their own records.

### What you get

One record per notice:

| Field | Description |
| --- | --- |
| `category` | Notice type in plain words (e.g. "Petitions to Wind Up (Companies)") |
| `subjectName` | The company or person the notice concerns |
| `companyNumber` | Companies House number, so you can join to your own data |
| `companyName` | Registered company name |
| `companyAddress` / `companyPostcode` | Registered address |
| `personName` | Named individual, for personal bankruptcy notices |
| `publicationDate` | When the notice was gazetted |
| `insolvencyDate` | Date of the petition, order or appointment |
| `courtOrHearing` | Court or hearing details, where stated |
| `practitionerFirm` / `practitionerAddress` | Acting practitioner or petitioner's firm |
| `edition` | London, Edinburgh or Belfast |
| `summary` | Plain-text snippet of the notice |
| `noticeUrl` | Link to the official notice |
| `isNew` | In monitor mode, whether the notice is new since the last run |

### Notice types you can track

Company winding-up petitions and orders, administrations, voluntary winding-up
resolutions, liquidator appointments, notices to creditors, meetings of
creditors, final meetings, dividend notices, petition dismissals, personal
bankruptcy orders and trustee appointments. Pick any combination.

### Input examples

Watch all new company winding-up petitions and administrations from the last week:

```json
{
  "noticeCategories": ["company-winding-up-petitions", "administrations"],
  "sinceDays": 7,
  "maxNotices": 500
}
````

Scheduled monitor with a Slack alert on new liquidations that mention "construction":

```json
{
  "noticeCategories": ["liquidator-appointments", "resolutions-for-winding-up"],
  "keywords": ["construction"],
  "sinceDays": 2,
  "monitorMode": true,
  "webhookUrl": "https://hooks.slack.com/services/XXX/YYY/ZZZ"
}
```

Track personal bankruptcy orders for a specific name:

```json
{
  "noticeCategories": ["personal-bankruptcy-orders"],
  "keywords": ["Roberts"],
  "sinceDays": 30
}
```

### How monitor mode works

Turn on `monitorMode` and schedule the actor (daily is typical). The first run
records what is already published as a baseline. Every run after that returns,
and charges for, only notices that are new since the previous run, and posts them
to your webhook if you set one. That way a daily run costs you a handful of new
notices, not the whole feed each time.

### Pricing

Pay per event, no subscription. Users on higher Apify plans get automatic discounts.

| Event | Price | When |
|---|---|---|
| Run started | **$0.005** | Flat, once per run |
| Notice found | **$0.005** | Per new/matched insolvency notice returned with its data |
| Digest sent | **$0.03** | Monitor mode only, per Slack/webhook digest actually posted |

A thousand notices costs $5, platform usage included. In monitor mode the persistent seen-set means you are never billed twice for the same notice, so a quiet scheduled run only pays the small run fee.

### FAQ

**Where does the data come from?** The Gazette (thegazette.co.uk), the official
public record of record for the UK, published by The Stationery Office. These are
statutory notices, public by law.

**Do I need an account or API key?** No. Nothing to set up.

**How fresh is it?** Notices appear here as soon as they are gazetted, which is
the same moment they become the official public record.

**Can I get the Companies House number?** Yes, whenever the notice names a
registered company. That is what makes this easy to join to Pappers, Companies
House data or your own CRM.

**Does it cover Scotland and Northern Ireland?** Yes. The Gazette publishes
London, Edinburgh and Belfast editions, and the `edition` field tells you which.

**What about personal insolvency?** Bankruptcy orders and trustee appointments
are covered, with the individual's name and, where published, address.

**Can I search by company name?** Yes, use `keywords`. Leave it empty to get
every notice of the types you selected.

***

UK insolvency data, winding-up petition monitor, company liquidation alerts,
administration notices, bankruptcy orders, Gazette insolvency scraper, credit
risk monitoring, distressed company leads, Companies House insolvency.

# Actor input Schema

## `noticeCategories` (type: `array`):

Which insolvency notices to track. Company winding-up petitions are the earliest distress signal; administrations and liquidations follow. Personal bankruptcy orders cover individuals.

## `keywords` (type: `array`):

Only return notices matching these words (company name, trading name, sector, town). Leave empty to get every notice of the selected types. Example: <code>Ltd</code>, <code>Construction</code>, or a specific company name.

## `sinceDays` (type: `integer`):

Only notices published within this many days are returned. A daily scheduled run needs just 1-2 days; a first sweep can look back further.

## `maxNotices` (type: `integer`):

Stop after this many notices across the whole run.

## `monitorMode` (type: `boolean`):

Remember notices already reported across runs and return only newly published ones. Built for a scheduled run: the first run sets the baseline, later runs report and charge for new notices only.

## `webhookUrl` (type: `string`):

When monitor mode finds new notices, post a text digest here (Slack incoming webhook or any endpoint accepting <code>{"text": "..."}</code> JSON).

## Actor input object example

```json
{
  "noticeCategories": [
    "company-winding-up-petitions",
    "company-winding-up-orders",
    "administrations"
  ],
  "keywords": [],
  "sinceDays": 7,
  "maxNotices": 200,
  "monitorMode": false
}
```

# Actor output Schema

## `notices` (type: `string`):

One item per matched notice in the default dataset.

# 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 = {
    "noticeCategories": [
        "company-winding-up-petitions",
        "company-winding-up-orders",
        "administrations"
    ],
    "sinceDays": 7,
    "maxNotices": 200
};

// Run the Actor and wait for it to finish
const run = await client.actor("tagadanar/uk-gazette-insolvency").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 = {
    "noticeCategories": [
        "company-winding-up-petitions",
        "company-winding-up-orders",
        "administrations",
    ],
    "sinceDays": 7,
    "maxNotices": 200,
}

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

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

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

```

## CLI example

```bash
echo '{
  "noticeCategories": [
    "company-winding-up-petitions",
    "company-winding-up-orders",
    "administrations"
  ],
  "sinceDays": 7,
  "maxNotices": 200
}' |
apify call tagadanar/uk-gazette-insolvency --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=tagadanar/uk-gazette-insolvency",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "UK Insolvency Monitor 🇬🇧 (Gazette winding-up alerts)",
        "description": "Every new UK company winding-up petition, administration, liquidation and personal bankruptcy order the moment it is gazetted, with Companies House numbers and a Slack digest of only-new notices. Official Gazette data, no API key, misses cost nothing.",
        "version": "0.1",
        "x-build-id": "FlmP2W9CSZQDf5P64"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/tagadanar~uk-gazette-insolvency/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-tagadanar-uk-gazette-insolvency",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/tagadanar~uk-gazette-insolvency/runs": {
            "post": {
                "operationId": "runs-sync-tagadanar-uk-gazette-insolvency",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/tagadanar~uk-gazette-insolvency/run-sync": {
            "post": {
                "operationId": "run-sync-tagadanar-uk-gazette-insolvency",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "noticeCategories": {
                        "title": "Insolvency notice types",
                        "type": "array",
                        "description": "Which insolvency notices to track. Company winding-up petitions are the earliest distress signal; administrations and liquidations follow. Personal bankruptcy orders cover individuals.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "company-winding-up-petitions",
                                "company-winding-up-orders",
                                "administrations",
                                "resolutions-for-winding-up",
                                "liquidator-appointments",
                                "notices-to-creditors",
                                "meetings-of-creditors",
                                "final-meetings",
                                "dividend-notices",
                                "petition-dismissals",
                                "personal-bankruptcy-orders",
                                "trustee-appointments"
                            ],
                            "enumTitles": [
                                "Company winding-up petitions",
                                "Company winding-up orders",
                                "Administrations (administrators appointed)",
                                "Resolutions for winding-up (voluntary)",
                                "Liquidator appointments",
                                "Notices to creditors",
                                "Meetings of creditors",
                                "Final meetings",
                                "Dividend notices",
                                "Winding-up petition dismissals",
                                "Personal bankruptcy orders",
                                "Trustee appointments (bankruptcy)"
                            ]
                        }
                    },
                    "keywords": {
                        "title": "Company / name watchlist (optional)",
                        "type": "array",
                        "description": "Only return notices matching these words (company name, trading name, sector, town). Leave empty to get every notice of the selected types. Example: <code>Ltd</code>, <code>Construction</code>, or a specific company name.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "sinceDays": {
                        "title": "Look-back window (days)",
                        "minimum": 1,
                        "maximum": 90,
                        "type": "integer",
                        "description": "Only notices published within this many days are returned. A daily scheduled run needs just 1-2 days; a first sweep can look back further.",
                        "default": 7
                    },
                    "maxNotices": {
                        "title": "Max notices",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Stop after this many notices across the whole run.",
                        "default": 200
                    },
                    "monitorMode": {
                        "title": "Monitor mode (alert on new notices only)",
                        "type": "boolean",
                        "description": "Remember notices already reported across runs and return only newly published ones. Built for a scheduled run: the first run sets the baseline, later runs report and charge for new notices only.",
                        "default": false
                    },
                    "webhookUrl": {
                        "title": "Webhook URL (Slack-compatible)",
                        "type": "string",
                        "description": "When monitor mode finds new notices, post a text digest here (Slack incoming webhook or any endpoint accepting <code>{\"text\": \"...\"}</code> JSON)."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
