Model Match API
Build with mortgage, real estate, and originator data at scale.
The Model Match API gives you programmatic access to the largest mortgage and real estate dataset available. Query, filter, and analyze data across every resource with a single, consistent interface.
Getting Started
Everything you need to make your first API call.
API Reference
Interactive documentation for every endpoint, generated from our OpenAPI spec.
Quick Start
Fetch recent purchase loans in California with a single request:
curl -X POST https://api.modelmatch.com/v1/loans \
-H "x-api-key: mm_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"flatFilters": {
"state": "CA",
"transactionType": "purchase"
},
"sort": [{ "field": "mortgageDate", "order": "desc" }],
"pagination": { "size": 25 }
}'Every list endpoint returns the same shape — a data array, a total count, and a cursor for the next page:
{
"data": [{ "id": "...", "state": "CA", "mortgageAmount": 750000, ... }],
"total": 142857,
"cursor": "eyJzb3J0IjpbIjIwMjQt..."
}How the API Works
All resources follow the same conventions, so once you learn one, you know them all.
List vs Detail
Every resource has two endpoints:
- List (
POST /v1/<resource>) — paginated summaries with filtering, sorting, and analytics - Detail (
GET /v1/<resource>/{id}) — the complete record with all nested data
List endpoints return compact summaries (loan amount, address, originator name). Detail endpoints return everything — buyers, sellers, agents, valuation history, title company, and more.
Common Capabilities
All list endpoints support:
- Pagination — cursor-based, up to 100 results per page
- Filtering — flat filters or boolean trees
- Sorting — multi-field sort via the
sortarray - Period scoping — time-bounded queries (
"2024","last12Months","yearToDate","allTime") - Analytics — most resources (agents, originators, loans, sales, market) expose
/analytics/summary,/analytics/time-series, and/analytics/chartsub-endpoints
Base URL
https://api.modelmatch.com