Real Estate

Extract leases to structured JSON

A lease is mostly prose, with the terms that matter buried in numbered clauses across nine pages. Rent, dates, deposit, escalation, options. Residential and commercial leases each bury them differently. Sensible reads the clauses and returns landlord, tenant, premises, term, and rent as structured JSON.

lease abstraction | portfolio onboarding | rent roll reconciliation

Validated JSON

Schema-enforced output; every field matches your contract

Source coordinates

Every value links back to page + bounding box for audit

Per-document pricing

Predictable cost. No token-volatility surprises

Trusted by teams turning documents into production data

Why leases are harder than they look

A lease hides its key terms inside dense legal prose, structures them differently for residential versus commercial deals, and runs across many pages with amendments stapled to the back. Hybrid extraction reads the clauses; SenseML maps them to the same schema every time.

01

Terms Buried In Clauses

Rent, term, and deposit are not fields on a form. They sit inside justified paragraphs that read "commencing on the first day of" and "in the amount of." LLM parsing finds the value inside the sentence; SenseML rules map it to the field your system expects.

02

Residential vs Commercial Structure

A residential lease names a tenant and a monthly rent. A commercial lease adds base year, CAM, rentable square footage, percentage rent, and renewal options. Each lease type gets its own configuration, so the JSON shape stays consistent within each.

03

Length And Amendments

A single lease can run 40+ pages, then carry addenda, riders, and amendments that change the rent or term after signing. Sensible reads the full document and surfaces the operative values, not just whatever the first page said.

Managed services

Don't want to build it? We'll write your configs from your samples.

Solutions engineers handle plan, build, deploy, and adjust on your behalf. You see clean JSON in your API response. Same engine as self-serve, just with the configuration work outsourced.

What's included

01Plan.Engineers review your samples and pick the right method

02Build.SenseML configs written from your samples

03Deploy.Same engine as self-serve, ready for production

04Adjust.We update configs when formats shift or new edge cases appear

05Integrate.Help with custom integration into your downstream systems

Fields we extract

Every lease is different, so we build the config around your exact schema rather than a fixed list. These are the terms abstraction teams pull most; we map whatever else your lease administration or portfolio workflow needs.

01

Parties & premises

Landlord/lessor, tenant/lessee, guarantor, premises address, unit, rentable square footage, permitted use, execution date

02

Term & rent

Commencement date, expiration date, monthly base rent, annual rent, escalation/CAM, base year, percentage rent, payment due day

03

Deposits, clauses & options

Security deposit, late fees, renewal options, termination/notice terms, holdover rent, signatures, amendment effective dates

config.json

SenseML

{ /* SenseML: lease extraction */
"fields": [
{
"method": {
"id": "queryGroup",
"queries": [
{ "id": "landlord", "description": "landlord, lessor, owner name" },
{ "id": "tenant", "description": "tenant, lessee, resident name" },
{ "id": "monthly_rent", "description": "monthly rent, base rent, rent amount" },
{ "id": "lease_term", "description": "lease term, commencement and expiration dates" }
// + more fields, mapped to your schema
]
}
}
]
}

Supported lease types

Sensible processes leases regardless of who drafted them, from standard state association forms to landlord-counsel custom agreements. New lease formats can be configured in hours, with the extraction logic explicit in SenseML rather than hidden in prompt tuning.

Residential

Apartment and single-family leases, association and realtor forms, month-to-month and fixed-term agreements, renewals, addenda

Commercial

Office, retail, and industrial leases, gross and triple-net (NNN), ground leases, amendments, estoppels, and SNDAs

Common Questions

Answers about clause-level extraction, residential versus commercial leases, and handling amendments.

Can Sensible handle amendments and multi-page leases?

Yes. A single lease can run 40 or more pages, then carry addenda, riders, and amendments that change the rent or term after signing. Sensible reads the full document and surfaces the operative values, not just whatever the first page said.

How does Sensible extract terms buried in lease prose?

Rent, term, and deposit are not fields on a form. They sit inside justified paragraphs that read "commencing on the first day of" and "in the amount of." LLM parsing finds the value inside the sentence, and SenseML rules map it to the field your system expects.

What fields does Sensible extract from a lease?

Landlord, tenant, premises, term, monthly and annual rent, escalation or CAM, security deposit, renewal options, and termination terms are all extracted. Because every lease is different, the config is built around your exact schema rather than a fixed list.

Which lease types does Sensible support?

Residential and commercial both, whoever drafted them: apartment and single-family leases, association and realtor forms, and office, retail, and industrial agreements including gross, triple-net, and ground leases. State association forms and landlord-counsel custom agreements work the same way. A format that hasn't come through before gets configured in SenseML.

Start free

Turn your next lease into JSON.

Free 14-day trial. No credit card required. Start extracting in minutes.