Model MatchHelp

Recipes

Find loan officers in a market

Pull a ranked list of the loan officers who produce in a metro, county, or city, with their volume, product mix, and contact details.

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 officer

With 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"
}
  • scopedVolume and scopedUnits are production inside the market you named. volume and units are the loan officer’s total everywhere.
  • city and state on each row show their primary market, which can differ from the one you searched.
  • Pass cursor back to get the next page. Each row costs one credit.

Make it yours

  • Only producers with a phone on file: add "hasPhone": true to flatFilters.
  • FHA specialists: add "productMix": [{ "product": "fha", "minShare": 30 }] next to flatFilters, 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.