# Benelux Insolvency Radar – NL & BE Bankruptcies (`lwsdjfls/benelux-insolvency-radar`) Actor

Benelux insolvency data in one normalised daily feed: Dutch and Belgian bankruptcies, suspensions of payment, WHOA and judicial reorganisations of legal entities, with company, KvK/KBO number, procedure, event, status, ruling date, court and trustee. Natural persons are never delivered.

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

## Pricing

from $20.00 / 1,000 case delivereds

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

### What does Benelux Insolvency Radar do?

**Benelux insolvency data in one feed.** Every working day the Dutch courts publish bankruptcies (faillissementen), suspensions of payment and WHOA procedures in the Centraal Insolventieregister, and the Belgian enterprise courts publish bankruptcies and judicial reorganisations in the Belgisch Staatsblad, in Dutch and in French. This Actor reads both registers and delivers **one normalised record per case publication**: company name, KvK or KBO number, procedure, event (opening, closing, conversion, withdrawal), status, ruling date, court, trustee or administrator, address and trade names, in the same schema for both countries. **Legal entities only: natural persons are never delivered, by rule, not by option.** Monitor mode delivers only what is new since the previous run.

#### Why one Benelux feed

A Dutch credit insurer, collection agency or exporter has debtors on both sides of the border. The registers differ in everything: language, structure, case numbering, the words for the same event. The NL-only Actors in the Store leave Belgium to you; the Belgian data services leave the Netherlands to you. Here `procedure`, `event` and `status` mean the same thing in Amsterdam and Antwerp, and the record carries the registration number you already have in your ledger, so a match is a join, not a search.

#### Natural persons are never delivered

The Dutch register also holds debt restructurings (WSNP), personal bankruptcies and sole traders; the Belgian notices include self-employed persons. Those are people, not counterparties, and their debts are nobody's sales signal. The Actor drops every publication that the registers mark as a natural person (a birth date, a home address, a WSNP case number, "geboren op", "né(e) le", "wonende te", a WHOA debtor described as a sole proprietorship), and every publication without either a legal form or a company registration number. There is no input to switch this off. The counts of dropped publications appear in the run log, without the names.

#### Sources

