Insolvenz-Radar API Documentation

Overview

The Insolvenz-Radar API provides access to insolvency data with comprehensive search capabilities, authentication, and rate limiting. The API follows RESTful principles.

Base URL

https://api.insolvenz-radar.de/v1

API Version

v1

Features

  • RESTful API design
  • API Key authentication
  • Rate limiting per company
  • Comprehensive search functionality
  • Field selection for optimized responses
  • Wildcard search support
  • Pagination support
  • CORS enabled
  • JSON responses

Authentication

All API requests require authentication using an API key. The API key must be included in the request headers.

Get your API Key

  1. Sign up for a free account or log in.
  2. Go To API Settings and copy the API Key.

Header Format

X-API-Key: your-api-key-here

Authentication Flow

  1. Include your API key in the X-API-Key header
  2. If valid, the request proceeds; if invalid, returns 401 Unauthorized
Note: API keys are account specific and determine rate limiting and access permissions.

Rate Limiting

The API implements rate limiting on a per account basis with daily windows. Rate limits depend on your plan.

Rate Limit Headers

Header Description Example
X-RateLimit-Limit Maximum requests allowed per day 1000
X-RateLimit-Remaining Remaining requests today 847

Rate Limit Behavior

  • Rate limits reset every day
  • When rate limit is exceeded, API returns 429 Too Many Requests

Endpoints

GET

Health Check

/health

Check account health status.

Response

{
  "ok": true
}
GET

Search Entries

/entries/search

Search and filter insolvency entries with pagination support, field selection, and wildcard search.

All values need to be URL encoded.

Query Parameters

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)
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
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 debtor location (supports wildcards with *)
gericht string No Exact match on court name
reg_number string No Exact match on registration number (e.g. HRB 16674)
reg_type string No Exact match on registration type (e.g. HRB)
register string No Exact match on register (e.g. 16674)
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 *, e.g. "An- und Verkauf von Immobilien")
industry string No Filter by industry name (supports wildcards with *, e.g. *Immobilien*). Available values are listed in Industry Values. Available from the Business plan.
discharged boolean No Filter by discharge status: true/1 for discharged (Restschuldbefreiung erteilt), false/0 for not discharged. Available from the Business plan.
discharge_date_from date No Filter by discharge date from (YYYY-MM-DD). Available from the Business plan.
discharge_date_to date No Filter by discharge date to (YYYY-MM-DD). Available from the Business plan.
business_insolvencies boolean No Return only business insolvencies (Firmeninsolvenzen). Accepted values: true or 1.
consumer_insolvencies boolean No Return only consumer insolvencies (Verbraucherinsolvenzen). Accepted values: true or 1.
Discharge (Restschuldbefreiung): You can request the fields discharged and discharge_date in the fields parameter, and filter by discharged, discharge_date_from, and discharge_date_to. All of these are available from the Business plan.

Response

