Model MatchHelp

Market

Loan officer movement totals for a period

getapi.modelmatch.com/v1/market/movement/stats

Period totals of loan-officer movement: company joins, company-to-company transitions, complete company departures, industry exits, newly licensed loan officers, the working head-count at both ends of the window and its net change, plus the trailing-14-month production of the loan officers who moved. A move is dated by the loan officer's FIRST record at the new company; a loan officer licensed in several states counts once per company. Location filters use the loan officer's CURRENT NMLS location. Results refresh weekly. A response not ready within 25 s answers 202 (MovementComputing): repeat the same request after retryAfterMs.

Authorization

x-api-keystringrequired

API key or OAuth token. See Authentication.

Query parameters

dateRangestring

Reporting window. last_N_months = the N most recent COMPLETED calendar months (the current month is excluded); year_to_date = Jan 1 through the end of last month; YYYY (or fy_YYYY) = that calendar year; all_time. Default last_12_months.

statestring

Two-letter state. Matches the loan officer's CURRENT NMLS location, not where they were when they moved.

statesstring

Comma-separated two-letter states (e.g. a region). ORed; combined with state when both are sent.

citystring

Exact city name of the loan officer's current NMLS location. Pair with state.

companyCategorystring

Comma-separated company categories (BANK, CU, OTHER) applied to the company whose roster changed — the destination for arrivals, the company left for departures.

Responses

200objectOK
Show attributes
activeAtEndnumberrequired

Loan officers with an open employment record on the last day of the window.

activeAtStartnumberrequired

Loan officers with an open employment record on the day before the window starts.

companyDeparturesnumberrequired

Loan officers whose every record at a company ended in the window (a complete departure from that company). Approximate distinct count.

industryExitsnumberrequired

Loan officers with no open employment anywhere whose last employment ended in the window.

joinsnumberrequired

Loan officers who started at a company in the window (first record at that company), new entrants included. Approximate distinct count (±~1%).

moversScannednumberrequired

How many moving loan officers the volume figures cover (each counted once, at their latest move in the window).

moversTruncatedbooleanrequired

Always false: every mover in the window is covered. Kept for compatibility.

netnumberrequired

activeAtEnd − activeAtStart — the change in working loan officers over the window.

newlyLicensednumberrequired

Loan officers first licensed or registered in the window (each counted once, ever).

transitionsnumberrequired

Loan officers who started at a company in the window after a previous employer — company-to-company moves. Approximate distinct count.

unitsTransferrednumberrequired
volumeTransferrednumberrequired

Trailing 14-month origination volume of the loan officers counted in transitions (see moversScanned), as of the last weekly refresh.

windowobjectrequired

The resolved reporting window (inclusive dates).

Show child attributes
endDatestringrequired
monthsnumberrequired
startDatestringrequired
202objectStill computing — poll the same request after `retryAfterMs`. See `MovementComputing`.
Show attributes
retryAfterMsintegerrequired

Suggested wait before repeating the SAME request (also sent as Retry-After, in seconds).

statusenumrequired
Options:computing
400objectValidation error
401objectUnauthorized
403objectForbidden (authenticated, but missing required context — e.g. no active organization)
404objectNot found
413objectResponse payload too large — detail endpoint capped to fit Lambda response limits
503objectSearch timed out or the cluster is overloaded — retry after `Retry-After` seconds.