The Insolvenz-Radar API provides access to insolvency data with comprehensive search capabilities, authentication, and rate limiting. The API follows RESTful principles.
https://api.insolvenz-radar.de/v1
All API requests require authentication using an API key. The API key must be included in the request headers.
X-API-Key: your-api-key-here
X-API-Key
headerThe API implements rate limiting on a per account basis with hourly windows. Rate limits depend on your plan.
Header | Description | Example |
---|---|---|
X-RateLimit-Limit |
Maximum requests allowed per hour | 1000 |
X-RateLimit-Remaining |
Remaining requests in current hour | 847 |
429 Too Many Requests
/health
Check account health status.
{
"ok": true
}
/entries/search
Search and filter insolvency entries with pagination support, field selection, and wildcard search.
Parameter | Type | Required | Description |
---|---|---|---|
page |
integer | No | Page number (default: 1) |
per_page |
integer | No | Items per page (1-100, default: 25) |
sort |
string | No | Sort field: veroeffentlicht (default: veroeffentlicht) |
order |
string | No | Sort order: asc or desc (default: desc) |
fields |
string | No | Comma-separated list of fields to return (see Field Selection section) |
q |
string | No | Full-text search across multiple fields |
veroeffentlicht_from |
date | No | Filter by publication date from (YYYY-MM-DD) |
veroeffentlicht_to |
date | No | Filter by publication date to (YYYY-MM-DD) |
type |
string | No | Exact match on entry type (supports wildcards with *) |
name |
string | No | Exact match on company name (supports wildcards with *) |
firstname |
string | No | Exact match on first name (supports wildcards with *) |
lastname |
string | No | Exact match on last name (supports wildcards with *) |
birthday |
string | No | Exact match on birth date (YYYY-MM-DD format, supports wildcards with *) |
sitz |
string | No | Exact match on company location (supports wildcards with *) |
gericht |
string | No | Exact match on court name (supports wildcards with *) |
reg_number |
string | No | Exact match on registration number (supports wildcards with *) |
reg_type |
string | No | Exact match on registration type (supports wildcards with *) |
register |
string | No | Exact match on register (supports wildcards with *) |
verwalter |
string | No | Exact match on administrator name (supports wildcards with *) |
debtor_address_street |
string | No | Exact match on debtor street address (supports wildcards with *) |
debtor_address_housenumber |
string | No | Exact match on debtor house number (supports wildcards with *) |
debtor_address_postcode |
string | No | Exact match on debtor postal code (supports wildcards with *) |
debtor_address_city |
string | No | Exact match on debtor city (supports wildcards with *) |
company_purpose |
string | No | Exact match on company purpose (supports wildcards with *) |
{
"data": [
{
"veroeffentlicht": "2024-01-15T10:30:00+00:00",
"az": "AZ 123/24",
"gericht": "Amtsgericht München",
"name": "Example GmbH",
"sitz": "München",
"register": "München, HRB 266691",
"type": "eroeffnung",
"message": "Eröffnung des Insolvenzverfahrens",
"firstname": "Max",
"lastname": "Mustermann",
"birthday": "1980-05-15",
"reg_number": "HRB 266691",
"reg_type": "HRB",
"reg_number_number": 266691,
"verwalter": "Dr. Max Mustermann",
"debtor_address_street": "Hauptstraße",
"debtor_address_housenumber": "123",
"debtor_address_postcode": "80331",
"debtor_address_city": "München",
"company_purpose": "Handel mit Waren aller Art"
}
],
"meta": {
"page": 1,
"per_page": 25,
"total": 1500
}
}
The q
parameter performs a full-text search across the following fields:
name
- Company namesitz
- Company locationmessage
- Insolvency messageverwalter
- Administrator namefirstname
- First namelastname
- Last nameregister
- Register informationcompany_purpose
- Company purpose (Unternehmensgegenstand)Most string parameters support wildcard search using the *
character:
name=*GmbH*
- Find companies with "GmbH" in the namefirstname=*i*m*
- Find first names containing "i" and "m"lastname=Meyer
- Exact match (no wildcards)debtor_address_street=*Hauptstraße*
- Find debtors on streets containing "Hauptstraße"debtor_address_city=*München*
- Find debtors in cities containing "München"debtor_address_postcode=144*
- Find debtors with postal codes starting with "144"company_purpose=*Software*
- Find companies with "Software" in their purposeThe type
parameter accepts specific values for different insolvency procedures and decisions:
Type Value |
---|
sicherungsmassnahme |
abweisung_mangels_masse |
eroeffnung |
entscheidung_im_verfahren |
sonstiges |
entscheidung_nach_aufhebung_des_verfahrens |
verteilungsverzeichnisse |
entscheidung_im_restschuldbefreiungsverfahren |
ueberwachte_insolvenzplaene |
Note: Type values are case-sensitive.
Date parameters accept YYYY-MM-DD format and are automatically converted to full datetime ranges:
veroeffentlicht_from
- From 00:00:00 of the specified dateveroeffentlicht_to
- To 23:59:59 of the specified datePagination is handled via page
and per_page
parameters:
Use the fields
parameter to specify which fields to return in the response. This can significantly reduce response size and improve performance.
Field | Type | Description |
---|---|---|
veroeffentlicht | string | Publication date (ISO 8601) |
az | string | Case number |
gericht | string | Court name |
name | string | Company name |
sitz | string | Company location |
register | string | Register information |
type | string | Entry type |
message | string | Insolvency message |
firstname | string | First name |
lastname | string | Last name |
birthday | string | Birth date (YYYY-MM-DD) |
reg_number | string | Registration number (e.g. HRB 123456) |
verwalter | string | Administrator name |
debtor_address_street | string | Debtor street address |
debtor_address_housenumber | string | Debtor house number |
debtor_address_postcode | string | Debtor postal code |
debtor_address_city | string | Debtor city |
company_purpose | string | Company purpose (Unternehmensgegenstand) |
?fields=name,firstname,lastname,birthday
Returns only company name, first name, last name, and birthday fields.
?fields=veroeffentlicht,gericht,type
Returns only publication date, court, and type fields.
All successful responses return JSON with UTF-8 encoding and include appropriate headers.
Field | Type | Description |
---|---|---|
veroeffentlicht | string (ISO 8601) | Publication date |
az | string | Case number |
gericht | string | Court name |
name | string | Company name |
sitz | string | Company location |
register | string | Register information |
type | string | Entry type |
message | string | Insolvency message |
firstname | string | First name |
lastname | string | Last name |
birthday | string (YYYY-MM-DD) | Birth date |
reg_number | string | Registration number |
reg_type | string | Registration type |
reg_number_number | integer | Numeric registration number |
verwalter | string | Administrator name |
debtor_address_street | string | Debtor street address |
debtor_address_housenumber | string | Debtor house number |
debtor_address_postcode | string | Debtor postal code |
debtor_address_city | string | Debtor city |
company_purpose | string | Company purpose (Unternehmensgegenstand) |
Code | Status | Description |
---|---|---|
200 | OK | Request successful |
401 | Unauthorized | Missing or invalid API key |
404 | Not Found | Entry not found |
429 | Too Many Requests | Rate limit exceeded |
500 | Internal Server Error | Server error |
{
"error": "Error message description"
}
"Missing X-API-Key"
- API key header not provided"Invalid API key"
- API key not found in database"Rate limit exceeded"
- Hourly rate limit reached"Not found"
- Entry with specified ID not found"Rate limiter error"
- Internal rate limiting errorcurl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/entries/search?q=GmbH&page=1&per_page=10"
curl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/entries/search?lastname=*müller*&firstname=*a*"
curl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/entries/search?veroeffentlicht_from=2024-01-01&veroeffentlicht_to=2024-01-31"
curl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/entries/search?fields=name,firstname,lastname,birthday"
curl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/entries/search?gericht=*München*&type=eroeffnung"
curl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/entries/search?lastname=*müller*&veroeffentlicht_from=2023-01-01&type=entscheidung_im_verfahren&fields=name,firstname,lastname,birthday,gericht&page=1&per_page=50"
curl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/entries/search?debtor_address_city=*München*&debtor_address_street=*Hauptstraße*&fields=name,firstname,lastname,debtor_address_street,debtor_address_city"
curl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/health"
// Search for entries with field selection
fetch('https://api.insolvenz-radar.de/v1/entries/search?q=GmbH&fields=name,firstname,lastname,birthday', {
headers: {
'X-API-Key': 'your-api-key',
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => {
console.log('Found entries:', data.data);
console.log('Total:', data.meta.total);
})
.catch(error => {
console.error('Error:', error);
});
// Wildcard search example
fetch('https://api.insolvenz-radar.de/v1/entries/search?lastname=*müller*&firstname=*a*', {
headers: {
'X-API-Key': 'your-api-key',
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => {
console.log('Wildcard search results:', data.data);
});
import requests
# Search with field selection
response = requests.get(
'https://api.insolvenz-radar.de/v1/entries/search',
params={
'q': 'GmbH',
'fields': 'name,firstname,lastname,birthday',
'page': 1,
'per_page': 10
},
headers={'X-API-Key': 'your-api-key'}
)
if response.status_code == 200:
data = response.json()
print(f"Found {data['meta']['total']} entries")
for entry in data['data']:
print(f"Name: {entry['name']}, Person: {entry['firstname']} {entry['lastname']}")
else:
print(f"Error: {response.status_code} - {response.json()}")