- **Netherlands: Centraal Insolventieregister** ([insolventies.rechtspraak.nl](https://insolventies.rechtspraak.nl/)), the register of de Rechtspraak, read through the daily publication feed its own web application uses (one document per publication day, grouped by court and publication type). The same publications appear in the Staatscourant on officielebekendmakingen.nl (CC0). The Rechtspraak's conditions for reuse of the register apply to what you do with the data: use it to inform participants in trade about the insolvency, and delete a case within six months after its termination. The register keeps a case visible for six months after termination and offers about the last month of daily publications.
- **Netherlands: WHOA register** ([rechtspraak.nl/registers/whoa](https://www.rechtspraak.nl/registers/whoa)): public homologation procedures, with KvK number, start declaration date, request date, case number and court. The register has no publication days: a WHOA record's `rulingDate` is its request date, or else its start declaration date, and `publicationDate` is the later of the two dates the entry states, or `1970-01-01` when it states neither in a form the Actor reads (a lookup leaves such an entry out and counts it in the run log; a watch delivers it).
- **Belgium: Belgisch Staatsblad / Moniteur belge** ([ejustice.just.fgov.be](https://www.ejustice.just.fgov.be/)): the court notices of openings, closings, withdrawals and administration changes of bankruptcies and judicial reorganisations, found by date and read per notice, in the language of the court. There is no API; the Actor reads the search results and notice pages of the official site, a few requests per notice, paced. Belgium's own register (RegSol) is not public; the Staatsblad notices are the public record.

Both registers are read live on every run. When one of them does not answer, that country's scope is left untouched and nothing of it is charged; the other country is still delivered. When only the WHOA page fails, the Dutch register publications of the run are still delivered and the run log says the WHOA entries are missing. A country whose register publishes none of the selected procedures and events (only `whoa` selected for Belgium, say) is skipped without a single request.

**Proxies.** The Staatsblad's web application firewall rejects requests from data-centre addresses ("Request Rejected", with a support ID), and it throttles above about one request per second. The Actor therefore reads Belgian notices through Apify residential proxies by default (**Proxy configuration**), at roughly three requests every four seconds; a day of notices is a few megabytes of proxy traffic. A page that is neither a result list nor a notice is retried and, if it keeps failing, the Belgian part of the run is reported as failed instead of delivered incomplete. The proxy is used for the Staatsblad only: the Dutch registers need no proxy and are always read directly, and the webhook is sent directly as well.

#### Monitor mode

Set `mode` to `monitor`, schedule daily. The first run delivers the publications of the window as `baseline` records, charged per case like a lookup. The WHOA register has no publication days, so a watch's baseline also holds every entry the register currently lists, not only those dated inside the window as in a lookup. Later runs deliver only publications that are new since the previous run, priced per case, with `summary` lines such as `NL Van der Most Beheer B.V (05026225): Faillissement, opening 2026-09-14`. Publications the watch already delivered are checked again on every run, free, and never count toward `maxItems`; when the cap or your maximum cost per run is reached, the new publications that did not fit arrive in a later run while they are still inside its window. When the register adds to a WHOA entry the watch delivered (its case number or request date, say), the watch delivers it again as a free `changed` record. A closing or conversion of a case that opened earlier arrives as its own publication, so a debtor's history unfolds as events with the same `caseId`. Publications older than the window (`lookbackDays`) leave the state silently. A new `stateKey`, or another selection of `procedures` or `events` (the order they are listed in does not matter), starts a new baseline.

### Features

- **Dutch and Belgian bankruptcy data in one schema**: the same `procedure`, `event` and `status` values for both countries
- **KvK or KBO number on nearly every record**, so a match against your debtor file is a join
- **Bankruptcy, suspension of payment, WHOA and judicial reorganisation** covered, with the register's own wording kept in `eventLabel`
- **Court, ruling date, trustee or administrator and supervisory judge** per publication
- **Legal entities only**: natural persons, WSNP cases and sole traders are dropped by rule
- **Live from both registers on every run**; a register that does not answer is never charged
- **Monitor mode**: only new publications since the previous run, with a webhook and one-line summaries
- Runs through the Apify API, on a schedule, or from Make, Zapier and n8n

### Use cases

#### Credit insurers and credit managers

Match `registrationNumber` against your debtor file every morning. An `opening` on a debtor is a claim event; a `closing` with `verbindende uitdelingslijst` tells you the dividend has been set.

```js
// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('lwsdjfls/benelux-insolvency-radar').call({ countries: ['NL', 'BE'], lookbackDays: 1 });
const { items } = await client.dataset(run.defaultDatasetId).listItems({ clean: true });

const debtors = new Set(['05026225', '0651.640.159']); // KvK and KBO numbers from your ledger
for (const { payload } of items) {
    if (payload.registrationNumber && debtors.has(payload.registrationNumber)) {
        console.log(`${payload.country} ${payload.companyName}: ${payload.procedureLabel} – ${payload.event} on ${payload.rulingDate} at ${payload.court}; trustee ${payload.administrators[0]?.name ?? 'n/a'}`);
    }
}
```

#### Collection agencies

Stop dunning the moment a bankruptcy opens and file the claim with the trustee instead: the record names the trustee and the address to send it to.

#### B2B sales and account management

A bankrupt customer is a lost debtor; a customer in suspension of payment or judicial reorganisation is a customer to talk to. Feed the openings into the CRM by registration number.

#### Journalists and researchers

A daily list of every company that failed in the Netherlands and Belgium, with court and trustee, in one format, without the private persons.

### How to use it

1. Choose your **Countries** and a window in **Days**, then run it. Start with `NL` alone: the Dutch register answers directly and a five day window bridges a long weekend without ever coming back empty. Each case publication becomes one record with the company, its KvK or KBO number, the procedure, the event, the ruling date, the court and the trustee.
2. Add `BE` when you need Belgium too. The Belgian Staatsblad refuses data centre addresses, so Belgian sources are read through a residential proxy, which is why Belgium is not part of the small default input and why a Belgium run costs a little more to operate.
3. Give it a **State key**, switch to the change feed and schedule it daily, with **Webhook URL** pointing at your credit or collections system. An insolvency is only useful on the day it is published.

The `cases` view is the table per case publication and `changes` is the daily feed. Both use one schema across both countries, so a Dutch faillissement and a Belgian gerechtelijke reorganisatie arrive in the same fields and you do not need two integrations.

Two boundaries, and the first one is absolute. Natural persons are never delivered. A debtor that the register describes as a sole trader is a natural person and is left out entirely, so this feed covers legal entities only. Second, the Dutch register is published under a licence that binds you as well: it is meant for informing commercial traffic, and the data has to be destroyed six months after the insolvency ends. Those obligations travel with the data to you.

```json
{
  "countries": ["NL"],
  "lookbackDays": 5,
  "stateKey": "credit-risk-nl"
}
```

### Input

| Field | What it does | Example |
| --- | --- | --- |
| `mode` | `lookup` delivers every case publication of the period; `monitor` delivers only publications new since the previous run. | `"lookup"` |
| `countries` | `NL` (Centraal Insolventieregister) and/or `BE` (Belgisch Staatsblad). | `["NL", "BE"]` |
| `procedures` | Which procedures to deliver. | `["faillissement", "surseance", "gerechtelijke-reorganisatie", "whoa"]` |
| `events` | Which events to deliver; openings, closings, conversions and withdrawals are the signal, hearings and distribution lists are available for those who need them. | `["opening", "closing", "conversion", "withdrawal", "administration"]` |
| `lookbackDays` | Publication days to read, ending today; the Dutch register offers about the last month. | `3` |
| `maxItems` | Caps the charged case publications in one run, taken in the order of `countries`; publications a watch already delivered do not count. A lookup does not read a country the cap leaves no room for, and a new watch of that country starts only in a run with room under the cap. | `2000` |
| `webhookUrl` | Receives a POST with a summary after each run that delivered publications; must be a public http(s) address and is stored encrypted. | `https://hooks.example.com/insolvencies` |
| `stateKey` | Separates independent monitors. Defaults to the task ID. | `debtors-nl-be` |
| `proxyConfiguration` | Belgian notices are read through Apify residential proxies by default; the Dutch registers are always read directly. | `{ "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }` |

```json
{
  "countries": ["NL", "BE"],
  "procedures": ["faillissement", "surseance", "gerechtelijke-reorganisatie", "whoa"],
  "events": ["opening", "closing", "conversion", "withdrawal", "administration"],
  "lookbackDays": 3
}
```

Monitor mode:

```json
{
  "mode": "monitor",
  "countries": ["NL", "BE"],
  "events": ["opening", "conversion", "withdrawal"],
  "lookbackDays": 3,
  "webhookUrl": "https://hooks.example.com/insolvencies"
}
```

### Output

One record per case publication:

- `id` (`nl:2026-09-15:Rechtbank Overijssel:12`, `nl:whoa:61425044`, `be:2026837388`; a WHOA entry is identified by the debtor's KvK number (the first it states), or by its name when it states none, so the record keeps its `id` while the register adds its case number, and group companies in one procedure each get a record of their own), `country`, `caseId` (NL insolvency number such as `F.08/26/230`, WHOA case number such as `190923 FT RK 23/427`, BE court reference), `sourceUrl`, `sourceName`, `publicationDate`
- `companyName`, `legalForm` (B.V., N.V., BV, SRL, SA, VZW…), `registrationNumber` with `registrationNumberKind` (`kvk`, 8 digits; `kbo`, `0651.640.159`), `address`, `tradeNames`, `activity` (BE)
- `procedure`: `faillissement`, `surseance`, `whoa`, `gerechtelijke-reorganisatie` (with `procedureLabel` in Dutch)
- `event`: `opening` (uitspraak, ouverture), `closing` (opheffing, vereffening, verbindende uitdelingslijst, clôture), `conversion` (suspension converted into bankruptcy), `withdrawal` (vernietiging, intrekking), `hearing`, `distribution-list`, `administration` (trustee or supervisory judge appointed, replaced, case transferred), `other`; `eventLabel` keeps the register's own wording
- `status`: `opened`, `ongoing`, `closed`, `withdrawn`, `converted`
- `rulingDate`, `scheduledDate` (hearings), `court`, `administrators` (name, role: curator, bewindvoerder, vereffenaar, gerechtsmandataris; address), `supervisoryJudge`
- `text`: the publication as published, without telephone numbers and e-mail addresses
- `checkedAt`

```json
{
  "envelopeVersion": 1,
  "id": "nl:2026-09-14:Rechtbank Noord-Holland:33",
  "scope": "lookup:NL",
  "changeType": "added",
  "sourceUrl": "https://insolventies.rechtspraak.nl/#!/bekendmakingen/20260914000000",
  "scrapedAt": "2026-09-15T20:00:00.000Z",
  "firstSeenAt": "2026-09-15T20:00:00.000Z",
  "hash": "cf669135c2a152f420fc08328051e4e1882625e571dcba1052a6c80e0f43c88f",
  "previousHash": null,
  "changes": [],
  "summary": "Added: NL De Lekkere Dingen Bakkerij B.V (33120758): Surseance van betaling, opening 2026-09-10",
  "diffText": null,
  "payload": {
    "id": "nl:2026-09-14:Rechtbank Noord-Holland:33",
    "country": "NL",
    "caseId": "S.15/26/1101",
    "companyName": "De Lekkere Dingen Bakkerij B.V",
    "legalForm": "B.V",
    "registrationNumber": "33120758",
    "registrationNumberKind": "kvk",
    "procedure": "surseance",
    "procedureLabel": "Surseance van betaling",
    "event": "opening",
    "eventLabel": "surseances › surseance overgedragen van rechtbank",
    "status": "opened",
    "rulingDate": "2026-09-10",
    "publicationDate": "2026-09-14",
    "scheduledDate": null,
    "court": "Rechtbank Noord-Holland",
    "administrators": [
      {
        "name": "mr K.A. Martijnse",
        "role": "bewindvoerder",
        "address": "Robijnstraat 11 1812RB ALKMAAR"
      },
      {
        "name": "mr A.G. Moeijes",
        "role": "bewindvoerder",
        "address": "Velserbeek 1 1981LA VELSEN-ZUID"
      }
    ],
    "supervisoryJudge": "mr. M.P. de Valk. Deze surseance van betaling is uitgesproken door Rechtbank Amsterdam. De zaak is overgedragen aan Rechtbank Noord-Holland, met bepaling dat Rechtbank Noord-Holland vanaf heden alle taken die de wet aan de rechtbank opdraagt zal vervullen. Alle vervolg advertenties zullen eveneens door deze rechtbank worden verzorgd",
    "address": "Sluispolderweg 27 1505HJ Zaandam",
    "tradeNames": [],
    "activity": null,
    "sourceUrl": "https://insolventies.rechtspraak.nl/#!/bekendmakingen/20260914000000",
    "sourceName": "Centraal Insolventieregister (Rechtspraak)",
    "text": "Uitspraak surseance van betaling op 10 september 2026 inzake (S.15/26/1101) De Lekkere Dingen Bakkerij B.V, corr.adr. Sluispolderweg 27 1505HJ Zaandam, vest.adr. Sluispolderweg 27 1505HJ Zaandam, KvK: 33120758 hodn De Lekkere Dingen Bakkerij B.V. vest.adr. Sluispolderweg 27 1505HJ Zaandam. Bwv: mr K.A. Martijnse, Robijnstraat 11 1812RB ALKMAAR , Bwv: mr A.G. Moeijes, Velserbeek 1 1981LA VELSEN-ZUID . RC: mr. M.P. de Valk. Deze surseance van betaling is uitgesproken door Rechtbank Amsterdam. De zaak is overgedragen aan Rechtbank Noord-Holland, met bepaling dat Rechtbank Noord-Holland vanaf heden alle taken die de wet aan de rechtbank opdraagt zal vervullen. Alle vervolg advertenties zullen eveneens door deze rechtbank worden verzorgd.",
    "checkedAt": "2026-09-15T20:00:00.000Z"
  }
}
```

### Pricing

| Event | Name | What it means | Price |
| --- | --- | --- | --- |
| `apify-actor-start` | Actor start | Charged by Apify when a run starts: once for a run of up to 1 GB of memory, and once more for every extra GB. It covers the first five seconds of compute. | $0.00005 per run up to 1 GB of memory ($0.05 per 1,000) |
| `case-delivered` **(primary)** | Case delivered | One insolvency publication about a legal entity, normalised: company, registration number, procedure, event, status, ruling date, court and administrator. In monitor mode charged for every case of the first (baseline) run, then for new publications only. | $0.02 per case publication ($20.00 per 1,000) |

A working day brings roughly 25 Dutch and 40 Belgian company publications with the default events: about $1.30 a day, $30 a month, for the complete Benelux picture. A watch pays for its baseline once, on its first run (or after a new `stateKey` or a change of procedures or events), at the same price per case as a lookup; besides the window, that baseline includes every entry the WHOA register currently lists. A run takes cases in the order of `countries`: for the Netherlands the insolvency register oldest publication day first, then the WHOA entries; for Belgium the Staatsblad oldest publication day first. A lookup stops reading at the last case that `maxItems` and your maximum cost per run cover: it reads no further publication day, register or pair of Belgian notices, and a maximum cost per run below one case reads nothing. When `maxItems` or your maximum cost per run ends a first run early, the watch starts from the cases taken until then, and a later run delivers the rest as new cases while their publication day is still inside its `lookbackDays` window (WHOA entries: while the register lists them). A new watch starts only in a run with room for at least one of its cases after the countries before it, under `maxItems` and under your maximum cost per run: until then that country is not read or recorded, the run log says why, and the run ends partial, or failed when no other country could be read. Not charged: publications a watch already delivered, natural persons (never delivered), and a country whose register did not answer.

### FAQ

#### How current is the Benelux insolvency data?

The Dutch register publishes on every working day and the Actor reads it live; the Belgian Staatsblad appears daily and notices are read the day they appear. A daily schedule at 09:00 CET catches both.

#### Do you deliver the KvK or KBO number for every case?

For nearly every Dutch company publication (the register prints it) and for every Belgian notice that carries an enterprise number. When a Belgian notice has neither a legal form nor a number, the Actor cannot tell a company from a trader in own name and does not deliver it.

#### What about suspensions of payment and WHOA in Belgium, or judicial reorganisation in the Netherlands?

They do not exist there; the schema has one `procedure` field, and each value occurs in the country whose law knows it. A selection that a country's register never publishes skips that country instead of reading it for nothing.

#### Is it legal and GDPR-compliant?

Both registers are published so that participants in trade can inform themselves about insolvencies; that is the purpose this Actor serves and the purpose the Rechtspraak's conditions require. The Actor delivers legal entities only, which is what keeps the feed usable under the GDPR for you: what remains are companies and, as the registers publish them, the names of the court-appointed trustees and administrators acting in their professional capacity. You remain responsible for how long you keep the data (the Dutch conditions say six months after termination) and for your own GDPR basis.

#### What are the limitations?

- Belgian notices must be read through residential proxies because the Staatsblad rejects data-centre traffic; a day of notices costs a few megabytes of proxy traffic, and a persistently rejected page makes the Belgian part of the run fail rather than deliver incomplete data.
- The Dutch register offers about the last month of daily publications; older cases are not available through this Actor.
- Belgium's RegSol register is not public; the Staatsblad notices are the public record and carry what the court published, in the language of the court.
- Hearings and distribution lists are procedural noise for most uses and are off by default.

### Related Actors

- [NL Hiring Signal Tracker: which companies are growing, from their own job boards](https://apify.com/lwsdjfls/nl-hiring-signal-tracker), the opposite signal for the same account list.
- [Dutch Government Announcements Monitor: permits and zoning decisions per municipality](https://apify.com/lwsdjfls/nl-govt-announcements-monitor), with objection deadlines.

### Support

Found a bug or need a feature? Open an issue on the Actor page. We usually respond within a day.

# Changelog

This Actor's version history is a separate document: https://apify.com/lwsdjfls/benelux-insolvency-radar/changelog.md

# Actor input Schema

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

Lookup: every case publication of the period is delivered. Monitor: the first run delivers the publications of the period (and every entry of the WHOA register) as a baseline, charged per case like a lookup; later runs deliver only publications that are new since the previous run (schedule it daily).

## `countries` (type: `array`):

NL: Centraal Insolventieregister of de Rechtspraak. BE: court notices in the Belgisch Staatsblad / Moniteur belge (Dutch and French).

## `procedures` (type: `array`):

Which procedures to deliver. A country whose register publishes none of the selected procedures and events is not read.

## `events` (type: `array`):

Which events to deliver. Hearings and distribution lists are procedural noise for most credit and sales use; openings, closings, conversions and withdrawals are the signal.

## `lookbackDays` (type: `integer`):

Publication days to read, ending today. In monitor mode keep it larger than the interval between runs; the Dutch register offers about the last month.

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

Caps the charged case publications in one run, taken in the order of Countries. In monitor mode, publications a watch already delivered do not count; new ones that did not fit arrive in a later run while they are still inside its period, and a new watch of a country the cap leaves no room for starts only in a later run with room under the cap.

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

Receives a POST with a summary after each run that delivered publications. Must be a public http(s) address; redirects are not followed. Stored encrypted, because webhook URLs often carry a token.

## `stateKey` (type: `string`):

Separates independent monitors. Defaults to the task ID, so each saved task keeps its own baseline; a new state key starts a new baseline, charged like a lookup.

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

The Belgisch Staatsblad rejects requests from data-centre addresses, so Belgian notices are read through Apify residential proxies by default (a few megabytes a day). The proxy is used for the Staatsblad only: the Dutch registers do not need one and are always read directly.

## Actor input object example

```json
{
  "mode": "lookup",
  "countries": [
    "NL"
  ],
  "procedures": [
    "faillissement",
    "surseance",
    "gerechtelijke-reorganisatie",
    "whoa"
  ],
  "events": [
    "opening",
    "closing",
    "conversion",
    "withdrawal",
    "administration"
  ],
  "lookbackDays": 5,
  "maxItems": 2000,
  "webhookUrl": "https://hooks.example.com/insolvencies",
  "stateKey": "debtors-nl-be",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

Case publications with company, procedure, event, status, court and curator.

## `changes` (type: `string`):

Monitor mode: publications new since the previous run.

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

Counts, failures and the cost of the run.

# 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 = {
    "countries": [
        "NL"
    ],
    "lookbackDays": 5
};

// Run the Actor and wait for it to finish
const run = await client.actor("lwsdjfls/benelux-insolvency-radar").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 = {
    "countries": ["NL"],
    "lookbackDays": 5,
}

# Run the Actor and wait for it to finish
run = client.actor("lwsdjfls/benelux-insolvency-radar").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 '{
  "countries": [
    "NL"
  ],
  "lookbackDays": 5
}' |
apify call lwsdjfls/benelux-insolvency-radar --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,lwsdjfls/benelux-insolvency-radar"
        }
    }
}
```

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/WB3tpZxDZIBD6gkAb/builds/gBQMy0P5tvfQLclYK/openapi.json
