# UK Gazette Insolvency Notices Scraper – Winding-Up Petitions (`data_daemon/uk-gazette-insolvency-notices`) Actor

UK insolvency notices from The Gazette as JSON: winding-up petitions, administrations, liquidations and creditor meetings with company number, address, petitioner (e.g. HMRC), nature of business, court, case number, hearing date and practitioner. Open Government Licence. From $2 per 1,000.

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

## Pricing

from $1.40 / 1,000 notices

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/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 Gazette Insolvency Notices Scraper – Winding-Up Petitions

**UK Gazette Insolvency Notices** is a pay-per-result Apify Actor that returns The Gazette's insolvency notices as JSON, CSV or Excel: winding-up petitions and orders, administrations, liquidations and creditors' meetings, each with the company name and number, registered office and trading address, postcode, nature of business, who presented the petition (with a `petitionerIsHmrc` flag), court and case number, hearing date and the insolvency practitioner's or solicitor's firm and contact details as published in the notice. It is for insolvency practitioners and turnaround advisers, credit-risk, KYB and trade-credit teams, lenders and asset buyers, and data vendors. Price: $5 per 1,000 notices with structured details ($2 per 1,000 without); no login or proxy. In the week of 11 to 17 October 2026 The Gazette published 138 winding-up petitions and 43 administration appointments; HMRC presented 56% of the 620 petitions of the prior 30 days.

Around **140 winding-up petitions** and **40+ administration appointments** are published each week (138 and 43 in the week of 11–17 October 2026). HMRC presents about half of all petitions (56% of the 620 published in the 30 days to 17 October 2026). No login, no proxy. **$5 per 1,000 notices** including structured details, $2 per 1,000 without.

### What teams run, and what it costs

| You are | You schedule | Volume | Cost |
|---|---|---|---|
| Insolvency practitioner / turnaround adviser | New petitions (2450) daily, filtered to your region or target industries | ~140 per week | ~$3 per month |
| Credit-risk / KYB / trade-credit team | Petitions + administrations + liquidations daily, matched on company number against your customer list | ~250 per week | ~$5 per month |
| Lender / factoring / asset buyer | Administration appointments (2410) daily | ~40 per week | under $1 per month |
| Data vendor / research | Back-fill a year of petitions | ~7,000 | ~$35 |

Send results to Google Sheets, Slack, a webhook, Make, n8n or your CRM, or query through an AI agent ("which Manchester restaurants had HMRC winding-up petitions this week?").

### Why use this instead of reading The Gazette

- **Structured, joinable fields.** Company number for Companies House, postcode, nature of business, petitioner, court, case number, practitioner firm. No copy-pasting notice text.
- **Earlier than Companies House.** Petitions are advertised before the hearing; the company record often changes weeks later.
- **Any notice type, any date range.** Petitions, winding-up orders, administrations, liquidator appointments, creditors' meetings, bankruptcy orders, or personal insolvency.
- **Built for schedules.** `publishedWithinDays` gives a rolling window, `onlyNewSinceLastRun` delivers only notices you have not received before, and skipped notices are never charged.
- **Open Government Licence.** Gazette notices are Crown copyright under OGL v3.0; company-level data can be reused with attribution (see "Licence and personal data" below).

**From an AI assistant:** add the MCP connector `https://mcp.apify.com/?tools=data_daemon/uk-gazette-insolvency-notices` in Claude, ChatGPT, Cursor or VS Code and ask for the data in plain words.

### Input

```json
{
    "service": "insolvency",
    "noticeTypes": ["2450"],
    "publishedWithinDays": 1,
    "onlyNewSinceLastRun": true,
    "includeLinkedData": true,
    "maxItems": 40
}
```

