APIドキュメント

Germany Insolvencies APIは、ドイツの公式な倒産公告のすべてを構造化データとして提供します。毎日更新され、公告種別、連邦州、裁判所で絞り込めるほか、企業プロフィールや公開済みの決算とも紐づいています。通信はHTTPSとJSONのみで、CSVも要望に応じて提供します。

最終更新: 2026-09-29

アクセスを申請する

キーは一件ずつ手作業で発行しています。作りたいものと想定ボリュームを簡単にお知らせください。通常は1営業日以内に利用可能になります。

アクセスを申請する

はじめに

ドイツの倒産裁判所は、手続の各段階を公式ポータル insolvenzbekanntmachungen.de で公告します。保全措置、手続の開始、財団不足による棄却、配当表、残債務免責などです。このポータルは個別の事件を調べるためのもので、データ処理には向いていません。インターフェースもエクスポート機能もなく、法定期間が過ぎた公告は削除されます。

このAPIはその空白を埋めます。新しい公告を公開当日にすべて収集し、裁判所、連邦州、登記番号、公告種別を正規化して企業プロフィールに紐づけ、JSONまたはCSVで提供します。信用保険会社、債権回収会社、法律事務所、企業の与信管理部門、データジャーナリストが、自社システムへのデータ供給に利用しています。

すべてのリクエストの送信先は https://germanyinsolvencies.com/api/v1 です。APIはHTTPSのみに対応し、JSONを受け取ってJSONで応答します。SDKは必須ではなく、HTTPリクエストを送れる言語であれば利用できます。このページの例ではcurl、Python、Nodeを使っています。

APIは、API利用を有効にしたGermany Insolvenciesのサブスクリプションに含まれます。条件は利用量と用途に応じて個別に取り決めます。

アクセス

セルフサービスでの登録は意図的に設けていません。倒産データには個人情報が含まれるため、連携の目的を把握したうえでキーを手作業で有効化しています。実際の手間は、短いメッセージ1通と1営業日程度です。

お問い合わせフォームか [email protected] 宛てに、次の4点をお知らせください。

  • 作りたいものを2、3文で。
  • 必要な公告種別と対象地域。
  • 月あたりのおおよそのリクエスト数またはチェック対象企業数。
  • Webhookを受信できるか、ポーリングを希望するか。

発行された個人用のキーは、契約に含まれるすべてのエンドポイントですぐに使えます。1つのアカウントに複数の有効なキーを持てるため、ダウンタイムなしでキーを更新できます。

認証

すべてのリクエストで、キーを X-API-Key ヘッダーに付けます。代わりに、同じキーを Authorization ヘッダーのBearerトークンとして渡すこともできます。このヘッダーしか扱えないツールで便利です。

http 同等の2種類のヘッダー
X-API-Key: YOUR_API_KEY

# equivalent
Authorization: Bearer YOUR_API_KEY

キーがない場合、APIは 401 missing_api_key を返します。未知または無効化されたキーには 403 invalid_api_key、サブスクリプションの期限切れには 403 subscription_expired を返します。理由は常にレスポンスの error フィールドに入っています。

キーはパスワードと同じように扱ってください。サーバー側でのみ使い、フロントエンドのコードや公開リポジトリには置かないでください。キーが漏洩した場合はお知らせいただければ、すぐに失効させて新しいキーを発行します。

クイックスタート

最もよく使うリクエストは、最も単純なものでもあります。1日分の開始決定、保全措置、棄却をすべて取得する呼び出しです。1回の呼び出しで、ページ分割はなく、応答は1秒以内に返ります。

bash 1日分の公告
curl -H "X-API-Key: $INSOLVENCY_API_KEY" \
  "https://germanyinsolvencies.com/api/v1/filings?date=2026-09-28&types=eroeffnung,sicherung,abweisung"

日付を指定しない場合、APIは前日分を返します。そのため日次ジョブは簡単に組めます。午前6時過ぎにcronで前日の公告を取得し、自社システムに書き込むだけです。裁判所が公告するのは営業日なので、日曜や祝日は結果が空か、ごく短くなるのが普通です。

