# UK Individual Insolvency Register Scraper (`jungle_synthesizer/uk-individual-insolvency-register-scraper`) Actor

Search and enumerate the England and Wales Individual Insolvency Register: bankruptcies, Debt Relief Orders and IVAs, with case detail, dates, court, insolvency practitioner and restrictions data.

- **URL**: https://apify.com/jungle\_synthesizer/uk-individual-insolvency-register-scraper.md
- **Developed by:** [BowTiedRaccoon](https://apify.com/jungle_synthesizer) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 1,000 record scrapeds

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 Bankruptcy & Insolvency Register Scraper

Search the [Individual Insolvency Register](https://www.insolvencydirect.bis.gov.uk/eiir/) — the Insolvency Service's statutory record of England & Wales bankruptcies, Debt Relief Orders and IVAs. Returns name, date of birth, address, postcode, insolvency type, court, dates, restrictions and the insolvency practitioner's contact details, in structured JSON.

***

### UK Individual Insolvency Register Scraper Features

- Searches by name and returns every matching case — bankruptcy, Debt Relief Order, IVA, and any active restrictions order or undertaking (BRO/BRU/DRRO/DRRU)
- Extracts 20+ fields per case: personal details, court, case number, dates, status, insolvency practitioner and firm, official receiver office
- Ships with a bundled library of 150+ common UK surnames for a broad sweep out of the box. No search terms required to get started
- Also takes your own list of names for a targeted lookup instead of a broad sweep
- Returns trading names and former names where the register publishes them

***

### Who Needs UK Insolvency Register Data?

- **Lenders and BNPL underwriters** — flag applicants with an active bankruptcy or DRO before approving credit
- **Landlords and letting agents** — run an adverse-credit check on a prospective tenant before signing a lease
- **Recruiters** — undischarged bankrupts are barred from certain regulated roles (FCA-approved persons, gambling licences, security work); check before you place someone
- **Debt-purchase and recovery firms** — confirm a debtor's insolvency status and discharge date before pursuing a claim
- **KYC and onboarding teams** — append an adverse-flag to a UK individual's file, or pair it with company officer data to catch a director who is also an undischarged bankrupt

***

### How UK Individual Insolvency Register Scraper Works

1. Give it a name, or don't — leave `searchTerms` empty and it works through its own list of common UK surnames.
2. It searches the register for each name and pulls every matching case.
3. For each case, it opens the case detail page and pulls the full record — dates, court, status, restrictions, insolvency practitioner.
4. You get back a clean, deduplicated dataset. Run it again with a `resumeCursor` if a big sweep needs more than one pass.

***

### Input

```json
{
  "maxItems": 100,
  "searchTerms": ["Smith", "Patel"]
}
```

| Field         | Type    | Default | Description |
|---------------|---------|---------|-------------------------------------------------------------------------------------------------------------------|
| `maxItems`    | integer | 10      | Maximum number of records to return. |
| `searchTerms` | array   | —       | Exact names to search — matches forename, surname, alias or trading name. Leave empty to sweep the bundled surname library instead. |

Leave `searchTerms` empty for a broad register sweep. Set it to specific names — `["Smith"]`, `["Patel", "Jones"]` — for a targeted lookup, the same way you'd use any of the single-name bankruptcy checkers, just with the option to check several names in one run.

***

### UK Individual Insolvency Register Scraper Output Fields

```json
{
  "case_id": "750021289",
  "full_name": "Hannah Marie Smith - Bankruptcy",
  "first_name": "Hannah Marie",
  "last_name": "Smith",
  "alias_names": "hannah smith",
  "date_of_birth": "21/05/1997",
  "postcode": "DH6 5HY",
  "last_known_address": "1 Front Street, Croxdale, Durham, United Kingdom, DH6 5HY",
  "occupation": "self-employed",
  "insolvency_type": "Bankruptcy",
  "case_number": "5179188/2026",
  "court": "Office of the Adjudicator",
  "insolvency_date": "22/01/2026",
  "discharge_date": "22/01/2027",
  "status": "Currently Bankrupt : Automatic Discharge will be 22/01/2027",
  "restrictions_type": null,
  "restrictions_start": null,
  "restrictions_end": null,
  "insolvency_practitioner": null,
  "ip_firm": null,
  "official_receiver_office": "Official Receiver North-East",
  "case_url": "https://www.insolvencydirect.bis.gov.uk/eiir/case-details/1/false/750021289/1201617125/U21pdGg",
  "query_term": "Smith",
  "scraped_at": "2026-09-20T19:48:16.545Z"
}
```

| Field                      | Type   | Description |
|----------------------------|--------|---------------------------------------------------------------------------------------------------|
| `case_id`                  | string | Unique case identifier on the register. |
| `full_name`                | string | Full name as published (occasionally includes a case-type suffix from the source, e.g. "- Bankruptcy"). |
| `first_name`               | string | Forename(s). |
| `last_name`                | string | Surname. |
| `alias_names`              | string | Former names and trading names, semicolon-separated where more than one is published. |
| `date_of_birth`            | string | Date of birth, where published. |
| `postcode`                 | string | Postcode from the last known address. |
| `last_known_address`       | string | Full last known address. |
| `occupation`               | string | Occupation, where published. |
| `insolvency_type`          | string | Bankruptcy, Debt Relief Order, Individual Voluntary Arrangement, or a restrictions order/undertaking. |
| `case_number`              | string | Court case number and year, where the case type has one (IVAs are not court cases and have none). |
| `court`                    | string | Court handling the case, where applicable. |
| `insolvency_date`          | string | Order, acceptance or arrangement date depending on case type. |
| `discharge_date`           | string | Discharge or completion date, where the case has reached that stage. |
| `status`                   | string | The register's own status text — includes suspended-discharge and moratorium detail. |
| `restrictions_type`        | string | The restriction type (BRO/BRU/DRRO/DRRU), where the case is a restrictions case. |
| `restrictions_start`       | string | Restriction accepted/start date. |
| `restrictions_end`         | string | Restriction end date. |
| `insolvency_practitioner`  | string | Named insolvency practitioner, where one is assigned. |
| `ip_firm`                  | string | The practitioner's firm. |
| `official_receiver_office` | string | Official Receiver or Insolvency Service office handling the case. |
| `case_url`                 | string | Direct link to the case on the register. |
| `query_term`               | string | The search term that surfaced this record. |
| `scraped_at`               | string | When this record was collected. |

***

### Resuming a large crawl

Every run emits a `resumeCursor` in its Output. If a large crawl stops before it finishes — because it hit `maxItems`, your spend cap (`maxTotalChargeUsd`), or was aborted — start a new run with **the same input** plus that `resumeCursor` to continue from where it left off. The crawl resumes from the queued work the previous run didn't reach.

- You are **not re-charged** for records the earlier run already delivered.
- Resume within your account's run-retention window — on the free tier, roughly your 10 most recent runs. Once the source run is pruned, its `resumeCursor` is no longer valid.
- `resumeCursor` is opaque — supply it unmodified.

***

### FAQ

#### How do I check if someone is bankrupt in the UK?

UK Individual Insolvency Register Scraper searches the Insolvency Service's own register by name and returns every matching case — bankruptcy, Debt Relief Order or IVA — with dates, court and status. No account or API key required.

#### What data can I get from the Individual Insolvency Register?

Case type, dates, court, discharge status, restrictions, the assigned insolvency practitioner and firm, and the individual's last known address, postcode, date of birth and occupation where the register publishes them.

#### Can I search more than one name in a single run?

Yes. Pass an array to `searchTerms` — `["Smith", "Patel", "Jones"]` — and it works through all of them in one run, deduplicating any case that turns up under more than one name.

#### Does this cover Scotland or Northern Ireland?

No. The Individual Insolvency Register covers England & Wales only; Scotland and Northern Ireland run separate insolvency registers.

#### Do I need an account or API key?

No. Point it at a name — or leave `searchTerms` empty — and it returns register data.

***

### Need More Features?

Need a different name list, additional fields, or a similar register for another jurisdiction? [File an issue](https://console.apify.com/actors/issues) or get in touch.

### Why Use UK Individual Insolvency Register Scraper?

- **Bulk, not single-lookup** — checks a list of names in one run instead of one search at a time
- **Fields that decide the answer** — most bankruptcy checkers stop at "yes/no"; this one returns the restrictions type and window, the practitioner and firm, and the discharge date — the details that determine whether a hit actually disqualifies someone
- **Works with no setup** — no account, no API key, no name required to start; the bundled surname library gets you a broad sweep on the default input alone

# Actor input Schema

## `sp_intended_usage` (type: `string`):

What will this data feed? E.g. lead lists, KYB checks, price tracking.

## `sp_improvement_suggestions` (type: `string`):

Provide any feedback or suggestions for improvements.

## `sp_contact` (type: `string`):

We'll personally help with your use case. No spam.

## `resumeCursor` (type: `string`):

Leave empty for a fresh crawl. To CONTINUE a previous run where it stopped — without paying again for records you already received — paste the `resumeCursor` value from that run's Output (the run's OUTPUT key). Resume promptly: the previous run's data expires with your account's retention window (free tier: your ~10 most recent runs).

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

Maximum number of records to scrape

## `searchTerms` (type: `array`):

Exact names to search (matches forename, surname, alias or trading name on the register). Leave empty to sweep the bundled library of common UK surnames for broad register coverage.

## Actor input object example

```json
{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "maxItems": 10
}
```

# Actor output Schema

## `results` (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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("jungle_synthesizer/uk-individual-insolvency-register-scraper").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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("jungle_synthesizer/uk-individual-insolvency-register-scraper").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 '{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "maxItems": 10
}' |
apify call jungle_synthesizer/uk-individual-insolvency-register-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,jungle_synthesizer/uk-individual-insolvency-register-scraper"
        }
    }
}
```

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/xDFLxAznqPMePW1Un/builds/gk1WXJaeHMCWYLdZU/openapi.json