| Field | Description |
| --- | --- |
| `service` | `insolvency` (default), `all-notices`, `wills-and-probate`, `companies`. |
| `noticeTypes` | Gazette notice type codes (verified October 2026): `2450` petitions to wind up (companies), `2451` petitions to wind up (partnerships), `2452` winding-up orders, `2441` resolutions for winding up, `2432` and `2443` appointment of liquidators, `2442` meetings of creditors, `2433` notices to creditors, `2410` appointment of administrators, `2503` bankruptcy orders. Default `["2450", "2410"]`; pass `[]` for every type in the section. |
| `categoryCode` | Optional category, e.g. `G205000000` corporate insolvency, `G206000000` personal insolvency. |
| `text` | Free-text search, e.g. `Revenue and Customs` for HMRC petitions, a company name, a town or a practitioner firm. |
| `publishedWithinDays` | Rolling window for schedules: only notices published in the last N days (UTC). `1` = since yesterday, `7` = the last week. Ignored when `startPublishDate` is set. |
| `startPublishDate`, `endPublishDate` | Fixed publication date range, `YYYY-MM-DD`. |
| `sortBy` | `latest-date` (default), `oldest-date`, `relevance`. |
| `includeLinkedData` | Fetch the structured record per notice (default on). Adds one `notice-details` event per notice where the record was retrieved. |
| `onlyNewSinceLastRun` | Deliver only notices that earlier runs with the same search have not delivered. Skipped notices are not charged. Ids are kept for 180 days in a key-value store named `uk-gazette-notices-state` in your account. |
| `stateName` | Optional name for that memory; leave empty to derive it from the search, or set one per feed. |
| `maxItems` | Cap on delivered notices (default 40, about $0.20 with structured details at FREE prices). |

Invalid values never fail a run: they are corrected or ignored with a warning in the log and in the `OUTPUT` summary.

### Output

One item per notice. Example from a real run (17 October 2026):

```json
{
    "noticeId": "5232599",
    "url": "https://www.thegazette.co.uk/notice/5232599",
    "category": "Petitions to Wind Up (Companies)",
    "noticeCode": "2450",
    "published": "2026-10-17T00:10:08",
    "publishedDate": "2026-10-17",
    "companyName": "DURSLEY HOTEL LIMITED",
    "companyNumber": "10498473",
    "tradingAs": "Dursley Hotel Limited",
    "natureOfBusiness": "Public Houses and Bars",
    "principalTradingAddress": "13 Long Street, Dursley, GL11 4HL",
    "registeredOffice": "13 Long Street, Dursley, GL11 4HL",
    "postcode": "GL11 4HL",
    "courtName": "High Court of Justice",
    "caseNumber": "CR-2026-007272",
    "petitioner": "BRITISH GAS TRADING LIMITED",
    "petitionerIsHmrc": false,
    "petitionerAddress": "Millstream, Maidenhead Road, Windsor, SL4 5GD",
    "presentedBy": "Creditor",
    "dateOfPetitionPresentation": "2026-09-30T00:00:00+00:00",
    "dateOfHearing": "Wednesday, 18-Nov-2026 10:30:00 UTC",
    "hearingDate": "2026-11-18",
    "placeOfHearing": "Rolls Building, Fetter Lane, London, EC4A 1NL",
    "dateToRequestAppearance": "Tuesday, 17-Nov-2026 16:00:00 UTC",
    "practitioners": [
        {
            "role": "solicitor",
            "name": "Sian Phillips",
            "firm": "WOMBLE BOND DICKINSON (UK) LLP",
            "ipNumber": "SPP4/375936.07741",
            "telephone": "01752 67 7636",
            "address": "Ballard House, 26 West Hoe Road, Plymouth, PL1 3AE"
        }
    ],
    "practitionerFirm": "WOMBLE BOND DICKINSON (UK) LLP",
    "summary": "In the High Court of Justice CR-2026-007272 In the matter of DURSLEY HOTEL LIMITED …",
    "hasDetails": true
}
```

