Skip to content

Bankruptcy Search

Verified against source (31)

  • qbo4.ContactServices.QBS.WebApi/readme.md
  • qbo4.ContactServices.QBS.WebApi/appsettings.json
  • Controllers/InstantSearchController.cs
  • Controllers/BatchSearchController.cs
  • Controllers/RegionalSearchController.cs
  • Controllers/DocketSearchController.cs
  • Controllers/DocumentSearchController.cs
  • Filters/EnumSchemaFilter.cs
  • qbo4.ContactServices.QBS.Models/BankruptcyInstantRequest.cs
  • qbo4.ContactServices.QBS.Models/BankruptcyInstantResponse.cs
  • qbo4.ContactServices.QBS.Models/BankruptcySearchRequest.cs
  • qbo4.ContactServices.QBS.Models/BankruptcySearchResponse.cs
  • qbo4.ContactServices.QBS.Models/BankruptcySearchContact.cs
  • qbo4.ContactServices.QBS.Models/BankruptcyProductContact.cs
  • qbo4.ContactServices.QBS.Models/BankruptcySearchOptions.cs
  • qbo4.ContactServices.QBS.Models/InstantSearchOptions.cs
  • qbo4.ContactServices.QBS.Models/BankruptcyRequestAcknowledgement.cs
  • qbo4.ContactServices.QBS.Models/BankruptcySearchProductRequest.cs
  • qbo4.ContactServices.QBS.Models/PopMessage.cs
  • qbo4.ContactServices.QBS.Models/RegionalSearchRequest.cs
  • qbo4.ContactServices.QBS.Models/DocketSearchRequest.cs
  • qbo4.ContactServices.QBS.Models/DocumentSearchRequest.cs
  • qbo4.ContactServices.QBS.Models/Bankruptcy.cs
  • qbo4.ContactServices.QBS.Models/Docket.cs
  • qbo4.ContactServices.QBS.Models/BillingItem.cs
  • qbo4.ContactServices.QBS.Models/ImportException.cs
  • qbo4.ContactServices.QBS.Models/USSSNRequiresLastNameAttribute.cs
  • qbo4.ContactServices.QBS.Pacer.SearchProvider/PacerSearchProvider.cs
  • Controllers/DebtorMonitorController.cs
  • qbo4.ContactServices.Models/Bankruptcy.cs
  • qbo4.ContactServices.Models/PopParameters.cs

The Bankruptcy Search API searches PACER for bankruptcy filings. It is a REST API with JSON bodies over HTTPS, documented by an OpenAPI specification with annotated models.

Quandis provides your host name (for example, uatservices.quandis.io for testing) and an API key, plus a Postman environment with ApiKey and HostName variables. Keys for testing and production are separate.

Check current API availability on the Quandis status page ↗.

Verb Path Purpose
POST /api/bankruptcy/instant National search for one person or company; results in the response
GET /api/bankruptcy/instant/{id} Retrieve an instant search by Quandis order ID
POST /api/bankruptcy/search Submit a batch order
GET /api/bankruptcy/search/{id} Retrieve a batch order’s results by order ID
GET /api/bankruptcy/search/pop Pick up recently completed batch orders
POST /api/bankruptcy/regional Case summary from the bankruptcy court, for one case
GET /api/bankruptcy/regional/{id} Retrieve a case summary by order ID
POST /api/bankruptcy/dockets Docket entries for one case
GET /api/bankruptcy/dockets/{id} Retrieve a docket search by order ID
POST /api/bankruptcy/documents Download a filed document
GET /api/bankruptcy/documents/{id} Retrieve a document search by order ID
GET /api/bankruptcy/instant/healthcheck Service health (no authentication)

The GET …/{id} operations return 204 when there is nothing for that ID.

Send your API key in the X-ApiKey header on every request. Requests over HTTP are redirected to HTTPS.

