Capital Markets

Extract offering memorandums to structured JSON

Offering memorandums present investment properties with financial projections, property details, and market analysis. OMs blend narrative with dense financial tables. Sensible converts OM data into structured JSON for deal screening, underwriting, and portfolio analysis.

deal screening | investor diligence | portfolio research

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

What makes offering memorandums hard to extract

OMs mix narrative, photos, and financial projection tables, and every brokerage brands and orders them its own way. We pull the numbers and terms that matter into a consistent schema, whatever the design.

01

Mixed Content Parsing

Photos, market narratives, financial tables, all in one PDF. The extraction focuses on the numbers: structured data from financial sections, property details from the description, marketing content ignored.

02

Financial Projection Tables

Pro forma projections, cap rate analyses, cash flow schedules: each varies by broker and property type. Tables are extracted with their full multi-year structure into arrays your underwriting model consumes directly.

03

Broker-Specific Formatting

CBRE, JLL, Cushman, Marcus & Millichap: every brokerage uses their own branded OM template with different layouts, page ordering, and section naming. There is no structural standard. Sensible adapts to each broker's design while outputting the same acquisition analysis schema.

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

We configure every offering memorandum extraction to your exact schema, not a fixed field list. The fields below are the ones acquisitions teams pull most often — tell us what your acquisition model needs and we map the rest.

01

Property overview

Property name, address, property type, year built, total units/SF, lot size, zoning, parking, occupancy rate, asking price/cap rate

02

Financial data

Gross potential income, vacancy loss, effective gross income, operating expenses (itemized), NOI, cap rate, price per unit/SF, cash flow projections

03

Deal information

Broker name, broker contact, seller information, marketing highlights, comparable sales, rent comparables, market overview

config.json

SenseML

{ /* SenseML: offering memorandum extraction */
"fields": [
{
"method": {
"id": "queryGroup",
"queries": [
{ "id": "property_name", "description": "property name, property address, subject property" },
{ "id": "asking_price", "description": "asking price, list price, offering price" },
{ "id": "cap_rate", "description": "cap rate, capitalization rate, going-in cap rate" },
{ "id": "noi", "description": "net operating income, NOI, annual NOI" }
// + more fields, mapped to your schema
]
}
}
]
}

Supported OM formats

Sensible processes OMs from any brokerage: CBRE, JLL, Cushman, Marcus & Millichap, and regional firms. The hybrid approach adapts to each broker's format while enforcing your target schema.

By broker

CBRE, JLL, Cushman & Wakefield, Marcus & Millichap, Newmark, Colliers, Berkadia, local/regional brokers

By property type

Multifamily, office, retail, industrial, mixed-use, hospitality, self-storage, senior living

Common Questions

Answers about OM parsing, financial projection extraction, and broker format support.

How does Sensible handle the complex tables in OMs?

Sensible's table extraction handles multi-page financial schedules, rent rolls embedded in OMs, and comparable sales tables. Column headers and row labels are preserved in the structured output.

What property details does Sensible capture from OMs?

By default Sensible pulls property address, type, year built, total units or square footage, lot size, zoning, occupancy rate, asking price, and the seller and broker details. OMs differ widely in what they report, so the field set is configuration you shape, adding or dropping items to match the deal data you track.

Can Sensible extract financial projections from offering memorandums?

Yes. Sensible extracts income and expense tables, pro forma projections, cap rates, NOI, and cash flow schedules. Multi-year projection tables are returned as structured arrays.

Do you support webhooks?

Yes. Sensible sends extraction results to your webhook endpoint when processing completes. You can also poll the API for status.

Does Sensible support human review?

Yes. Sensible flags extractions with low confidence for human review. You can configure review thresholds and workflows.

What security certifications does Sensible have?

Sensible is SOC 2 Type II certified and HIPAA compliant. Data is encrypted in transit and at rest.

How long is document data retained?

Document data is stored indefinitely by default. Custom retention policies are available and can be configured for same-day deletion if needed.

Is there a free trial?

Yes. Sensible offers a 14-day free trial on the Growth plan. No credit card required to start.

How is pricing structured?

Sensible uses per-document pricing for predictable costs. No token-based billing or usage surprises. Volume discounts are available for higher throughput.

How do I integrate with Sensible?

Sensible provides REST APIs and SDKs for Python and Node.js. Most integrations take a few hours. Webhooks, Zapier, and direct API calls are all supported.

What file formats does Sensible support?

Sensible processes PDFs (native or scanned), Microsoft Word (DOC, DOCX), spreadsheets (XLSX, XLS, CSV), single-page images (JPEG, PNG), multi-page images (TIFF), and email bodies with attachments.

How accurate is the extraction?

Accuracy depends on document quality and configuration. Most production deployments achieve 95%+ accuracy with proper validation rules and confidence signals.

How fast is document processing?

Processing speed depends on document size, page count, OCR requirements, and which extraction methods are used. Simple single-page documents process in seconds. Larger or more complex documents that use LLM-based extraction take longer.

Start free

Turn your next offering memorandum into JSON.

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