| Field | Notes |
| --- | --- |
| `noticeId`, `url`, `category`, `noticeCode`, `published`, `publishedDate`, `summary`, `contentHtml` | From the feed; always present. |
| `companyName`, `companyNumber`, `tradingAs`, `natureOfBusiness`, `registeredOffice`, `principalTradingAddress`, `postcode` | From the linked-data record (`includeLinkedData`). `natureOfBusiness` is the text the notice states, sometimes prefixed with the SIC code. |
| `petitioner`, `petitionerIsHmrc`, `petitionerAddress`, `presentedBy` | Petitions (2450, 2451). `petitionerIsHmrc` is `true` for HM Revenue and Customs. |
| `courtName`, `courtDistrict`, `caseNumber` | Petitions, winding-up orders, administrations and bankruptcy orders. Populated on about 9 in 10 petitions. |
| `dateOfHearing`, `hearingDate`, `placeOfHearing`, `dateToRequestAppearance`, `dateOfPetitionPresentation` | Petitions. `hearingDate` is the ISO date; `dateOfHearing` is the Gazette's own string. Scottish petitions usually have no hearing date. |
| `dateOfAppointment`, `dateOfResolution`, `dateWoundUp`, `dateOfBankruptcyOrder`, `meetingTime`, `meetingLocation`, `typeOfLiquidation`, `appointedBy` | Administrations, liquidations, orders and creditors' meetings, where stated. |
| `practitioners[]`, `practitionerFirm`, `contactEmail`, `contactTelephone` | Administrators, liquidators, official receivers, trustees or the petitioner's solicitor: role, name, firm, IP number, email, telephone, address. Joint appointees are separate entries, one per person. |
| `hasDetails`, `linkedData` | Whether the structured record was retrieved, and the full linked-data subject so nothing is lost. |

Download as JSON, CSV or Excel, or connect via API, webhooks and Google Sheets. The **Flat (CSV / Sheets)** dataset view lists only flat fields, so spreadsheet exports keep one column per field. Field names are stable; they will not be renamed, so your Sheets, Zapier and Make mappings keep working.

### Scheduling & automation

**Daily feed of new petitions in four steps**

1. Set `noticeTypes` to `["2450"]` (or add `"2410"` for administrations), `publishedWithinDays` to `1` and tick **Only new notices**.
2. Click **Save as task**.
3. Open **Schedules → Create schedule**, pick **Daily** (for example `0 8 * * *`, 08:00 UK time) and add the task.
4. Optional: in the task's **Integrations** tab add **Google Sheets** to append rows, **Slack** or **email** for a message per run, or a **webhook** to your backend. **Make**, **Zapier** and **n8n** all have an Apify module that starts the task and reads the dataset.

Each run remembers what it has already delivered for that search (stored in your own account) and charges only for new notices. The run's `OUTPUT` record says how many notices arrived, how many were skipped as already delivered, and how many have structured details, so a webhook or n8n flow can decide what to do without opening the dataset. Use `stateName` to keep several saved searches apart.

**One call from your own code** (waits for the run and returns the items):

```bash
curl -X POST "https://api.apify.com/v2/acts/data_daemon~uk-gazette-insolvency-notices/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"noticeTypes":["2450"],"publishedWithinDays":1,"onlyNewSinceLastRun":true,"maxItems":500}'
```

The same endpoint works with the Apify client libraries for Python and JavaScript. For long back-fills use the asynchronous `runs` endpoint and fetch the dataset when the run finishes.

### Pricing

Pay per event. Platform compute is included.

| Event | Price | When it is charged |
|---|---|---|
| Notice | $0.002 | Each notice saved to your dataset |
| Notice details | $0.003 | Each notice whose structured linked-data record was retrieved (`includeLinkedData`, on by default) |

That is **$5 per 1,000 notices with structured details**, or $2 per 1,000 without. Notices skipped by **Only new notices** are never charged, and a notice whose structured record could not be retrieved is charged as a notice only. A daily feed of new winding-up petitions costs around $3 a month; administrations alone, under $1.

### Tips