POST /api/bankruptcy/instant
X-ApiKey: {apiKey}
Content-Type: application/json
POST /api/bankruptcy/instant
X-ApiKey: {apiKey}
Content-Type: application/json
{
"clientID": "LN-1001",
"options": {
"filingDateStart": "2020-01-01"
},
"contact": {
"contactID": "C-1",
"firstName": "Jane",
"lastName": "Example",
"usssn": "123456788",
"userDefined": [ { "name": "SourceReferenceNumber", "value": "LN-1001" } ]
}
}
Field Type Notes
contactType enum Party (a person) or Corporation.
firstName, middleName, lastName string Up to 40 characters each.
company string Company name, up to 40 characters.
usssn string Full SSN: 123456789 or 123-45-6789. Requires lastName (or company).
usssN4 string Last four digits of the SSN, searched with the name.
ein string Employer identification number, for company searches.
address, city, state, postalCode state is a two-letter code; postalCode is 12345 or 12345-6789.
contactID string Your identifier for the contact, returned in the response.
userDefined array name (up to 50 characters) and value pairs, returned with the results.

The search type follows from what you send: a full SSN searches by SSN; the last four searches by SSN4 and name; a name alone searches by name.

Field Notes
filingDateStart, filingDateEnd Only cases filed in this range.
closedDateStart, closedDateEnd Only cases closed in this range.
dismissedDateStart, dismissedDateEnd Only cases dismissed in this range.
dischargedDateStart, dischargedDateEnd Only cases discharged in this range.
partyRoleCodes Comma-separated PACER party role codes. Applies to name-only searches.
exactMatchesOnly Return exact name matches only.
matchEmptyFirstMiddleNames With exactMatchesOnly, also match cases where the first or middle name is blank.

Dates can’t be in the future.

{
"clientID": "LN-1001",
"id": 900001,
"contact": {
"firstName": "Jane",
"lastName": "Example",
"usssN4": "6788",
"billingItem": [
{ "item": "PCL Charges", "description": "All Court Types Party Search; …", "unitFee": 0.1, "unitAmount": 1 }
],
"bankruptcies": [
{
"bkCaseNo": "1:26-bk-00001",
"chapter": "7",
"court": "Example Bankruptcy Court",
"courtCode": "…",
"stateOfFiling": "XX",
"filingDate": "2026-02-15T00:00:00",
"disposition": "…",
"dateClosed": null,
"caseUrl": "https://…"
}
],
"messages": []
},
"documents": [ { "name": "….pdf", "mimeType": "pdf", "content": "{base64}" } ]
}
Field Meaning
id Quandis order ID.
contact.bankruptcies[] One entry per case. Empty or missing when PACER found no case.
contact.billingItem[] PACER charges the search incurred: item, description, unitFee, unitAmount, transactionDate.
contact.messages[] Notes about the search, such as a threshold being reached.
documents[] Images of the PACER screens, base64-encoded.
Field Meaning
bkCaseNo, regionalBKCaseNo Case number at the national locator and at the court.
chapter, caseType Chapter and case type.
court, courtCode, stateOfFiling Where the case was filed.
filingDate, dateOfLastFiling Petition date, and the latest filing on the case.
disposition, status, closedReason, dateClosed, terminatedDate How and when the case ended.
dischargedDate, dismissedDate, convertedDate, reopenedDate, transferredDate Case events.
jointDischargedDate, jointDismissedDate The same events for a joint debtor.
confirmationHearingDate, planConfirmedDate Plan dates.
caseUrl The case at its court. Send it to the case summary, docket, and document operations.
contacts[] Attorney, trustee, and other parties, each with a type and contact methods (phone, email, fax).
dockets[] When requested: sequence, filingDate, text, documentUrl.

Case summary fields (events, attorney, trustee) are filled only when the case summary was retrieved.

These operations act on one case found by an earlier search.