過去分をまとめて取得する場合は、最大31日の期間ごとに区切って順に取得します。

python 31日ごとの期間で過去分を取得(Python)
import os, datetime, requests

API = "https://germanyinsolvencies.com/api/v1"
HEAD = {"X-API-Key": os.environ["INSOLVENCY_API_KEY"]}

# Backfill a quarter in 31-day windows, then keep running daily.
start, end = datetime.date(2026, 7, 1), datetime.date(2026, 9, 28)
day = start
while day <= end:
    stop = min(day + datetime.timedelta(days=30), end)
    r = requests.get(API + "/filings", headers=HEAD, params={
        "date_from": day.isoformat(),
        "date_to": stop.isoformat(),
        "types": "eroeffnung,abweisung",
    }, timeout=60)
    r.raise_for_status()
    for f in r.json()["filings"]:
        print(f["date"], f["aktenzeichen"], f["name"])
    day = stop + datetime.timedelta(days=1)

エンドポイント一覧

メソッドパス用途
GET/v1/filings1日または一定期間の公告。種別、連邦州、裁判所、名称で絞り込めます。
GET/v1/filings/{id}全文つきの単一の公告。
GET/v1/companies少なくとも1件の公告に登場する企業を検索します。
GET/v1/companies/{id}現在の手続状況つきの企業プロフィール。
GET/v1/companies/{id}/filings企業に関するすべての公告を時系列で返します。
GET/v1/companies/{id}/financials直近の会計年度について公開された決算数値。
POST/v1/check最大500件の債務者や仕入先を1回の呼び出しでチェックします。
GET/v1/watchlistウォッチ中の企業を一覧表示します。
POST/v1/watchlist企業をウォッチリストに追加します。
DELETE/v1/watchlist/{id}企業をウォッチリストから削除します。
POST/v1/webhooksプッシュ通知を受け取るエンドポイントを登録します。
GET/v1/stats日、月、連邦州、裁判所、種別ごとの集計件数。
GET/v1/typesすべての公告種別と、そのコード、エイリアス、正式名称。
GET/v1/courts連邦州つきの全倒産裁判所。
GET/v1/accountキー、契約範囲、上限、現在の利用状況。

パスは https://germanyinsolvencies.com/api からの相対パスです。したがって最初のエンドポイントの完全なアドレスは https://germanyinsolvencies.com/api/v1/filings になります。

公告の取得

GET /v1/filings はAPIの中核です。指定期間に公開されたすべての公告を、公開日順に、同じ日の中では公開順に返します。

パラメータ形式説明
dateYYYY-MM-DD単一の日。date、date_from、date_toのいずれも指定しない場合は前日になります。
date_fromYYYY-MM-DD期間の開始日(この日を含む)。dateより優先されます。
date_toYYYY-MM-DD期間の終了日(この日を含む)。date_fromから最大31日後まで。日付が逆になっている場合はAPIが入れ替えます。
typescsvカンマ区切りの種別エイリアスまたはコードの一覧。次のセクションを参照してください。省略するとすべての種別が対象です。
bundeslandcsvカンマ区切りの連邦州の一覧。レスポンスと同じ表記で指定します(例: Bayern,Hessen)。
courtstring倒産裁判所の名称(例: Charlottenburg (Berlin))。有効な値は /v1/courts で確認できます。
qstring債務者名と公告本文の全文検索。3文字以上。
formatjson | csvjson(既定)または csv。

レスポンスには、実際に適用された期間、リクエストした種別コード、ヒット件数、公告の配列が含まれます。期間分は常にまとめて返され、このエンドポイントにページ分割はありません。混み合う日でもサイズは1メガバイトを大きく下回ります。

