Take a live AI-guided product tour with Lando.Launch AI demo
Document type

Extracting data from letters of intent

A buyer's counsel drafts each letter of intent from its own template, setting out a proposed deal before the purchase agreement is written. Deal teams, acquisition lenders and regulators receive them as signed PDFs or scans by email. A roll-up strategy produces one for every add-on target.

A deal team records the buyer, the target, the deal structure, the purchase price, and the due diligence and exclusivity periods. Those values open the deal record in the pipeline CRM, where the exclusivity expiry sets the deadline for diligence and financing.

Page 1 of a sample Letter of Intent, with extracted values outlined
105,689Markdown characters
395parse blocks
51fields extracted
The problem

What makes letters of intent hard

Binding and nonbinding terms mixed

Price and structure are usually nonbinding, while exclusivity and confidentiality bind, and one closing paragraph lists which numbered sections are which.

Deal terms sit inside prose

The price, the diligence period and the exclusivity window each sit in a numbered paragraph of legal prose, qualified by its own conditions.

Executed copies arrive as scans

A countersigned letter is often signed in ink and scanned. Signatures and filing stamps then sit over the typed text, and dates may be handwritten.

How it works

Parse, extract, verify

1

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.

2

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.

3

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.

Worked example

One letter of intent, end to end

About this document: A letter of intent from a water utility acquirer to buy the assets of a regulated sewer utility in Kentucky. It was filed with the state's Public Service Commission in a 49-page scanned exhibit. The signed and countersigned letter runs five pages. The rest of the exhibit carries two pages of a second letter and the two purchase agreements that followed. Page 1 is featured.

Processing objective: The objective is to capture the deal as the letter proposes it on its first page: who is buying, what is being bought and for how much. A regulator or lender reviewing the acquisition starts from these terms, and each value grounds to its line on the scan.

Demonstration fields: Buyer, Target, Target business, Purchase price

The document

4 of 49 pages
  • Page 1 of the sample Letter of IntentPage 1shown below
  • Page 5 of the sample Letter of IntentPage 5
  • Page 8 of the sample Letter of IntentPage 8
  • Page 29 of the sample Letter of IntentPage 29

Where each value came from

Page 1 of the sample Letter of Intent, with every featured field outlined
Buyerletter_of_intent.buyer_name
Central States Water Resources, Inc.
The region of the sample Letter of Intent containing Buyer, with the extracted value outlined
extraction_metadata["letter_of_intent.buyer_name"]
{
  "value": "Central States Water Resources, Inc.",
  "page": 1,
  "range": {
    "end": 405,
    "start": 314
  },
  "box": {
    "xmin": 0.20884,
    "ymin": 0.37942,
    "xmax": 0.78449,
    "ymax": 0.39422
  }
}
Targetletter_of_intent.target_name
Delaplain Disposal Company
The region of the sample Letter of Intent containing Target, with the extracted value outlined
extraction_metadata["letter_of_intent.target_name"]
{
  "value": "Delaplain Disposal Company",
  "page": 1,
  "range": {
    "end": 224,
    "start": 159
  },
  "box": {
    "xmin": 0.20849,
    "ymin": 0.33419,
    "xmax": 0.65673,
    "ymax": 0.3504
  }
}
Target businessletter_of_intent.target_business_description
regulated sewer utility
The region of the sample Letter of Intent containing Target business, with the extracted value outlined
extraction_metadata["letter_of_intent.target_business_description"]
{
  "value": "regulated sewer utility",
  "page": 1,
  "range": {
    "end": 583,
    "start": 489
  },
  "box": {
    "xmin": 0.20876,
    "ymin": 0.40975,
    "xmax": 0.78416,
    "ymax": 0.42483
  }
}
Purchase priceletter_of_intent.purchase_price
849,000
The region of the sample Letter of Intent containing Purchase price, with the extracted value outlined
extraction_metadata["letter_of_intent.purchase_price"]
{
  "value": 849000,
  "page": 1,
  "range": {
    "end": 777,
    "start": 695
  },
  "box": {
    "xmin": 0.2521,
    "ymin": 0.46884,
    "xmax": 0.78441,
    "ymax": 0.48402
  }
}

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
Why LandingAI?

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. VPC and on-prem deployment require an Enterprise plan.

Compare plans
Capabilities

Letter of Intent processing highlights

Buyer and target parties
Purchase price and its basis
Asset or stock structure
Exclusivity and no-shop terms
Due diligence periods
Binding section numbers
Included and excluded assets
Conditions of sale
Signature and acceptance blocks
Scanned pages and handwriting
Letters bundled with agreements
Line-level visual grounding
FAQs

Questions, answered

Yes. Add a field for the binding sections and describe it in the schema. Extraction returns the paragraph numbers the letter declares binding, which a reviewer can match to the exclusivity and confidentiality clauses they cover.

Yes. Parsing works from the page image, so a letter signed in ink and scanned reads like a digital PDF. Handwritten dates come back in ISO form. Signatures are marked with a tag in the parsed output.

Yes. Model each document as its own entry in the schema: an object for the letter's terms and an array for the related agreements. When a file carries several letters, model the letters as an array too, with one entry per letter.

Each quoted value carries the character ranges it came from in the parsed Markdown, and a clause spread over several lines carries a range per line. The Ground API maps those ranges to page numbers and bounding boxes.

Yes. The Parse API accepts DOCX and DOC files as well as PDFs and images. A draft letter from counsel and the countersigned scan then go through the same pipeline and the same schema.

Start extracting letter of intent data

Reliable, structured outputs with full traceability in minutes