Model MatchHelp

Companies

Roster size by production tier, plus hire and exit production

getapi.modelmatch.com/v1/companies/{nmlsId}/employee-stats

Authorization

x-api-keystringrequired

API key or OAuth token. See Authentication.

Path parameters

nmlsIdstringrequired

Company NMLS ID

Query parameters

periodenum

Preset window when from/to are not given (default last12Months). Rolling periods start on the FIRST day of the month N months back and end today; a year is Jan 1 – Dec 31; allTime starts 2017-01-01, the earliest reliable registration data. Also selects the production period for volume/units.

Options:2017201820192020202120222023202420252026last3Monthslast6Monthslast12Monthslast14Monthslast16Monthslast18Monthslast24MonthsyearToDateallTime
fromstring

Window start, inclusive (YYYY-MM-DD). Overrides period.

tostring

Window end, inclusive (YYYY-MM-DD). Overrides period.

Responses

200objectRoster and mover statistics
Show attributes
arrivedobjectrequired

Hires in the window. A hire is a loan officer whose earliest employment record at this company still relevant to the window (open, or ended on/after the window start) starts inside it — so someone who fully left and came back inside the window counts, and an existing employee who adds a state license does not.

Show child attributes
avgVolumenumberrequired
countnumberrequired
shareOfRosternumberrequired

Hires as a share (0–100) of the current roster.

topNamestring | nullrequired
topNmlsIdstring | nullrequired
topVolumenumberrequired
totalUnitsnumberrequired
totalVolumenumberrequired
currentobjectrequired

The current roster (open employment record today). Production is each loan officer's period production across ALL employers.

Show child attributes
avgUnitsPerLOnumberrequired
avgVolumePerLOnumberrequired
nonProducingCountnumberrequired
producingCountnumberrequired
tiersobject[]required

The current roster bucketed by units closed in period: none (0), low (1–24), mid (25–99), top (100+).

Show child attributes
countnumberrequired
labelstringrequired
maxUnitsnumber | nullrequired
minUnitsnumberrequired
tierenumrequired
Options:nonelowmidtop
unitsnumberrequired
volumenumberrequired
topConcentrationPctnumberrequired

Share (0–100) of roster volume produced by its top 10%.

totalCountnumberrequired
totalUnitsnumberrequired
totalVolumenumberrequired
departedobjectrequired

Exits in the window. An exit is a loan officer whose latest record at this company ended inside the window and who holds NO open record there — a complete departure.

Show child attributes
avgVolumenumberrequired
countnumberrequired
topNamestring | nullrequired
topNmlsIdstring | nullrequired
topVolumenumberrequired
totalUnitsnumberrequired
totalVolumenumberrequired
truncatedbooleanrequired

true when the company has more than 100,000 loan officers in scope and only the first 100,000 (by NMLS ID) were counted. false means every figure covers the full population.

windowobjectrequired
Show child attributes
fromstringrequired
tostringrequired
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.