json レスポンス
{
  "date_from": "2026-09-28",
  "date_to": "2026-09-28",
  "types": ["0", "1", "2"],
  "count": 142,
  "filings": [
    {
      "id": "fil_8Kq2Zp4RwT",
      "date": "2026-09-28",
      "type": "Eröffnungen",
      "type_code": "2",
      "name": "Musterbau GmbH",
      "sitz": "Berlin",
      "court": "Charlottenburg (Berlin)",
      "aktenzeichen": "36a IN 4711/26",
      "bundesland": "Berlin",
      "register": "HRB 123456 B",
      "company_id": "cmp_3n8Kd2ZpQv",
      "text": "Amtsgericht Charlottenburg (Berlin), Aktenzeichen: 36a IN 4711/26 ..."
    }
  ]
}

同じリクエストをNodeで、バイエルン州に絞って実行する例です。

javascript Node.js
const url = new URL("https://germanyinsolvencies.com/api/v1/filings");
url.searchParams.set("types", "eroeffnung");
url.searchParams.set("bundesland", "Bayern");

const res = await fetch(url, {
  headers: { "X-API-Key": process.env.INSOLVENCY_API_KEY },
});
if (!res.ok) throw new Error((await res.json()).error);

const { count, filings } = await res.json();
console.log(count, "openings in Bavaria yesterday");

全文つきの単一の公告は GET /v1/filings/{id} で取得できます。IDは変わらないため、保存しておけば、その公告を処理済みかどうかを後から確認できます。

bash 単一の公告
curl -H "X-API-Key: $INSOLVENCY_API_KEY" \
  https://germanyinsolvencies.com/api/v1/filings/fil_8Kq2Zp4RwT

公告種別

倒産裁判所は公告を9つの分野に分類しています。APIは types パラメータで、数値コードと読みやすいエイリアスの両方を受け付けます。複数形やウムラウトを含む表記(eroeffnungen、eröffnung)も使えます。

エイリアスコード意味
sicherung0Sicherungsmaßnahmen。保全措置のことで、多くは暫定管財人の選任です。申立てから数日後に出ることが多く、最も早いシグナルです。
abweisung1Abweisungen mangels Masse。財団不足による申立ての棄却です。手続の費用すら賄えない財産しかない場合で、その後は通常、会社が解散されます。
eroeffnung2Eröffnungen。倒産手続の開始です。これ以降、債権は管財人に届け出ることになります。
entscheidung3Entscheidungen im Verfahren。手続中の決定で、たとえば債権者集会や債権調査期日に関するものです。
sonstiges4Sonstiges。他のどの分野にも当てはまらないその他の公告です。
entscheidung_aufhebung5Entscheidungen nach Aufhebung。手続の終了または廃止後の決定です。
verteilungsverzeichnis6Verteilungsverzeichnisse。ドイツ倒産法第188条に基づく配当表で、配当を期待する債権者にとって重要です。
restschuldbefreiung7Restschuldbefreiung。残債務免責で、ほぼ自然人のみが対象です。
insolvenzplan8Überwachte Insolvenzpläne。倒産計画の履行監督です。会社は事業を継続します。

種別の正式名称は、裁判所が公告したとおりのドイツ語で type フィールドに入ります。機械処理には、変わることのない type_code を使ってください。types に未知の値を渡すと、許可されるコードの一覧とともに 400 bad_type が返ります。

公告オブジェクト

フィールド型説明
idstring公告の固定ID。接頭辞は fil_。
datestring公式ポータルでの公開日。YYYY-MM-DD 形式。
typestring公告種別の正式名称(ドイツ語)。
type_codestringコード0から8。公告種別を参照してください。
namestring公告された債務者名(法人格を含む)。
sitzstring本店所在地または居住地。
courtstring管轄の倒産裁判所。
aktenzeichenstring裁判所の事件番号(例: 36a IN 4711/26)。「IN」は通常手続、「IK」は消費者手続を表します。
bundeslandstring裁判所の所在する連邦州。
registerstring | null商業登記簿の記載。公告に記載がある場合のみ。自然人や多くの個人事業主では欠けます。
company_idstring | null企業プロフィールへのリンク。債務者を企業に対応づけられた場合のみで、それ以外は null。
textstring公告の全文。改変していません。