- For HMRC petitions only, set `text` to `Revenue and Customs` (about half of all petitions), or filter on `petitionerIsHmrc` afterwards.
- Join `companyNumber` to Companies House or your CRM; filter `postcode` or `natureOfBusiness` for a region or industry.
- Back-fill with `startPublishDate` / `endPublishDate` and a high `maxItems`; the feed is sorted latest first.
- Keep `includeLinkedData` on for petitions, administrations and orders. Turn it off when you only need the notice text (for example creditors' meetings).
- The Gazette rate-limits bursts of structured-data requests. The Actor fetches them gently with retries; if the site still refuses them, the run finishes with the feed fields and reports `detailsUnavailable` in `OUTPUT` instead of failing.
- `service: "wills-and-probate"` reaches deceased-estates notices (personal data: reuse restrictions apply, see below).

### FAQ

**How much does it cost to monitor UK winding-up petitions?**

$0.002 per notice plus $0.003 for the structured details record. About 140 petitions a week means roughly $3 a month for a daily feed with details.

**Does it return only new notices?**

Yes. Turn on `onlyNewSinceLastRun`; each run delivers only notices that earlier runs with the same search have not delivered, and the skipped ones are free.

**Can I reuse the data commercially?**

Gazette notices are Crown copyright under the Open Government Licence v3.0, so company-level data can be reused with attribution. Personal data is excluded from the licence.

**Which notice types are supported?**

Any Gazette notice type code. The common corporate ones are 2450 petitions to wind up, 2452 winding-up orders, 2410 appointment of administrators, 2441 resolutions for winding up, 2432 and 2443 appointment of liquidators, 2442 meetings of creditors and 2433 notices to creditors.

**Do I need a proxy or login?**

No. If The Gazette rate-limits the structured-data requests, the Actor switches to Apify datacenter proxy by itself.

### Related Actors by Daemon Data

- [Foundit Jobs Scraper](https://apify.com/data_daemon/foundit-jobs-scraper) – foundit.in (Monster India) jobs with full descriptions, only-new mode for daily feeds
- [Instahyre Jobs Scraper](https://apify.com/data_daemon/instahyre-jobs-scraper) – India tech jobs from product companies and startups with full descriptions, company size and only-new mode
- [Welcome to the Jungle Jobs Scraper](https://apify.com/data_daemon/welcome-to-the-jungle-jobs-scraper) – France-focused WTTJ jobs with full descriptions, company profiles and only-new mode
- [Dubai Property Transactions](https://apify.com/data_daemon/dubai-property-transactions) – Dubai Land Department sales, mortgages and gifts
- [India IPO Tracker](https://apify.com/data_daemon/india-ipo-tracker) – live IPO GMP, subscription and listing data for India
- [Tickertape India Stocks Scraper](https://apify.com/data_daemon/tickertape-stocks-scraper) – NSE/BSE fundamentals, shareholding and screener
- [IIMJobs Scraper](https://apify.com/data_daemon/iimjobs-jobs-scraper) – India management, finance and MBA jobs
- [Hirist Jobs Scraper](https://apify.com/data_daemon/hirist-jobs-scraper) – India IT jobs with full descriptions
- [Oracle Cloud HCM Jobs Scraper](https://apify.com/data_daemon/oracle-hcm-jobs-scraper) – every job on any Oracle Recruiting career site
- [Luma Events Scraper](https://apify.com/data_daemon/luma-events-scraper) – lu.ma events by city, topic or organiser calendar, with hosts and ticket info

### Support

Found a bug or need another field or source? Open an issue on the Issues tab; issues are usually answered within a day. Custom variants of this Actor are available on request. A quick review on the actor page helps other users find it.

### Licence and personal data

Gazette content is Crown copyright, reusable under the Open Government Licence v3.0 with attribution to The Gazette. The licence does not cover reuse of personal data; treat individual bankruptcies, probate notices and practitioner contact details in line with UK GDPR.

# Actor input Schema

## `service` (type: `string`):

Which Gazette search to query. Default `insolvency`.

## `noticeTypes` (type: `array`):

Optional Gazette notice type codes (verified Oct 2026): `2450` petitions to wind up (companies), `2451` petitions to wind up (partnerships), `2452` winding-up orders, `2441` resolutions for winding up, `2432` and `2443` appointment of liquidators, `2442` meetings of creditors, `2433` notices to creditors, `2410` appointment of administrators, `2503` bankruptcy orders. Default is petitions and administrations (`2450`, `2410`); pass an empty list for every type in the section.

## `categoryCode` (type: `string`):

Optional Gazette category code, e.g. `G205000000` corporate insolvency, `G206000000` personal insolvency, `G205010000` companies.

## `text` (type: `string`):

Optional free-text search, e.g. `Revenue and Customs` for HMRC petitions, a company name, a town, or an insolvency practitioner firm.

## `publishedWithinDays` (type: `integer`):

Relative date window for schedules: only notices published in the last N days, counted back from today (UTC). `1` = since yesterday, `7` = the last week. Ignored when `Published from` is set. Combine with `Only new notices` for a daily feed.

## `startPublishDate` (type: `string`):

`YYYY-MM-DD`. Only notices published on or after this date. Leave empty to use `Published within the last N days` instead.

## `endPublishDate` (type: `string`):

`YYYY-MM-DD`. Only notices published on or before this date.

## `sortBy` (type: `string`):

Sort order. Default `latest-date`.

## `includeLinkedData` (type: `boolean`):

Fetch each notice's linked-data record and add it as top-level fields: company number, registered office and trading address, postcode, nature of business, petitioner (and an HMRC flag), court and case number, hearing, petition, appointment and resolution dates, and the insolvency practitioner's name, firm, IP number and contact details. Charged as one extra `notice-details` event per notice where the record was retrieved. Default on.

## `onlyNewSinceLastRun` (type: `boolean`):

Deliver only notices that an earlier run with the same search (or the same `State key`) has not already delivered. Skipped notices are not charged. Delivered notice ids are remembered for 180 days in a key-value store named `uk-gazette-notices-state` in your account. Made for daily schedules.

## `stateName` (type: `string`):

Optional name for this saved search's memory when `Only new notices` is on. Leave empty to derive it from the section, notice types, category and search text. Use a different key to track several feeds separately.

## `maxItems` (type: `integer`):

Stop after this many notices have been delivered. Default 40, about $0.20 with structured details at FREE prices.

## `proxyConfiguration` (type: `object`):

Optional. Not needed by default; the actor switches to Apify datacenter proxy by itself if The Gazette rate-limits the structured-data requests.

## Actor input object example

```json
{
  "service": "insolvency",
  "noticeTypes": [
    "2450"
  ],
  "publishedWithinDays": 7,
  "sortBy": "latest-date",
  "includeLinkedData": true,
  "onlyNewSinceLastRun": false,
  "maxItems": 40,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Notices as JSON items in the default dataset (also downloadable as CSV, Excel, XML).

## `summary` (type: `string`):

OUTPUT record: notices delivered, how many have structured details, how many were skipped as already delivered, and any warnings. Handy for webhooks and Make/n8n flows.

# 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 = {
    "noticeTypes": [
        "2450"
    ],
    "publishedWithinDays": 7,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("data_daemon/uk-gazette-insolvency-notices").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 = {
    "noticeTypes": ["2450"],
    "publishedWithinDays": 7,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("data_daemon/uk-gazette-insolvency-notices").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 '{
  "noticeTypes": [
    "2450"
  ],
  "publishedWithinDays": 7,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call data_daemon/uk-gazette-insolvency-notices --silent --output-dataset

```

## MCP server setup

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

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/4We8IBpLtJp6OkQd8/builds/3Cxu2rfkX44Ueet39/openapi.json
