US business bankruptcy data via MCP: search by name, EIN. Lookup docket items.
Public documentation and registry metadata for the Bankruptcy Observer API and MCP server. This repository contains no application source code.
Data covers US business bankruptcies (federal courts) only. Consumer-only filings and non-US jurisdictions are not included.
AI assistants and users can look up bankruptcy cases with no account, no API key, and no API token:
| Free query | MCP tool | Example |
|---|---|---|
| Debtor name | search_bankruptcy_cases_tool | search_term: "JOY-CPW, INC." — no court required |
| Case number | get_case_by_case_number_tool | short_case_number: "26-10543" — no court required |
Docs: https://mcp.bankruptcyobserver.com/docs or https://api.bankruptcyobserver.com/docs (GET, no auth). The MCP root GET https://mcp.bankruptcyobserver.com/ also returns a free_lookups hint.
You can sign up for a subscription through the MCP server: use list_plans_tool to see plans, then purchase_plan_tool with plan_id (e.g. professional, business, enterprise) to get a Stripe Checkout link. After payment you receive an API token for the REST API and MCP. No need to go to the website to subscribe.
For questions about access, billing, or data coverage, use only the contact form at https://www.bankruptcyobserver.com/contact. Do not publish or use direct email addresses for contact.
Paid plans (Stripe via MCP tools)
Billable tool calls correspond to data tools invoked via MCP (for example, search, case by EIN, docket items, NAICS/state filters) or their REST API equivalents.
Send the token in one of these ways:
Authorization: Bearer <your-token>X-API-Key: <your-token>Api-Key: <your-token>| Service | Endpoint | Auth |
|---|---|---|
| REST API | https://api.bankruptcyobserver.com/api/v1/... | API token required |
| MCP | https://mcp.bankruptcyobserver.com/mcp | API token required |
| Docs | https://api.bankruptcyobserver.com/docs or https://mcp.bankruptcyobserver.com/docs | None |
The /mcp path is the MCP protocol endpoint (POST only). For human-readable documentation, use the Docs URLs above (GET, no auth).
The same queries are available on both the REST API and the MCP server. Each query returns JSON; case-level responses include the standard fields below unless noted.
| # | Query | Inputs | What you get | Notes |
|---|---|---|---|---|
| 1 | Search | search_term, limit, skip, optional court_id or court_state | List of cases with standard fields | FREE (no key): exact name returns limited info; full details are available with a paid plan. Otherwise: prefix (starts-with) on name; use *term for contains. For case number use Case by case number. |
| 2 | Case by EIN | ein | One case (or none) + einInDatabase: "Yes" or "No" | Single match; flag says whether we have this EIN. (Paid.) |
| 3 | Docket items | shortCaseNumber, optional court_id or court_state, limit | Case identifier, dateDocketUpdated, list of entries (itemNumber, itemText, itemDate, …) | Case resolved by short case number + optional court. (Paid.) |
| 4 | Case by case number | shortCaseNumber; optional court_state or court_id for paid disambiguation | List (free) or one case (paid) | FREE (no key): case number only, no court required; returns all matching cases. For paid requests, you may provide court_state/court_id to select a specific case when multiple courts match. |
| 5 | Cases by NAICS | naics (2–4 digits), limit, optional start_date, end_date | List of cases with standard fields | NAICS must be 2–4 digits; more than 4 is rejected. |
| 6 | Cases by state | state (2-letter), limit, optional start_date, end_date | List of cases with standard fields | Optional date range on dateFiled. |
| 7 | Case status / dates | — | Returned as part of case data | dateFiled, dateClosed, dateDismissed; isOpen / isClosed / isDismissed. |
Pagination: List responses support limit and skip where applicable; responses include total or similar where useful.
Date range: For NAICS and state queries, optional start_date and end_date filter on dateFiled. Search does not support date filters.
Returned for any query that returns case rows:
| Field | Description |
|---|---|
| name | Debtor/case name |
| court | Court name |
| shortCaseNumber | Short case number (e.g. 22-12345) |
| dateDocketUpdated | When docket/case data was last updated in our system |
| dateFiled | Filing date |
Optional (included when relevant): courtState, chapter, NAICS, industry, dateClosed, dateDismissed, isOpen / isClosed / isDismissed, assetAmount, liabAmount.
einInDatabaseFor Case by EIN the response always includes:
einInDatabase — "Yes" if we have at least one case with this EIN (and the case payload); "No" if we have no case with this EIN (case payload null or omitted).For Docket items you get:
itemNumber, itemText, itemDate (and optionally pageCount, pacerDocId).| Query | REST API (POST) | MCP tool |
|---|---|---|
| Search | /api/v1/search | search_bankruptcy_cases_tool |
| Case by EIN | /api/v1/case/ein | get_case_by_ein_tool |
| Docket items | /api/v1/docket | get_docket_entries_tool |
| Case by case number | /api/v1/case/by-number | get_case_by_case_number_tool |
| Cases by NAICS | /api/v1/cases/by-naics | get_cases_by_naics_tool |
| Cases by state | /api/v1/cases/by-state | get_cases_by_state_tool |
Same backend for both; response shape is identical.
The full spec (same content as above, plus any updates) is also served with no auth at:
Both URLs return the same Markdown. Use them for the latest version or for AI/bot discovery.
This repo includes a server.json for the Official MCP Registry. It describes the remote MCP server and how to connect (URL + API token header). Use it when publishing to the registry via the Registry CLI; the registry points to this GitHub repo for metadata only.
Documentation and metadata in this repository are provided for discovery and integration. The Bankruptcy Observer product, API, and MCP service are offered under separate terms; see the product website.