すべてのテキストフィールドはUTF-8です。名称や本文は、誤字も含めて裁判所が書いたままに渡されます。正規化された値は、明示的に正規化されているフィールドにしかありません。type_code、bundesland、company_id です。

裁判所と事件番号の組み合わせで1つの手続を特定できます。1つの手続からは、数か月から数年にわたって複数の公告が出るのが普通です。保全措置、開始、決定、配当表、終了といった具合です。手続を追いたい場合は、court と aktenzeichen でグループ化してください。

CSVエクスポート

format=csv を指定すると、APIはJSONの代わりに同じデータをCSVファイルで返します。公告1件につき1行で、ヘッダー行あり、区切りはカンマ、文字コードはUTF-8です。ファイルには Content-Disposition: attachment と、期間を含むファイル名が付きます。

bash 1か月分をCSVでダウンロード
curl -H "X-API-Key: $INSOLVENCY_API_KEY" \
  -o filings.csv \
  "https://germanyinsolvencies.com/api/v1/filings?date_from=2026-09-01&date_to=2026-09-28&format=csv"
csv 先頭の数行
date,type,type_code,name,sitz,court,aktenzeichen,bundesland,register,text
2026-09-28,Eröffnungen,2,Musterbau GmbH,Berlin,Charlottenburg (Berlin),36a IN 4711/26,Berlin,HRB 123456 B,"Amtsgericht Charlottenburg ..."
2026-09-28,Sicherungsmaßnahmen,0,Beispiel Logistik UG (haftungsbeschränkt),Hamburg,Hamburg,67c IN 812/26,Hamburg,HRB 98765,"Amtsgericht Hamburg ..."

text 列の全文には改行が含まれるため、引用符で囲まれます。Excelでは「データ」から「テキスト/CSVから」を選び、UTF-8を指定すると正しく開けます。ダブルクリックで開くと、システム設定によってはウムラウトが文字化けすることがあります。

企業

公告は手続に関するものですが、ほとんどのユースケースが知りたいのは企業のことです。そのため、各公告は可能な限り、登記番号、名称、本店所在地をもとに企業プロフィールと対応づけています。GET /v1/companies でこのプロフィールを検索できます。

bash 名称と連邦州で検索
curl -G -H "X-API-Key: $INSOLVENCY_API_KEY" \
  https://germanyinsolvencies.com/api/v1/companies \
  --data-urlencode "q=Musterbau" \
  --data-urlencode "bundesland=Berlin" \
  -d limit=20

検索パラメータは q(名称、3文字以上)、register、city、bundesland、status、industry です。一覧は最大100件ずつのページで返り、カーソルで続きを取得します。

json 一覧のエンベロープ
{
  "object": "list",
  "data": [ { "id": "cmp_3n8Kd2ZpQv", "object": "company", "...": "..." } ],
  "has_more": true,
  "next_cursor": "eyJpZCI6ImNtcF8zbjhLZDJacFF2In0"
}

has_more が true の間は、next_cursor を次のリクエストの cursor パラメータに渡してください。カーソルは24時間有効です。

企業オブジェクト

json GET /v1/companies/cmp_3n8Kd2ZpQv
{
  "id": "cmp_3n8Kd2ZpQv",
  "object": "company",
  "name": "Musterbau GmbH",
  "legal_form": "GmbH",
  "register": "HRB 123456 B",
  "register_court": "Charlottenburg (Berlin)",
  "city": "Berlin",
  "bundesland": "Berlin",
  "industry": "Hochbau",
  "status": "opened",
  "first_filing": "2026-08-14",
  "last_filing": "2026-09-28",
  "filings_count": 3,
  "website": "https://musterbau.example",
  "url": "https://germanyinsolvencies.com/company/musterbau-gmbh-berlin/"
}
フィールド型説明
idstring固定ID。接頭辞は cmp_。
namestring直近の公告に基づく名称。
legal_formstring正規化された法人格(例: GmbH、UG、AG、KG、e.K.)。
registerstring | null商業登記簿の番号。登記裁判所は register_court に入ります。
citystring本店所在地。
bundeslandstring本店所在地の連邦州。
industrystring | null当社の分類による業種。判定できた場合のみ。
statusstring手続の現在の段階。下記を参照してください。
first_filingstring把握している最初の公告の日付。
last_filingstring直近の公告の日付。
filings_countintegerこの企業に紐づく公告の件数。
urlstringgermanyinsolvencies.com 上の公開企業ページ。

