Ask for originators by where they produce loans, not where their office is. Scope the search to a market, sort by volume inside that market, and you have a ranked list in one request.
The request
curl -X POST https://api.modelmatch.com/v1/originators \
-H "x-api-key: mm_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"flatFilters": { "msa": "12420" },
"period": "last12Months",
"sort": [{ "field": "scopedVolume", "order": "desc" }],
"pagination": { "size": 25 }
}'import { createClient } from "@model-match/api";
const client = createClient({ apiKey: process.env.MODEL_MATCH_API_KEY });
const result = await client.originators.list({
body: {
flatFilters: { msa: "12420" },
period: "last12Months",
sort: [{ field: "scopedVolume", order: "desc" }],
pagination: { size: 25 },
},
});
const rows = result.data.data; // one row per loan officerWith the MCP server connected, ask in plain language:
Who are the top 25 loan officers in the Austin metro by volume over the last 12 months? Include their company and product mix.
msa takes a metro code or a name such as "Austin Metro". Use county (a FIPS code or name), city, state, or zip to scope differently.
What comes back
{
"data": [
{
"nmlsId": "184203",
"name": "Jordan Alvarez",
"companyName": "Hill Country Home Loans",
"city": "georgetown",
"state": "TX",
"volume": 177242593,
"units": 379,
"scopedVolume": 166859256,
"scopedUnits": 354,
"purchaseShare": 33.2,
"conventionalPct": 70.4,
"fhaPct": 11.9,
"vaPct": 17.4,
"phone": "512-555-0142",
"email": null,
"lastTransactionDate": "2026-09-29T06:00:00.000Z"
}
],
"total": 10023,
"cursor": "WyJtbTp2MiIsMTA4MjY0ODYwLCIxNTEyNjMiXQ"
}
scopedVolumeandscopedUnitsare production inside the market you named.volumeandunitsare the loan officer’s total everywhere.cityandstateon each row show their primary market, which can differ from the one you searched.- Pass
cursorback to get the next page. Each row costs one credit.
Make it yours
- Only producers with a phone on file: add
"hasPhone": truetoflatFilters. - FHA specialists: add
"productMix": [{ "product": "fha", "minShare": 30 }]next toflatFilters, and"units": { "gte": 20 }so a 100% share off two loans doesn’t count. - Recent movers:
"timeAtCompanyMonths": { "lte": 6 }finds loan officers who changed companies this year. - Just the count: send the same body to
/v1/originators/count. It’s free.