Model MatchHelp

Market

Top-100 loan officer rankings for a year

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

The top 100 loan officers for a calendar year by total volume, units, or FHA / VA / purchase / refinance volume, with current employer and retail / banker / broker type. 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

subcategoryenum

Ranking metric (default total_volume).

Options:total_volumemost_unitstop_fhatop_vatop_purchasetop_refinance
yearstring

Calendar year to rank (default: last year).

pageinteger
limitinteger

Rows to return (default 25, max 100).

Responses

200objectOK
Show attributes
dataobject[]required
Show child attributes
avgLoanSizenumberrequired
citystring | nullrequired
companyNamestring | nullrequired
companyNmlsIdstring | nullrequired
loTypeenum | nullrequired

Broker when the scored profile says so; else Retail (state-licensed) or Banker (federally registered) from the current employment.

Options:BrokerRetailBankernull
namestring | nullrequired
nmlsIdstringrequired
purchasePctnumber | nullrequired
ranknumberrequired
refinancePctnumber | nullrequired
statestring | nullrequired
typeUnitsnumber | nullrequired
typeVolumenumber | nullrequired
unitSharenumberrequired

Percent of the top-100's units (type-specific units for product rankings).

unitsnumberrequired
volumenumberrequired
pagenumberrequired
pageSizenumberrequired
subcategoryenumrequired
Options:total_volumemost_unitstop_fhatop_vatop_purchasetop_refinance
totalnumberrequired
totalPagesnumberrequired
yearstringrequired
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.