ステータスの値

ステータスは、その手続で直近の関連する公告から導き出しています。実務上の要約であり、法的な評価ではありません。疑義がある場合は、公告の全文が優先されます。

ステータス種別コード意味
preliminary0予備手続。保全措置が命じられています。
dismissed1財団不足により申立てが棄却されました。
opened2手続が開始されました。
plan8倒産計画が認可され、履行監督中です。
closed3, 5, 6手続が終了または廃止されました。
discharged7残債務免責が認められました。

GET /v1/companies/{id}/filings は、企業に関するすべての公告を古い順に返します。事件番号で自分で検索しなくても、手続の全経過を取得できます。

決算数値

資本会社については、商業登記簿に提出された年次決算書を利用できることが多くあります。GET /v1/companies/{id}/financials は、直近の会計年度の主要数値を新しい順に返します。金額は euro の整数単位です。

json レスポンス
{
  "company_id": "cmp_3n8Kd2ZpQv",
  "currency": "EUR",
  "statements": [
    {
      "fiscal_year_to": "2024-12-31",
      "bilanzsumme": 4820000,
      "eigenkapital": -310000,
      "verbindlichkeiten": 5130000,
      "jahresueberschuss": -1240000,
      "source": "Unternehmensregister"
    },
    {
      "fiscal_year_to": "2023-12-31",
      "bilanzsumme": 5410000,
      "eigenkapital": 930000,
      "verbindlichkeiten": 4480000,
      "jahresueberschuss": 85000,
      "source": "Unternehmensregister"
    }
  ]
}

小規模な会社は、簡略化した貸借対照表を公開するだけで足ります。提出書類に含まれていないフィールドは null となり、推計で埋めることはありません。年間の当期純利益が欠けていることが多いのはこのためです。

典型的な使い方として、与信判断では、倒産公告だけを見るよりも、直近2、3会計年度の自己資本の推移のほうが多くを語ります。債務超過に保全措置が重なっていれば、状況は明白です。

取引先チェック

POST /v1/check は、顧客や仕入先のリスト全体を1回の呼び出しでチェックします。自社の参照番号と、その企業についてわかっていること(名称、市区町村、登記番号)を送ると、APIは各件について一致結果と手続の状況を返します。

bash 債務者3件をチェック
curl https://germanyinsolvencies.com/api/v1/check \
  -H "X-API-Key: $INSOLVENCY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "since": "2025-01-01",
    "items": [
      { "ref": "D-10023", "name": "Musterbau GmbH", "city": "Berlin" },
      { "ref": "D-10024", "register": "HRB 98765", "register_court": "Hamburg" },
      { "ref": "D-10025", "name": "Nordlicht Handels GmbH" }
    ]
  }' 
json レスポンス
{
  "checked": 3,
  "hits": 1,
  "results": [
    {
      "ref": "D-10023",
      "match": "exact",
      "company_id": "cmp_3n8Kd2ZpQv",
      "status": "opened",
      "last_filing": { "id": "fil_8Kq2Zp4RwT", "date": "2026-09-28", "type_code": "2" }
    },
    { "ref": "D-10024", "match": "none" },
    { "ref": "D-10025", "match": "ambiguous", "candidates": 2 }
  ]
}
match意味
exact登記番号が一致する、または名称と本店所在地が一意に一致します。
probable正規化後(法人格や表記ゆれ)に名称が一致し、本店所在地ももっともらしい状態です。対応する前に確認してください。
ambiguous複数の企業が該当します。レスポンスには候補数が含まれます。市区町村または登記番号を補ってください。
none対象期間に公告はありません。良い知らせですが、信用格付けではありません。