{
  "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",
      "firstname": "Max",
      "lastname": "Mustermann",
      "birthday": "1980-05-15",
      "reg_number": "HRB 266691",
      "reg_type": "HRB",
      "reg_number_number": 266691,
      "administrator": {
        "name": "Rechtsanwalt Niklas Lütcke",
        "street": "Lennéstraße 7",
        "zip": "10785",
        "city": "Berlin",
        "office": "Kanzlei Mitte",
        "phone": "+49 30 1234567",
        "fax": "+49 30 1234568",
        "email": "kanzlei@beispiel.de",
        "url": "https://www.beispiel-kanzlei.de"
      },
      "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",
      "discharged": false,
      "discharge_date": null,
      "message": "In dem Insolvenzverfahren über das Vermögen der Musterhandel GmbH, Beispielstraße 1, 12345 Musterstadt, 
                  vertreten durch die Geschäftsführerin Maxima Beispiel Registergericht: Amtsgericht Musterstadt Register-Nr.: HRB 123456 – Schuldnerin –
                  Das Insolvenzverfahren wird nach Abhalten des Schlusstermins im schriftlichen Verfahren
                  und Vollzug der Schlussverteilung a u f g e h o b e n . Rechtsbehelfsbelehrung..... " } ], "meta": { "page": 1, "per_page": 25, "total": 1500 } }

Search Parameters Details

Wildcard Search

Most string parameters support wildcard search using the * character:

  • name=*GmbH* - Find companies with "GmbH" in the name
  • firstname=*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 purpose
  • industry=*Pharma* - Find entries with industry names containing "Pharma"

Industry Values

The industry parameter accepts the following values (exact match or wildcard search with *):

Industry Value
Automobil
Industrie & Produktion
Bau & Handwerk
Handel
eCommerce
Telekommunikation
Landwirtschaft
IT & Software
Dienstleistungen
Gesundheit
Finanzen & Versicherungen
Immobilien
Transport & Logistik
Energie & Umwelt
Gastronomie
Pharma
Tourismus
Bildung & Forschung
Medien & Marketing
Recht & Steuern
Öffentlicher Sektor
Sonstige

Entry Types

The 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 Filtering

Date parameters accept YYYY-MM-DD format:

  • veroeffentlicht_from / veroeffentlicht_to – Publication date range (00:00:00 to 23:59:59)
  • discharge_date_from / discharge_date_to – Discharge date range (available from the Business plan)

Pagination

Pagination is handled via page and per_page parameters:

  • Page numbers start at 1
  • Items per page:
    • The maximum number of items per page is determined by your pricing plan:
    • Free: 3
    • Standard: 25
    • Business: 100
    • Expert: 100

Field Selection

Use the fields parameter to specify which fields to return in the response. This can significantly reduce response size and improve performance.

Available Fields

Field Type Description
veroeffentlichtstringPublication date (ISO 8601)
azstringCase number
gerichtstringCourt name
namestringCompany name
sitzstringCompany location
registerstringRegister information
typestringEntry type
firstnamestringFirst name
lastnamestringLast name
birthdaystringBirth date (YYYY-MM-DD)
reg_numberstringRegistration number (e.g. HRB 123456)
administratorobjectAdministrator details object with fields: name, street, zip, city, office, phone, fax, email, url.
debtor_address_streetstringDebtor street address
debtor_address_housenumberstringDebtor house number
debtor_address_postcodestringDebtor postal code
debtor_address_citystringDebtor city
company_purposestringCompany purpose (Unternehmensgegenstand)
This field is only returned in pricing plans Business and Expert.
messagestringThis is the actual text of the insolvency notice.
Important: This field is only returned if it is explicitly mentioned in the fields parameter.
If the fields parameter is missing, it is not returned.
This field is only returned in pricing plans Business and Expert.
industrystringIndustry classification of the company (Branche)
This field is only returned in pricing plans Business and Expert.
dischargedbooleanWhether the debtor has been granted discharge (Restschuldbefreiung). You can request this in fields. Available from the Business plan.
discharge_datestring (YYYY-MM-DD)Date on which discharge was granted, or null if not (yet) discharged. You can request this in fields. Available from the Business plan.

Usage Examples

?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.

Note: If no fields are specified, all available fields are returned. Invalid field names are ignored.

Response Format

Success Responses

All successful responses return JSON with UTF-8 encoding and include appropriate headers.

Data Fields

Field Type Description
veroeffentlichtstring (ISO 8601)Publication date
azstringCase number
gerichtstringCourt name
namestringCompany name
sitzstringCompany location
registerstringRegister information
typestringEntry type
firstnamestringFirst name
lastnamestringLast name
birthdaystring (YYYY-MM-DD)Birth date
reg_numberstringRegistration number
reg_typestringRegistration type
reg_number_numberintegerNumeric registration number
administratorobjectAdministrator details object with fields: name, street, zip, city, office, phone, fax, email, url.
debtor_address_streetstringDebtor street address
debtor_address_housenumberstringDebtor house number
debtor_address_postcodestringDebtor postal code
debtor_address_citystringDebtor city
company_purposestringCompany purpose (Unternehmensgegenstand)
This field is only returned in pricing plans Business and Expert.
company_linkstringThe URL to the Insolvenz-Radar website with the company details.
entry_linkstringThe URL to the Insolvenz-Radar website with the published text.
messagestringThis is the actual text of the insolvency notice.
Important: This field is only returned if it is explicitly mentioned in the fields parameter.
If the fields parameter is missing, it is not returned.
This field is only returned in pricing plans Business and Expert.
industrystringIndustry classification of the company (Branche)
This field is only returned in pricing plans Business and Expert.
dischargedbooleanWhether the debtor has been granted discharge (Restschuldbefreiung). Available from the Business plan.
discharge_datestring (YYYY-MM-DD) or nullDate discharge was granted; null if not discharged. Available from the Business plan.

Error Handling

HTTP Status Codes

Code Status Description
200OKRequest successful
401UnauthorizedMissing or invalid API key
404Not FoundEntry not found
429Too Many RequestsRate limit exceeded
500Internal Server ErrorServer error

Error Response Format

{
  "error": "Error message description"
}

Common Error Messages

  • "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

Examples

Basic Search

curl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/entries/search?name=GALERIA%20Karstadt%20Kaufhof%20GmbH&page=1&per_page=10"

Exact search for name

Wildcard Search

curl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/entries/search?lastname=*meier*&firstname=*a*"

Date Range Search

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"

Field Selection

curl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/entries/search?fields=name,firstname,lastname,birthday"

Filter by Court and Type

curl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/entries/search?gericht=*M%C3%BCnchen*&type=eroeffnung"

Complex Search with Multiple Filters

curl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/entries/search?lastname=*meier*&veroeffentlicht_from=2023-01-01&type=entscheidung_im_verfahren&fields=name,firstname,lastname,birthday,gericht&page=1&per_page=50"

Debtor Address Search

curl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/entries/search?debtor_address_city=*Berlin*&debtor_address_street=*Hauptstra%C3%9Fe*&fields=name,firstname,lastname,debtor_address_street,debtor_address_city"

Filter by discharge status and date

Request discharged and discharge_date in fields; filter with discharged, discharge_date_from, and discharge_date_to. Available from the Business plan.

curl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/entries/search?discharged=true&fields=name,veroeffentlicht,discharged,discharge_date"

Entries where the debtor has been granted discharge (Restschuldbefreiung).

curl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/entries/search?discharge_date_from=2024-01-01&discharge_date_to=2024-12-31&fields=name,discharge_date"

Entries with a discharge date in the given range.

Health Check

curl -H "X-API-Key: your-api-key" "https://api.insolvenz-radar.de/v1/health"

PHP Example


// Your API key
$apiKey = 'your-api-key';

// Base URL
$baseUrl = 'https://api.insolvenz-radar.de/v1/entries/search';

// Helper function to perform the API request with curl
function callApi($url, $apiKey) {
    $ch = curl_init();

    curl_setopt_array($ch, [
        CURLOPT_URL => $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => [
            'X-API-Key: ' . $apiKey,
            'Content-Type: application/json'
        ],
        CURLOPT_TIMEOUT => 30,
    ]);

    $response = curl_exec($ch);
    $error = curl_error($ch);
    curl_close($ch);

    if ($error) {
        echo "cURL error: $error\n";
        return null;
    }

    $data = json_decode($response, true);
    return $data;
}

// --- Example: Search with wildcard and field selection ---
$query = http_build_query([
    'name' => 'Galeria*',
    'fields' => 'veroeffentlicht,name,register, administrator'
]);

$data = callApi("$baseUrl?$query", $apiKey);

var_dump($data);
Python Example
import requests

# Search with field selection
response = requests.get(
    'https://api.insolvenz-radar.de/v1/entries/search',
    params={
        'name': 'GALERIA%20Karstadt%20Kaufhof%20GmbH',
        '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()}")