German Insolvency API — Insolvenzbekanntmachungen
Pricing
from $0.005 / actor start
German Insolvency API — Insolvenzbekanntmachungen
German insolvency API. Monitor official company insolvency notices (Insolvenzbekanntmachungen, §9 InsO) from neu.insolvenzbekanntmachungen.de. Filter by company, court, date & notice type; consumer (Verbraucher) cases excluded. JSON output for KYB, credit risk & Bonität monitoring. Unofficial.
Pricing
from $0.005 / actor start
Rating
0.0
(0)
Developer
Patrick Lierse
Maintained by CommunityActor stats
0
Bookmarked
8
Total users
2
Monthly active users
16 days ago
Last modified
Categories
Features
Share
German Insolvency Notices Monitor (Company / Regelinsolvenz)
Unofficial Apify actor that monitors official German company insolvency
announcements (Insolvenzbekanntmachungen, published under §9 InsO) from
neu.insolvenzbekanntmachungen.de.
Not affiliated with or endorsed by any German authority. Data source
attribution: neu.insolvenzbekanntmachungen.de (official announcements, §5 UrhG).
Example
Input
{"court": "München","noticeType": "eroeffnung","maxResults": 1}
Output (one dataset item per company notice, trimmed)
{"companyName": "CL Capital Investments GmbH","court": "München","caseNumber": "1542 IN 1744/25","noticeType": "Eröffnung","noticeDate": "2026-06-12","registeredAddress": "Hettstedt","registerReference": "HRB 12345"}
(Each item also carries sourceUrl, cachedAt and dataSource. Consumer /
personal-debtor notices are never emitted — see below.)
Please read first
- What this is. This actor searches the official German insolvency portal by company name, insolvency court, publication-date range and notice type, and returns structured, company-only notices (court, case number, notice type, date, registered seat, register reference). It is a monitoring tool for counterparty, supplier and debtor risk.
- Unofficial tool — not affiliated with or endorsed by any German authority. The data comes from the official portal but this actor is an independent third-party tool. Notices may contain errors; verify against the source before relying on them.
- Public-data basis (§9 InsO) and robots.txt. Insolvency announcements are
published to the public by statute under §9 InsO and are freely readable in a
browser. The portal's
robots.txtdisallows the search path (it targets indexing crawlers of a session-bound JSF app, not statutory public-record lookups). The actor searches the portal, and it never evades rate limits or anti-bot measures. - Company data only — no consumer / personal data (GDPR). Consumer (Verbraucher / "IK") notices and bare natural-person debtors are filtered out in code and never appear in the output; the Vorname (first-name) field is never searched and the free-text notice body is never fetched. If you process the output you become the data controller for it under the GDPR.
- Full legal basis. See ./COMPLIANCE.md for the complete Legitimate Interest Assessment (LIA) and design rules.
What it does
Searches the official portal by company name, insolvency court, publication date range, and notice type, and returns structured, company-only results. Use it to monitor counterparties, suppliers, and debtors for insolvency events (openings, dismissals for lack of assets, decisions in proceedings, …).
Company notices only — by design
This actor returns company / legal-entity insolvencies only. Consumer (Verbraucher / "IK") notices and bare natural-person debtors are filtered out in code and never appear in the output. The Vorname (first-name) search field is never used, and the free-text notice body is not fetched. See ./COMPLIANCE.md for the full design rule and Legitimate Interest Assessment.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
companyName | string | — | Debtor name/keyword (Firma/Nachname). Optional. |
court | string | — | Insolvency court name, e.g. "München". Optional. |
dateFrom | string | 14 days ago | Publication date from, YYYY-MM-DD. |
dateTo | string | today | Publication date to, YYYY-MM-DD. |
noticeType | enum | All | Eröffnung, Abweisung mangels Masse, … (Gegenstand). |
maxResults | int | 20 | 1–100. |
The portal lists at most 1000 hits per search and refuses to list beyond that — keep date ranges tight for broad (no-name) queries.
Run outcome (SEARCH_STATUS)
Every run writes SEARCH_STATUS to its key-value store. All three outcomes
end with the run SUCCEEDED, so automated jobs should branch on status:
status | Meaning |
|---|---|
found | Notices returned (results > 0). |
no_results | The portal answered; no company notice matched. |
too_many_results | Over the portal's 1000-hit cap: nothing could be listed. Not "no notices" — narrow the search (date range, noticeType, company name) and run again. |
{ "status": "too_many_results", "results": 0, "portalLimit": 1000, "fromCache": false,"query": { "companyName": null, "court": null, "dateFrom": "2026-07-01", "dateTo": "2026-10-27", "noticeType": null, "maxResults": 20 },"message": "Too many notices to return (portal limit 1000). …" }
Output (one dataset item per notice)
{"companyName": "CL Capital Investments GmbH","court": "München","caseNumber": "1542 IN 1744/25","noticeType": "Eröffnung","noticeDate": "2026-06-12","registeredAddress": "Hettstedt","registerReference": "HRB 12345","sourceUrl": "https://neu.insolvenzbekanntmachungen.de/ap/suche.jsf","cachedAt": "2026-06-12T20:00:00.000Z","dataSource": "neu.insolvenzbekanntmachungen.de/ap"}
No persons / personal-debtor fields are ever emitted. sourceUrl is the search
page: individual notices are JSF postbacks with no stable GET URL.
Polite by construction
- 30 requests/hour hard limit (sliding window, persisted across runs).
- 12-hour cache — repeat queries cost zero HTTP requests.
- Audit log of every request, saved to the run's key-value store (
AUDIT_LOG). - No proxy rotation, captcha solving, or anti-bot evasion. If the portal signals automated access is unwelcome, the actor pauses rather than adapts.
robots.txt
The actor searches the portal. The data is publicly mandated by §9 InsO and
freely accessible in a browser, and the portal's robots.txt disallows the
search path only because it is aimed at indexing crawlers of a POST-only,
session-bound JSF app — not at statutory public-record lookups. The actor never
evades rate limits or anti-bot measures. (Until 0.1.13 a respectRobots option
existed; it could only refuse the search, so it was removed. Old inputs that
still send it run normally.) See ./TECHNICAL_SPEC.md
and ./COMPLIANCE.md.
Pricing (pay-per-event)
This actor uses Apify's standard auto-charged events. Suggested prices, to be configured by the operator in the Apify Console → Monetization (not set here):
| Event | Suggested price |
|---|---|
apify-actor-start (auto, per run) | $0.005 |
apify-default-dataset-item (auto, per result) | $4.00 / 1000 |
A future deep-record event is reserved for fetching the full notice text but
is not wired up (the notice body carries personal data and isn't needed).
Local development
export PATH="$HOME/node20/bin:$PATH"npm installnpm test # offline + edge-case + rate-limit testsnode test/run-local.mjs '{"court":"München","noticeType":"eroeffnung"}'
Support
- Questions, bug reports, data-subject requests: https://apify.com/pat1987/german-insolvency-notices-monitor/issues
- Operator contact: patrick.lierse@googlemail.com
Disclaimer
Unofficial tool. Insolvency data originates from the official portal and may contain errors; verify against the source before relying on it. Users who process the output assume their own controller responsibilities under GDPR.