# German Insolvency Announcements — Insolvenzbekanntmachungen (`us0r/insolvenzbekanntmachungen-de`) Actor

Insolvency filings from Germany's official register (insolvenzbekanntmachungen.de) — all 16 states, 193 courts. Full announcement text plus parsed fields: administrator with phone and email, claim deadline, distribution amount, file number. Only 14 days are searchable, so run it as a monitor.

- **URL**: https://apify.com/us0r/insolvenzbekanntmachungen-de.md
- **Developed by:** [us0r](https://apify.com/us0r) (community)
- **Categories:** Lead generation, News
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 announcement with full texts

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## German Insolvency Announcements Scraper (Insolvenzbekanntmachungen)

Every insolvency proceeding in Germany is published on the federal portal
`insolvenzbekanntmachungen.de`, run by the Bundesamt für Justiz. This Actor
collects those announcements — **all 16 federal states, all 193 insolvency
courts** — and returns them with the complete official text and the key figures
already parsed out.

### Why you cannot do this later

**Browsing the register is limited to the last 14 days.** Beyond that window the
portal answers only targeted questions: you have to supply the name you are
looking for, and for consumer proceedings opened from 26 March 2018 the
insolvency court as well (§ 2 InsBekV). Announcements are deleted entirely six
months after the proceeding closes (§ 3 InsBekV).

In other words: you can look up a name you already have, but you cannot go back
and build a list. Nobody can hand you last month's openings in Bavaria after the
fact — they were only ever browsable while they were fresh. That is what this
Actor is for.

To look up names you already have, use the sister Actor
**[German Insolvency Check](https://apify.com/us0r/insolvenz-check-de)**.

### What you get

Per announcement, the list fields plus the parsed contents of the official text:

| Field | Example |
|---|---|
| `datumIso`, `aktenzeichen`, `gericht` | `2026-08-17`, `1507 IN 421/23`, `München` |
| `name`, `sitz` | `"Die Auster" Gaststättenbetriebs-GmbH`, `München` |
| `gegenstand`, `bundesland` | `Eröffnungen`, `Bayern` |
| `verwalter`, `verwalterAdresse`, `verwalterTelefon`, `verwalterEmail` | `Koller Christina`, `Bahnhofstraße 5, 94315 Straubing`, `+49(9421)5333930`, `info@inso-koller.de` |
| `anmeldefristBis` | `2026-10-05` — deadline for filing claims |
| `eroeffnetAm`, `eroeffnetUm` | `2026-08-17`, `10:15` |
| `verteilungsmasse`, `insolvenzforderungen`, `quoteProzent` | `1701.08`, `121659.69`, `0.0` |
| `registergericht`, `registernummer` | `Amtsgericht Hof`, `HRB 6777` |
| `geburtsdatum`, `schuldnerAnschrift`, `geschaeftszweig` | for consumer proceedings |
| `vertretenDurch` | managing directors / board members |
| `termine` | list of hearing dates with times |
| `volltext` | the complete official announcement |
| `id` | stable hash, for deduplication across runs |

Fields that a particular announcement does not contain are `null` — never
guessed. A distribution notice has amounts but no administrator appointment; an
opening decision has the administrator but no distribution figures.

### Typical uses

- **Credit risk / debtor monitoring** — watch your customer base for openings and
  dismissals for lack of assets
- **Distressed M\&A and asset deals** — react to openings and protective measures
  within hours, not weeks
- **Lead lists of insolvency administrators** — name, address, phone and email,
  extracted from the appointment decisions
- **Claim deadlines** — `anmeldefristBis` tells creditors when to file
- **Research and market analysis** — insolvency volume by state, court, or type

### Related Actors

**[German Insolvency Check](https://apify.com/us0r/insolvenz-check-de)** answers
the opposite question: you hand it a list of names, it tells you for each one
whether the register has anything on it, which court, which file number and
whether the proceeding is still running. Use this Actor to watch the stream, use
that one to screen a list you already have.

Court-ordered property auctions are published on a different federal portal, and
the same people tend to watch both. **[German Foreclosure Auctions](https://apify.com/us0r/zwangsversteigerungen-de)**
covers about 3,400 live proceedings with the auction date, the court, the property,
its full address and its appraised market value. Some of those auctions are filed
by the insolvency administrator of a case you will find here.

Public authorities sell off what they seize, confiscate and retire on two
official portals of their own. **[German Government Auctions](https://apify.com/us0r/government-auctions-de)**
collects both into one schema — current bid, closing time, pickup address and a
named contact with phone number and e-mail at the selling authority — for the
2,500-odd lots that are live at any given moment.

### Input

Everything is optional. The defaults cover the last three days across all states and
stop after 50 entries, so a first trial run stays short — set `maxErgebnisse` to 0
for a real run.

| Option | Default | Meaning |
|---|---|---|
| `bundeslaender` | all 16 | Which federal states to cover |
| `tageZurueck` | `3` | Days back from today (0 = today only, max 13) |
| `datumVon` / `datumBis` | — | Explicit ISO dates, override `tageZurueck` |
| `gegenstaende` | all | Restrict to openings, dismissals, distributions, … |
| `volltext` | `true` | Fetch the full text (one extra request per entry) |
| `nurNeue` | `false` | Skip anything previous runs already returned |
| `suchbegriff` | — | Keep only entries whose debtor or seat contains this text |
| `maxErgebnisse` | `50` | Stop after N entries; **0 = no limit** |
| `statusSpeicher` | `insolvenz-gesehen` | Named store for `nurNeue`; use different names for independent monitors |
| `pauseSekunden` | `0.2` | Delay before each request to the portal |

**For monitoring, set `nurNeue: true` and schedule the Actor.** It remembers what
it has already returned and only gives you — and only charges you for — genuinely
new announcements.

### Scale and speed

A full national day is roughly 3,000–4,000 announcements. Requests take about
1.3 s for a result list and 0.23 s per full text, so a nationwide daily run with
full texts finishes in about 15 minutes. Restricted to one state it is seconds.

The Actor talks plain HTTP to the portal — no headless browser — which is why it
is fast and cheap to run.

### Limits, honestly

- **14 days maximum.** The Actor browses the register, and browsing is what the
  portal limits to that window; dates further back are silently clamped. This is
  a legal restriction, not a technical one. Targeted lookups by name are not
  affected — that is the sister Actor's job.
- **1,000 hits per query** is the portal's hard cap. The Actor works around it by
  splitting each state-day by announcement type and, if needed, by court. If a
  single court still exceeds 1,000 announcements in one day for one type, that
  segment is logged as incomplete rather than silently truncated.
- **Announcement dates are publication dates.** The decision inside the text is
  often dated earlier.
- **One proceeding can produce several announcements on the same day**, with
  identical list rows and different texts. They are returned as separate records
  and told apart by `id`.
- **Name order follows the source.** Courts write administrators sometimes as
  "Birgitt Breiter" and sometimes as "Breiter Birgitt". The Actor passes through
  what the announcement says rather than guessing which part is the surname.

### Personal data

Consumer insolvency announcements (`IK` file numbers) contain the debtor's name,
date of birth and full home address. That is what the official publication says —
this Actor does not add anything. Processing it is subject to the GDPR and to the
deletion periods of § 3 InsBekV. Build monitoring on it, not a permanent archive.

### Pricing

Pay per event:

| Event | What it covers |
|---|---|
| `actor-start` | once per run |
| `treffer` | one announcement, list fields only |
| `treffer-volltext` | one announcement including the full official text |

You pay for what you take: list-only monitoring is cheap, full texts cost more
because they require a separate request each.

***

Keywords: Insolvenz, Insolvenzbekanntmachungen, Insolvenzverfahren, insolvency
Germany, German insolvency register, Insolvenzverwalter, Regelinsolvenz,
Verbraucherinsolvenz, Restschuldbefreiung, Eröffnung Insolvenzverfahren,
Abweisung mangels Masse, credit risk Germany, debtor monitoring.

# Actor input Schema

## `bundeslaender` (type: `array`):

Which states to cover. Leave empty for all 16.

## `tageZurueck` (type: `integer`):

0 = today only, 1 = today and yesterday. Three days is the default so that a run always covers a working day — German courts publish nothing on weekends. The portal only allows free searching of the last 14 days (§ 2 InsBekV). Ignored when explicit dates are given.

## `datumVon` (type: `string`):

ISO date, e.g. 2026-08-10. Overrides 'days back'. Dates older than 14 days are clamped.

## `datumBis` (type: `string`):

ISO date, e.g. 2026-08-17. Defaults to today.

## `gegenstaende` (type: `array`):

Restrict to certain kinds of announcement. Leave empty for all.

## `volltext` (type: `boolean`):

The full text carries the substance: distribution amounts, claim totals, deadlines, administrators, legal representatives. Costs one extra request per entry (~0.23 s).

## `nurNeue` (type: `boolean`):

Remembers what previous runs already returned and skips it. Turn this on for monitoring so you are not charged for the same entry twice.

## `suchbegriff` (type: `string`):

Only keep entries whose debtor name or registered seat contains this text (case-insensitive).

## `maxErgebnisse` (type: `integer`):

Stop after this many entries. Set 0 for no limit — that is what you want for a real monitoring run; the default of 50 only keeps the very first trial run short.

## `statusSpeicher` (type: `string`):

Named key-value store holding the IDs already seen. Use different names to run several independent monitors.

## `pauseSekunden` (type: `number`):

Seconds to wait before each request to the portal.

## Actor input object example

```json
{
  "bundeslaender": [],
  "tageZurueck": 3,
  "gegenstaende": [],
  "volltext": true,
  "nurNeue": false,
  "maxErgebnisse": 50,
  "statusSpeicher": "insolvenz-gesehen",
  "pauseSekunden": 0.2
}
```

# Actor output Schema

## `announcements` (type: `string`):

Every announcement collected in this run, with the official full text and the parsed fields.

## `administrators` (type: `string`):

The same run reduced to the appointed administrators and their contact details.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("us0r/insolvenzbekanntmachungen-de").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("us0r/insolvenzbekanntmachungen-de").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 '{}' |
apify call us0r/insolvenzbekanntmachungen-de --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,us0r/insolvenzbekanntmachungen-de"
        }
    }
}

```

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/vDaAD0r6pRsWfjxt0/builds/LTME4cJL4PMoyLdbk/openapi.json
