*** September 2026 Major Release ***Read and watch
Document type

Extracting data from commercial appraisals

Certified general appraisers write commercial appraisals as narrative reports, each firm with its own template and section order. A lender's appraisal review team receives one for most commercial mortgages, and auditors see them for fair value reporting. Each arrives as a PDF that can run past a hundred pages.

Underwriting needs the market value conclusion, the value from each approach, the capitalization rate and the net operating income. The commercial loan origination system sizes the loan from the value and the income, testing loan-to-value and debt service coverage against credit policy.

Page 4 of a sample Commercial Real Estate Appraisal, with extracted values outlined
14,365Markdown characters
220parse blocks
71fields extracted
The problem

What makes commercial real estate appraisals hard

The same table, printed again

A narrative report prints its value conclusions in the transmittal letter, again in the salient facts summary and again in the reconciliation.

A template for every firm

Each firm uses its own word-processed template, setting the key facts in prose paragraphs and two-column summary tables.

Over a hundred pages

A full report can run past a hundred pages, and the figures underwriting needs sit on a handful of them among market analysis and addenda.

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 commercial real estate appraisal, end to end

About this document: A narrative appraisal by Integra Realty Resources, filed with the SEC as an exhibit. It values a single-tenant office building in Dallas leased to the federal General Services Administration. Eight portrait pages from a longer report: the cover, the transmittal letter, the summary of salient facts, the subject identification and the reconciliation. Page 4 is featured. The appraisers' signatures were removed, and the addressee's street line replaced.

Processing objective: The objective is to read the summary an underwriter checks first: the parcel, its size, occupancy and age, and the concluded fair value. An auditor ties that value to the property's carrying amount on the balance sheet. Each value grounds to its own cell of the Summary of Salient Facts.

Demonstration fields: Tax ID, Gross building area, Percent leased, Year built, Fair value as is

The document

4 of 8 pages
  • Page 1 of the sample Commercial Real Estate AppraisalPage 1
  • Page 3 of the sample Commercial Real Estate AppraisalPage 3
  • Page 4 of the sample Commercial Real Estate AppraisalPage 4shown below
  • Page 5 of the sample Commercial Real Estate AppraisalPage 5

Where each value came from

Page 4 of the sample Commercial Real Estate Appraisal, with every featured field outlined
Tax IDproperty.tax_id
001616000901A0000
The region of the sample Commercial Real Estate Appraisal containing Tax ID, with the extracted value outlined
extraction_metadata["property.tax_id"]
{
  "value": "001616000901A0000",
  "page": 4,
  "range": {
    "end": 4337,
    "start": 4320
  },
  "box": {
    "xmin": 0.37961,
    "ymin": 0.2192,
    "xmax": 0.87546,
    "ymax": 0.23788
  }
}
Gross building areaproperty.gross_building_area_sf
39,329
The region of the sample Commercial Real Estate Appraisal containing Gross building area, with the extracted value outlined
extraction_metadata["property.gross_building_area_sf"]
{
  "value": 39329,
  "page": 4,
  "range": {
    "end": 4451,
    "start": 4442
  },
  "box": {
    "xmin": 0.37968,
    "ymin": 0.25394,
    "xmax": 0.87547,
    "ymax": 0.27032
  }
}
Percent leasedproperty.percent_leased
100
The region of the sample Commercial Real Estate Appraisal containing Percent leased, with the extracted value outlined
extraction_metadata["property.percent_leased"]
{
  "value": 100,
  "page": 4,
  "range": {
    "end": 4547,
    "start": 4543
  },
  "box": {
    "xmin": 0.37975,
    "ymin": 0.28649,
    "xmax": 0.87548,
    "ymax": 0.30255
  }
}
Year builtproperty.year_built
1,985
The region of the sample Commercial Real Estate Appraisal containing Year built, with the extracted value outlined
extraction_metadata["property.year_built"]
{
  "value": 1985,
  "page": 4,
  "range": {
    "end": 4589,
    "start": 4585
  },
  "box": {
    "xmin": 0.37978,
    "ymin": 0.30238,
    "xmax": 0.87549,
    "ymax": 0.32134
  }
}
Fair value as isvalue_conclusions[1].value_conclusion
4,600,000
The region of the sample Commercial Real Estate Appraisal containing Fair value as is, with the extracted value outlined
extraction_metadata["value_conclusions[1].value_conclusion"]
{
  "value": 4600000,
  "page": 4,
  "range": {
    "end": 5236,
    "start": 5226
  },
  "box": {
    "xmin": 0.67899,
    "ymin": 0.47547,
    "xmax": 0.87582,
    "ymax": 0.49651
  }
}

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

Commercial Real Estate Appraisal processing highlights

Final value conclusion
Value by premise and date
Sales comparison and income values
Capitalization and discount rates
Net operating income
Gross and rentable area
Occupancy and major tenant
Tax ID and legal description
Highest and best use
Extraordinary assumptions
Repeated summary tables
Bounding box for every value
FAQs

Questions, answered

Yes. Describe the value conclusion as an object in your schema, with the premise, the interest appraised and the date of value beside the amount. Each part comes back from its own column of the value conclusions table.

Yes. Describe the rates and the stabilized net operating income as numbers in your schema. A rate printed as a percentage comes back as a number, and the income is ready for a debt service coverage calculation.

No. A schema names the fields you want and describes them in plain language. Where a value sits on the page is not part of it, so one schema can cover reports written in each firm's own template.

Yes. Parse Jobs accepts PDFs of up to 6,000 pages, so a complete narrative appraisal parses in one request. Extraction then reads across every page, from the summary tables to the reconciliation.

Every extracted value carries the character range it was quoted from in the parsed Markdown. The Ground API maps that range to a page and a bounding box, so a reviewer sees each amount in the table cell that printed it.

Start extracting commercial real estate appraisal data

Reliable, structured outputs with full traceability in minutes