1回の呼び出しで最大500件を受け付けます。since を指定すると、その日以降の公告に検索を絞ります。既定は3年前までです。大きなポートフォリオには、ウォッチリストをお勧めします。一度チェックしたあとは、変更だけを受け取れます。

ウォッチリスト

ウォッチリストを使うと、一度きりのチェックが継続的なモニタリングになります。企業を追加しておくと、その企業に新しい公告が出た時点で、Webhookで watchlist.match イベントが届きます。エントリは、company_id、登記番号と裁判所、または名称と市区町村で指定できます。

bash 企業を追加
curl https://germanyinsolvencies.com/api/v1/watchlist \
  -H "X-API-Key: $INSOLVENCY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "register": "HRB 123456 B", "register_court": "Charlottenburg (Berlin)", "ref": "D-10023" }' 
json レスポンス
{
  "id": "wl_Q7m2Lx9Pd",
  "object": "watchlist_entry",
  "ref": "D-10023",
  "company_id": "cmp_3n8Kd2ZpQv",
  "name": "Musterbau GmbH",
  "created_at": "2026-09-29T08:12:44Z",
  "last_match": null
}

一度も倒産したことのない企業もウォッチできます。その場合、エントリは最初の公告が出るまで待機します。それこそが狙いです。ref に入れた自社の参照番号は、すべてのイベントに含まれて戻ってくるため、追加の照会をしなくても、ヒットを自社の顧客番号に対応づけられます。

GET /v1/watchlist は、最終ヒット日つきですべてのエントリを一覧表示し、DELETE /v1/watchlist/{id} は1件を削除します。同じウォッチリストはGermany Insolvenciesのダッシュボードにも表示され、変更は双方向に同期されます。

Webhook

ポーリングの代わりに、イベントをプッシュで受け取れます。HTTPSのエンドポイントを登録し、受け取るイベントを選びます。/v1/filings と同じフィルターを付けることもできます。

bash エンドポイントを登録
curl https://germanyinsolvencies.com/api/v1/webhooks \
  -H "X-API-Key: $INSOLVENCY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/hooks/insolvency",
    "events": ["watchlist.match", "filing.published"],
    "filter": { "types": ["eroeffnung", "sicherung"], "bundesland": ["Bayern", "Hessen"] }
  }' 
イベントタイミング
filing.published新しい公告がフィルター条件に一致しました。当社が収集した直後に届き、たいていは午前中です。
watchlist.match新しい公告が、ウォッチリスト上の企業に関するものです。
stats.daily_ready前日分の日次集計が完了しました。
json イベントのペイロード
{
  "id": "evt_5Tg8Nw2Ka",
  "type": "watchlist.match",
  "created_at": "2026-09-29T06:05:11Z",
  "data": {
    "watchlist_entry": { "id": "wl_Q7m2Lx9Pd", "ref": "D-10023" },
    "filing": {
      "id": "fil_8Kq2Zp4RwT",
      "date": "2026-09-28",
      "type": "Eröffnungen",
      "type_code": "2",
      "name": "Musterbau GmbH",
      "court": "Charlottenburg (Berlin)",
      "aktenzeichen": "36a IN 4711/26"
    }
  }
}

すべての呼び出しには署名が付きます。X-Webhook-Signature ヘッダーには、タイムスタンプと、そのタイムスタンプと生のボディに対するHMAC-SHA256が入っています。計算には、登録時に受け取るシークレットを使います。

http 署名ヘッダー
X-Webhook-Signature: t=1790661911,v1=7f2c1d9a4b6e8035c1f7a29d4e5b0c8371a6d2f94e8b3c07a15d9e2f6b4c8a01
python 署名の検証(Python、Flask)
import hashlib, hmac, os, time
from flask import Flask, request, abort

app = Flask(__name__)
SECRET = os.environ["INSOLVENCY_WEBHOOK_SECRET"].encode()

