Insolvenz-Datenbank als REST-API
Direkter Zugriff auf über 3,8 Millionen Insolvenzbekanntmachungen aus Deutschland. Einfache Integration in Ihre eigenen Anwendungen — kein Scraping, keine Wartung. Mit dem Match-Endpunkt gleichen Sie Ihren Kundenbestand direkt aus dem CRM ab — oder Sie fragen Ihren KI-Assistenten über den MCP-Server.
Pläne
Schlüssel sofort im Dashboard erzeugen, keine Kreditkarte. Ein Trial je Konto.
- 30 Tage kostenlos testen
- Schlüssel sofort im Dashboard erzeugen
- 1.000 Anfragen insgesamt
- 10 Anfragen/Minute
- Bis zu 100 Ergebnisse pro Anfrage
- Historie der letzten 24 Monate
- Vollzugriff auf 3,8 Mio+ Insolvenzeinträge
- Unbegrenzte Anfragen
- Bis zu 1.000 Ergebnisse pro Anfrage
- 30 Anfragen/Minute (Soft-Limit)
- JSON · jede Programmiersprache
- Nutzungsstatistiken im Dashboard
Authentifizierung
Jede Anfrage muss einen API-Schlüssel im Authorization-Header enthalten. Schlüssel werden im Dashboard unter API-Zugang generiert.
Authorization: Bearer imk_<ihr-api-schlüssel>
Endpunkte
/api/v1/insolvenciesDurchsuchen Sie die Insolvenz-Datenbank mit optionalen Filtern. Gibt bis zu 1.000 Ergebnisse pro Anfrage zurück.
Query-Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| q | string | Volltextsuche im Schuldnernamen und Bekanntmachungstext |
| registration_number | string | Exakte Übereinstimmung mit dem Handelsregistereintrag |
| court | string | Gericht (Teilübereinstimmung) |
| case_number | string | Exaktes Aktenzeichen |
| category | string | Kategorie (z.B. Eröffnungen, Sicherungsmaßnahmen) |
| from | YYYY-MM-DD | Untergrenze für Bekanntmachungsdatum |
| to | YYYY-MM-DD | Obergrenze für Bekanntmachungsdatum |
| limit | integer | Ergebnisse pro Seite, max 1.000 (Standard: 100) |
| offset | integer | Seitennummerierung (Standard: 0) |
Beispiel
curl -X GET "https://insolvenzmonitor.online/api/v1/insolvencies?from=2026-03-16&to=2026-03-16&limit=1000" \ -H "Authorization: Bearer imk_ihre_api_key"
Antwort
{
"data": [
{
"id": 1234567,
"debtor_name": "Beispiel GmbH",
"location": "München",
"court": "Amtsgericht München",
"case_number": "1501 IN 1234/24",
"publication_date": "2026-03-16",
"category": "Eröffnungen",
"notice_text": "Über das Vermögen der Schuldnerin...",
"hr_entry": "HRB 12345"
}
],
"pagination": {
"total": 4832,
"limit": 1000,
"offset": 0,
"has_more": true
}
}/api/v1/insolvencies/:idRuft eine einzelne Insolvenzbekanntmachung anhand ihrer numerischen ID ab.
curl "https://insolvenzmonitor.online/api/v1/insolvencies/1234567" \ -H "Authorization: Bearer imk_ihre_api_key"
/api/v1/matchGleichen Sie Ihren Kundenbestand gegen die Insolvenzbekanntmachungen ab — mit derselben Matching-Logik, die das Insolvenzmonitor-Monitoring nutzt. Sie senden eine Liste von Kunden (Name, optional PLZ, Handelsregisternummer, Aktenzeichen) und erhalten je Kunde die passenden Bekanntmachungen mit Trefferquote. Gedacht für die Anbindung an CRM- oder ERP-Systeme. Jeder Aufruf zählt als eine Anfrage, unabhängig von der Zahl der Kunden. Vollständige Referenz mit Matching-Verfahren →
- Erstabgleich eines neuen Kunden:
sinceetwa ein Jahr zurück. - Täglicher Abgleich: den aktiven Bestand in Paketen senden,
since= heute − 5 Tage (die Überlappung fängt spät veröffentlichte Bekanntmachungen ab).
Request-Body (JSON)
| Feld | Typ | Beschreibung |
|---|---|---|
| customers | array | Pflicht. Ihre Kunden, die abgeglichen werden sollen: bis zu 50 je Anfrage auf API Standard, 5 auf API Trial. Größere Bestände in mehreren Anfragen nacheinander senden. |
| customers[].name | string | Pflicht. Firmen- oder Personenname, wie in Ihrem System gespeichert. |
| customers[].ref | string | Optional. Ihre eigene Kennung (z.B. CRM-ID), wird im Ergebnis zurückgegeben. Ohne Angabe: Position im Array. |
| customers[].zip | string | Optional. Fünfstellige PLZ. Ist sie angegeben, muss sie im Bekanntmachungstext vorkommen, sonst wird ein Treffer über den Namen verworfen (gleichnamige Firma an anderem Ort). |
| customers[].hr | string | Optional. Handelsregisternummer im Format „HRB 12345“. Präzisiert Treffer, findet aber ohne passenden Namen nichts – name immer mitsenden. |
| customers[].court | string | Optional. Gericht, zusammen mit case_number oder hr für exakte Treffer. |
| customers[].case_number | string | Optional. Aktenzeichen, zusammen mit court ein exakter Treffer. |
| since | YYYY-MM-DD | Optional. Frühestes Bekanntmachungsdatum. Standard: heute − 30 Tage. Frühestens 01.01.2019 (API Trial: letzte 24 Monate). |
| min_confidence | number | Optional. Mindestsicherheit eines Namenstreffers, 0,50–1,00. Standard: 0,85. |
Beispiel
curl -X POST "https://insolvenzmonitor.online/api/v1/match" \
-H "Authorization: Bearer imk_ihre_api_key" \
-H "Content-Type: application/json" \
-d '{
"since": "2026-01-01",
"customers": [
{ "ref": "crm-1001", "name": "Muster Bau GmbH", "zip": "50667", "hr": "HRB 12345" },
{ "ref": "crm-1002", "name": "Beispiel Handel GmbH" }
]
}'Antwort
{
"since": "2026-01-01",
"results": [
{
"ref": "crm-1001",
"status": "match",
"matches": [
{
"confidence": 0.972,
"match_basis": "fuzzy_name",
"debtor_name": "Muster Bau GmbH",
"location": "Köln",
"court": "Amtsgericht Köln",
"case_number": "71 IN 123/26",
"category": "Eröffnungen",
"publication_date": "2026-03-14",
"notice_text": "Amtsgericht Köln, Aktenzeichen 71 IN 123/26 ...",
"bundesland": "Nordrhein-Westfalen",
"branche": "Baugewerbe & Handwerk (Inkl. Baunebengewerbe)",
"insolvency_id": 1839201,
"company_page_url": "https://insolvenzmonitor.online/insolvenz/muster-bau-gmbh-koeln-hrb-12345"
}
]
},
{ "ref": "crm-1002", "status": "no_match", "matches": [] }
]
}results steht in derselben Reihenfolge wie customers, die Treffer je Kunde sind nach Sicherheit sortiert. since gibt das tatsächlich angewandte Datum zurück. Die Felder sind unter Antwortfelder beschrieben; bundesland und branche können null sein.
Trefferarten (match_basis)
| match_basis | confidence | Bedeutung |
|---|---|---|
| exact_case_court | 1,00 | Aktenzeichen und Gericht stimmen überein |
| exact_registration_court | 1,00 | Handelsregisternummer und Gericht stimmen überein |
| exact_registration | 0,95 | Handelsregisternummer stimmt überein |
| fuzzy_name | Score | Unscharfer Namensabgleich (Umlaute, Rechtsformen und Schreibweisen werden normalisiert) |
Gut zu wissen
- Gesucht wird über den Namen. Kandidaten sind Bekanntmachungen, deren Schuldnername mit einem Wort Ihres Kundennamens beginnt. „Müller Bau GmbH“ findet „Müller Bau GmbH & Co. KG“, „Bau Müller“ (umgekehrte Reihenfolge) eventuell nicht.
- Kein Kategoriefilter: Es kommen Treffer aller Kategorien (Eröffnungen, Abweisungen, Sicherungsmaßnahmen, Verteilungsverzeichnisse …). Filtern Sie bei Bedarf über
category. - Firmen und Personen werden nie miteinander abgeglichen. Bei Personen müssen Nachname und Vornamen passen.
company_page_urlist nur gesetzt, wenn es zur Firma eine öffentliche Firmenseite gibt (Firmen mit Handelsregistereintrag und Verfahren seit 2024). Für Privatpersonen, Einzelunternehmen ohne Registereintrag und ältere Fälle ist der Wertnull.- Datenschutz:
notice_textenthält den vollständigen Bekanntmachungstext — bei Privatpersonen mit Name, Anschrift und oft Geburtsdatum. Bitte DSGVO-konform verarbeiten. Die übermittelten Kundendaten verwenden wir nur für den Abgleich und speichern sie nicht. Wenn Ihre Liste das Haus nicht verlassen soll, nutzen Sie stattdessenGET /api/v1/insolvenciesund gleichen selbst ab.
Paginierung
Die API gibt maximal 1.000 Ergebnisse pro Anfrage zurück. Für größere Ergebnismengen nutzen Sie offset zur Seitennavigation. Das Feld has_more zeigt an, ob weitere Seiten folgen.
# Seite 1 (Zeilen 1–1000) GET /api/v1/insolvencies?from=2026-03-16&limit=1000&offset=0 # Seite 2 (Zeilen 1001–2000) GET /api/v1/insolvencies?from=2026-03-16&limit=1000&offset=1000
Antwortfelder
Felder einer Bekanntmachung bei /insolvencies. Bei /match heißt die ID insolvency_id und hr_entry entfällt; dafür kommen confidence, match_basis, bundesland, branche und company_page_url hinzu.
| Feld | Typ | Beschreibung |
|---|---|---|
| id | integer | Eindeutige numerische ID des Eintrags |
| debtor_name | string | Name des Schuldners (Person oder Unternehmen) |
| location | string | Wohnsitz oder Geschäftsadresse |
| court | string | Zuständiges Insolvenzgericht |
| case_number | string | Aktenzeichen des Verfahrens |
| publication_date | string | Datum der Bekanntmachung (ISO 8601) |
| category | string | Verfahrenskategorie (z.B. Eröffnungen) |
| notice_text | string | Volltext der Bekanntmachung |
| hr_entry | string | null | Handelsregistereintrag (falls vorhanden) |
Ratenlimits
Auf API Standard ist das Minutenlimit von 30 Anfragen ein Soft-Limit — Anfragen werden nicht blockiert, aber der Response-Header X-RateLimit-Burst: limited wird gesetzt. Es gibt kein Anfragekontingent.
Auf API Trial werden die Limits durchgesetzt: 1.000 Anfragen insgesamt und 10 Anfragen/Minute. Wird eines überschritten, antwortet die API mit 429 und dem Fehlercode QUOTA_EXCEEDED bzw. RATE_LIMITED. Außerdem sind Antworten auf 100 Zeilen und die Historie auf die letzten 24 Monate begrenzt.
Fehlercodes
| HTTP | Code | Bedeutung |
|---|---|---|
| 401 | MISSING_KEY | Kein API-Schlüssel angegeben |
| 401 | INVALID_KEY | Ungültiger oder widerrufener Schlüssel |
| 400 | INVALID_REQUEST | Ungültiger Request-Body (z.B. Kunde ohne name, PLZ nicht fünfstellig, since in der Zukunft) – nur /match |
| 400 | BATCH_TOO_LARGE | Zu viele Kunden in einer Anfrage – nur /match |
| 403 | PLAN_EXPIRED | Kein aktiver Plan — Trial abgelaufen oder Abo beendet |
| 429 | QUOTA_EXCEEDED | Anfragekontingent aufgebraucht (nur Trial) |
| 429 | RATE_LIMITED | Minutenlimit überschritten (nur Trial) |
| 400 | INVALID_ID | Ungültige ID (nur Integer erlaubt) |
| 404 | NOT_FOUND | Kein Eintrag mit dieser ID gefunden |
| 500 | INTERNAL_ERROR | Datenbankfehler |