Real Estate
Mortgage portfolio packages bundle hundreds or thousands of loan-level records into PDFs, Excel exports, and servicer reports. Acquirers, securitization teams, and servicing transfer operations need clean loan-level JSON for diligence and pricing. Sensible converts any portfolio package into normalized JSON ready for analytics and underwriting models.
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






Diligence teams usually write a one-off parser per deal: servicer exports differ, loan tapes nest inside each other, and field names never line up. We standardize the whole portfolio against your data model instead.
01
Every servicer exports portfolios differently: different column orders, different field names, different reporting periods. Each format needs its own configuration, and SenseML makes each one repeatable across deals.
02
A single portfolio package can contain loan-level tape, payment history, escrow detail, and modification history — each as a separate section. Sensible stitches them into a single loan-level record per borrower.
03
UPB, original balance, original LTV, current LTV, FICO, DTI — each label varies by servicer. Sensible normalizes to a single canonical schema so your pricing models see consistent data across every deal.
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 mortgage portfolio is different, so we build the config around your exact schema rather than a fixed list. These are the fields diligence teams request most; we map whatever else your portfolio-analytics or pricing pipeline needs.
01
Portfolio summary
Portfolio name, as-of date, loan count, UPB total, weighted average rate, weighted average FICO, weighted average LTV
02
Loan-level detail
Loan number, original balance, current UPB, note rate, original term, remaining term, FICO, DTI, LTV, property type, occupancy
03
Performance and history
Current status, delinquency history (24mo), modification flag, last paid date, escrow balance, prepayment penalty
config.json
SenseML
{ /* SenseML: mortgage portfolio extraction */
"fields": [
{
"method": {
"id": "queryGroup",
"queries": [
{ "id": "loan_number", "description": "loan number, loan ID" },
{ "id": "current_upb", "description": "current UPB, unpaid balance" },
{ "id": "note_rate", "description": "note rate, interest rate" },
{ "id": "fico_score", "description": "FICO, credit score" }
// + more fields, mapped to your schema
]
}
}
]
}Sensible processes portfolio exports from any servicer, with pre-built configurations for major systems.
Mr. Cooper, Rocket, Freedom Mortgage, NewRez, ServiceMac, Cenlar — pre-built configurations for each servicer's export format.
Bank-owned portfolios, credit union exports, and one-off whole-loan tapes. SenseML configures any new servicer format in hours.
Answers about servicer variation, field normalization, and portfolio aggregates.
Sensible extracts portfolio totals when they appear on the package. Loan count, UPB total, weighted average rate, weighted average FICO, and weighted average LTV can also be computed from the structured loan-level data.
Yes. Loan-level tape, payment history, escrow detail, and modification history get stitched into a single loan-level record per borrower. Cross-section references stay intact in the output.
UPB, original balance, original and current LTV, FICO, and DTI map to one canonical schema so pricing models see consistent fields no matter which servicer exported the tape. The schema is yours to extend; additional loan-level fields get added in SenseML when a servicer carries data you want to keep.
Sensible processes portfolio exports from any servicer. Pre-built configurations cover Mr. Cooper, Rocket, Freedom Mortgage, NewRez, ServiceMac, and Cenlar. Bank-owned and one-off whole-loan tapes can be configured in SenseML.
Yes. Sensible sends extraction results to your webhook endpoint when processing completes. You can also poll the API for status.
Yes. Sensible flags extractions with low confidence for human review. You can configure review thresholds and workflows.
Sensible is SOC 2 Type II certified and HIPAA compliant. Data is encrypted in transit and at rest.
Document data is stored indefinitely by default. Custom retention policies are available and can be configured for same-day deletion if needed.
Yes. Sensible offers a 14-day free trial on the Growth plan. No credit card required to start.
Sensible uses per-document pricing for predictable costs. No token-based billing or usage surprises. Volume discounts are available for higher throughput.
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.
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.
Accuracy depends on document quality and configuration. Most production deployments achieve 95%+ accuracy with proper validation rules and confidence signals.
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
Free 14-day trial. No credit card required. Start extracting in minutes.