Real Estate
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.
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






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
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
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
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
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
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
]
}
}
]
}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.
Apartment and single-family leases, association and realtor forms, month-to-month and fixed-term agreements, renewals, addenda
Office, retail, and industrial leases, gross and triple-net (NNN), ground leases, amendments, estoppels, and SNDAs
Answers about clause-level extraction, residential versus commercial leases, and handling amendments.
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.
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.
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.
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
Free 14-day trial. No credit card required. Start extracting in minutes.