POST /api/bankruptcy/dockets
X-ApiKey: {apiKey}
Content-Type: application/json
{
"clientID": "LN-1001",
"caseUrl": "https://…",
"fileDateStart": "2026-01-01"
}
Operation Request Returns
regional clientID, caseUrl (required) bankruptcy with the case summary fields, documents, billing
dockets clientID, caseUrl; optional fileDateStart, fileDateEnd, documentRangeStart, documentRangeEnd dockets[], documents (the docket page image), billing
documents clientID, documentUrl (required); allowMultipleDocumentDownload, mergeDocuments (both default true) documents[] (base64 PDFs), billing

Submit many contacts, with options for search depth, thresholds, and image packages. Option meanings are in the Power user view.

POST /api/bankruptcy/search
X-ApiKey: {apiKey}
Content-Type: application/json
{
"clientID": "FILE-2026-10-01",
"options": {
"regionalSearch": "OpenCasesOnly",
"docketSearch": "OpenCasesOnly",
"bankruptcyThreshold": 5,
"contactSearch": false,
"includeAP": false,
"productDelivery": "Pickup",
"imagePackages": [
{ "name": "System of record", "settings": { "includeScreenShot": true, "imageGroup": "Contact", "screenshotMask": "Partial" } }
]
},
"contacts": [
{ "contactID": "C-1", "firstName": "Jane", "lastName": "Example", "usssn": "123456788" },
{ "contactID": "C-2", "contactType": "Corporation", "company": "Example Holdings LLC", "ein": "000000000" }
]
}
Option Values
nationalSearch Default true.
regionalSearch, docketSearch, regionalRefresh Never, Always, OpenCasesOnly, NewestFile, OldestFiled
docketSearchOpenedDateAge, docketSearchClosedDateAge 1–10
bankruptcyThreshold, contactThreshold 1–10, default 5
contactSearch Skip-trace contacts without an SSN (needs full name and address).
includeAP Include adversary proceedings in follow-on searches.
productDelivery Pickup (default), or Deliver to post results to your productEndpoint. Other delivery methods are set up with Quandis.
partyRoleCodes, date range filters As for instant search.
imagePackages[] name and settings; see PACER image packages.
userDefined[] Name and value pairs for the order.

The order is acknowledged with 201 Created:

{ "id": 900002, "clientID": "FILE-2026-10-01", "exceptions": [] }

A 400 acknowledgement lists exceptions, each with a type, severity, and message.

GET /api/bankruptcy/search/pop?count=10&payloadType=Content
X-ApiKey: {apiKey}
Parameter Notes
count How many completed orders to return. Default 1.
payloadType Content (default) returns each order’s results; ResourceUrn returns a reference to retrieve them.

Each item has a messageID, a resourceUrn, and content: the order’s results, with its id, clientID, status, contacts (each with bankruptcies, billingItem, and messages), documents, and skiptraceAliases (how many aliases a skip-trace generated). 204 means nothing is waiting. You can also fetch any order by ID with GET /api/bankruptcy/search/{id}.

Monitoring is part of the same service, with its own operations:

  • Add an account to the default list or a named list, keyed by your account reference, with the debtor’s name, company, address, and SSN. The response status is Created, or AlreadyExists (HTTP 208) if the account is already on that list.
  • Remove an account from the default list or a named list.
  • Get an account’s data: every bankruptcy found for it, with dockets. Monitored cases add the 341 meeting date, time, and location, the proof of claim bar date, the discharge complaint bar date, and the reinstated date.
  • Collect changes: separate feeds for new or changed bankruptcies and dockets, filtered by list, with the same count and payloadType parameters as batch pickup.

Paths for the monitoring operations are in the API reference Quandis provides with your key.

Code When
200 Search complete. Check bankruptcies for results.
201 Batch order accepted.
204 Nothing found for that ID, or nothing waiting to pick up.
400 The request failed validation, for example a full SSN without a last name, or a future date.
401 Missing, malformed, or invalid API key.
408 The instant search timed out.
429 Rate or usage limit reached for your key. Retry later.
500 The search failed.

The health check returns 200 when the service and the PACER sites it monitors are healthy, and 503 when not. Errors are returned in the JSON body under error.