@app.post("/hooks/insolvency")
def hook():
    header = request.headers.get("X-Webhook-Signature", "")
    parts = dict(p.split("=", 1) for p in header.split(",") if "=" in p)
    signed = parts.get("t", "") + "." + request.get_data(as_text=True)
    expected = hmac.new(SECRET, signed.encode(), hashlib.sha256).hexdigest()
    if not hmac.compare_digest(expected, parts.get("v1", "")):
        abort(400)
    if abs(time.time() - int(parts["t"])) > 300:
        abort(400)  # replay protection

    event = request.get_json()
    if event["type"] == "watchlist.match":
        ref = event["data"]["watchlist_entry"]["ref"]
        print("Customer", ref, "has a new insolvency filing")
    return "", 204

10秒以内に2xxのステータスで応答してください。失敗した場合は、間隔を広げながら24時間かけて合計8回再送します。イベントが二重に届くことがあるため、イベントの id で重複を破棄してください。

統計

GET /v1/stats は、個々の公告ではなく件数を返します。数千件のレコードをダウンロードして数える必要がないため、ダッシュボード、レポート、報道向けの集計に適したエンドポイントです。

bash 月別・連邦州別の開始決定件数
curl -G -H "X-API-Key: $INSOLVENCY_API_KEY" \
  https://germanyinsolvencies.com/api/v1/stats \
  -d date_from=2026-07-01 -d date_to=2026-09-28 \
  -d group_by=month,bundesland -d types=eroeffnung
json レスポンス
{
  "date_from": "2026-07-01",
  "date_to": "2026-09-28",
  "group_by": ["month", "bundesland"],
  "rows": [
    { "month": "2026-07", "bundesland": "Bayern",  "count": 318 },
    { "month": "2026-07", "bundesland": "Berlin",  "count": 204 },
    { "month": "2026-08", "bundesland": "Bayern",  "count": 297 }
  ],
  "total": 8412
}

group_by には day、week、month、bundesland、court、type、legal_form を指定でき、最大2つまで同時に使えます。/v1/filings と同じフィルターが使えます。公告の取得と異なり、ここでは最大24か月の期間を指定できます。

当社の数値が数えているのは、手続や企業ではなく公告です。ドイツ連邦統計局の公式統計に数週間先行しますが、同一ではありません。Destatisが数えているのは申立てと決定だからです。

リファレンスデータ

2つの小さなエンドポイントが、フィルターに使える有効な値を返します。変更はまれで、1日程度ならキャッシュして構いません。

json GET /v1/types(抜粋)
[
  { "code": "0", "alias": "sicherung",   "name": "Sicherungsmaßnahmen" },
  { "code": "1", "alias": "abweisung",   "name": "Abweisungen mangels Masse" },
  { "code": "2", "alias": "eroeffnung",  "name": "Eröffnungen" }
]

GET /v1/courts は、すべての倒産裁判所を、court フィルターが求める正確な表記と連邦州つきで返します。GET /v1/account では、契約範囲、有効な上限、当月の利用状況を確認できます。

エラー

エラーは、対応するHTTPステータスとともにJSONで返ります。error フィールドは機械可読で安定しています。message は人間向けに問題を説明するもので、変更されることがあります。

json エラーレスポンス
{
  "error": "range_too_large",
  "message": "Maximum range is 31 days per request."
}
errorHTTP意味
bad_date400日付が YYYY-MM-DD 形式ではありません。
bad_type400types に未知の値があります。レスポンスには追加で allowed が含まれます。
range_too_large400期間が31日を超えています。
invalid_request400その他の不正なパラメータ、または不正な形式のJSONボディ。
missing_api_key401キーが送信されていません。
invalid_api_key403キーが未知、またはAPI利用が無効です。
subscription_expired403キーに紐づくサブスクリプションの期限が切れています。
insufficient_scope403このキーではこのエンドポイントが有効になっていません。
not_found404IDが未知、または保存期間が過ぎて公告が削除されています。
rate_limited429リクエストが多すぎます。上限を参照してください。
server_error500当社側のエラーです。しばらく待って再試行し、続く場合はご連絡ください。
json 許可される値つきのbad_type
{
  "error": "bad_type",
  "message": "Unknown type 'eroffnung'.",
  "allowed": ["0", "1", "2", "3", "4", "5", "6", "7", "8"]
}

