Extracting data from bankruptcy discharges
US bankruptcy courts issue a discharge order near the end of a case, generated by each district's electronic filing system, and some districts combine it with other orders. Mortgage lenders request one from every applicant whose credit report shows a bankruptcy, as a PDF from the court docket or the borrower's upload.
Underwriting needs the chapter, the case number and the date the discharge was entered. Agency guidelines set a waiting period that runs from that date, and the loan origination system checks it before the application can move to approval.

What makes bankruptcy discharges hard
Several orders under one heading
Some districts stack the discharge of the debtor, the discharge of the trustee and the closing of the case into one order.
One date printed three ways
The electronic filing header prints the entry date with a two-digit year, and the signature block spells the month out in words.
Exceptions on the back page
The second page explains the discharge in prose, with a lettered list of the debts it leaves in place, such as most taxes.
Parse, extract, verify
Parse
Parse turns the document into reading-order Markdown and a hierarchy of blocks (text, tables, figures), and grounds each block to its exact location on the page.
Extract
You define the fields in a JSON schema, and Extract returns their values in a consistent, structured format, each linked back to where it appears in the Markdown.
Verify
Each value links back to where it appears, down to the character range in the Markdown, and the page and bounding box in the source document, so every result can be verified.
One bankruptcy discharge, end to end
About this document: A Chapter 7 order from the US Bankruptcy Court for the District of South Carolina, issued through the court's electronic filing system. One order discharges the debtor, discharges the trustee and closes the case. Two portrait pages: the order, then the standard explanation of the discharge. Page 1 is featured. The debtor's details and the judge's signature were replaced with stand-ins.
Processing objective: The objective is to confirm what the court ordered and when. The court, the chapter and the statute establish the type of discharge, and the order title states what was granted. The timestamp in the filing header marks when the order reached the docket, and each value grounds to its own line.
Demonstration fields: Court, Chapter, Order, Statute cited, Entered (ECF timestamp)
The document
2 of 2 pages
Page 1shown below
Page 2
Where each value came from

court
{
"value": "United States Bankruptcy Court – District of South Carolina",
"page": 1,
"range": {
"end": 222,
"start": 163
},
"box": {
"xmin": 0.27928,
"ymin": 0.07599,
"xmax": 0.72196,
"ymax": 0.08963
}
}chapter
{
"value": 7,
"page": 1,
"range": {
"end": 357,
"start": 347
},
"box": {
"xmin": 0.50172,
"ymin": 0.1501,
"xmax": 0.58086,
"ymax": 0.16458
}
}order_titles[0]
{
"value": "DISCHARGE OF DEBTOR",
"page": 1,
"range": {
"end": 710,
"start": 691
},
"box": {
"xmin": 0.39881,
"ymin": 0.30864,
"xmax": 0.5904,
"ymax": 0.32002
}
}discharge_statute
{
"value": "section 727 of title 11, United States Code",
"page": 1,
"range": {
"end": 1026,
"start": 915
},
"box": {
"xmin": 0.05937,
"ymin": 0.41237,
"xmax": 0.82843,
"ymax": 0.42947
}
}ecf_entered_timestamp
{
"value": "11/30/09 02:00:37",
"page": 1,
"range": {
"end": 69,
"start": 19
},
"box": {
"xmin": 0.3015,
"ymin": 0.01395,
"xmax": 0.77118,
"ymax": 0.03113
}
}How to try it yourself
Everything on this page is reproducible. The sample, its schema, and the Parse and Extract API outputs are published. You can repeat the same two calls from whichever surface you already build on.
- Claude Skilldescribe the job; the agent writes it
- CLIno code at all
- MCPexpose ADE docs as an agent tool
- REST APIany language
- Pythonlandingai-ade
- TypeScriptlandingai-ade
Documents into data
Accurate
The best accuracy on the difficult documents other tools get wrong, such as messy scans, complicated tables, checkboxes and handwriting.
Auditable
Every answer cites its sources. Values come back with an audit trail (page, bounding box, character range) so a human can review them.
Agentic
Applies multi-step reasoning, and plans before it acts. Handles documents it has never seen before and adapts to variations.
API-first
Composable APIs that drop into any tech stack and can be called from anywhere. Easy to build on and embed in your pipelines and products.
Affordable
Cost-competitive rates with complete price transparency. Spend controls before you run, and every job reports its exact cost.
Enterprise-grade
Built for production and scale from day one. Fully observable and monitored, running securely in our cloud or yours.
Built for high-volume, high-throughput production
- Zero data retention
- Priority rate limits
- Enhanced support
- VPC and on-prem deployment
Available on Team and Enterprise plans.