上限

値上限
120 / minキーあたり毎分のリクエスト数。ご要望に応じて引き上げます。
31/v1/filings の1リクエストあたりの最大日数。/v1/stats は24か月まで指定できます。
100一覧エンドポイントの1ページあたりの最大件数。
500/v1/check の1回の呼び出しあたりの最大件数。
10000標準契約でアカウントごとにウォッチできる企業数。
5アカウントごとに登録できるWebhookエンドポイント数。

すべてのレスポンスのヘッダーに、レート制限の現在の状態が入っています。上限を超えると、429 rate_limited と、秒単位の Retry-After ヘッダーが返ります。

http レート制限ヘッダー
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 117
X-RateLimit-Reset: 1790661960
Retry-After: 12

バージョニング

メジャーバージョンはパスの一部です(/v1/)。同一のメジャーバージョンの中では、追加的な変更しか行いません。新しいエンドポイント、任意の新しいパラメータ、レスポンスの新しいフィールドなどです。そのため、クライアントは未知のフィールドで失敗せず、無視するように実装してください。

既存の連携を壊しかねない変更は、新しいメジャーバージョンでのみ行います。その場合、旧バージョンは少なくとも12か月は稼働を続け、事前にすべてのキー保有者へメールでお知らせします。レスポンスのバージョン日付は X-API-Version ヘッダーにあります。

http レスポンスヘッダー
X-API-Version: 2026-09-01

データソースと鮮度

公告の唯一のソースは、連邦各州の公式な共同ポータル insolvenzbekanntmachungen.de です。ドイツのすべての倒産裁判所が、ドイツ倒産法第9条に基づいてここで公告します。他のソースからの公告を加えることも、内容を変更することもありません。

裁判所が公告するのは営業日で、多くは夜間から午前中です。新しい公告は、たいてい翌朝7時前にはAPIで利用できます。企業プロフィールと登記番号は商業登記簿から補完し、決算数値はそこで公開されている年次決算書から取得しています。

公告と企業との対応づけは自動化されています。登記番号があれば信頼できますが、ない場合(個人事業主や、ごくありふれた名称)には誤りもありえます。だから company_id が null になることがあり、取引先チェックが exact と probable を区別しているのもそのためです。

データ保護と利用が認められる範囲

倒産公告は公開情報ですが、特に消費者手続では個人情報を含みます。その利用にはGDPRと、倒産公告に関する政令(Insolvency Announcement Ordinance)の削除期間が適用されます。そのため当社は、公式ポータルが削除しなければならなくなった時点までに、APIからも公告を削除します。その後 GET /v1/filings/{id} は 404 not_found を返します。

この削除は、お客様自身のシステムにも反映してください。保存しているIDを使って定期的に照合すれば十分です。APIがもう把握していないものは、お客様のデータベースにも残すべきではありません。

利用が認められるのは、事業リスクの評価、債権管理、法律相談、調査研究、報道です。認められないのは、私人に関する公告の公表、生データの転売、このデータだけを根拠とした自然人に関する判断です。当社の委託で個人データを処理する場合は、データ処理契約をご用意しています。

サポート

連携に関するご質問、上限の引き上げ、追加フィールドのご要望は、[email protected] またはお問い合わせフォームまでご連絡ください。技術的な問題では、リクエストの時刻とキーの先頭数文字を添えていただければ、ログからすぐにそのリクエストを見つけられます。

HTTPクライアントを書くのではなくAIエージェントを接続したい場合は、同じデータをModel Context Protocolサーバー経由でも利用できます。詳しくはMCPサーバーのドキュメントをご覧ください。キー、上限、契約はどちらも共通です。

アクセスを申請する

キーは一件ずつ手作業で発行しています。作りたいものと想定ボリュームを簡単にお知らせください。通常は1営業日以内に利用可能になります。

アクセスを申請する