Companies
Where a company's hires came from and where its exits went
Authorization
Path parameters
nmlsIdstringrequiredCompany NMLS ID
Query parameters
periodenumPreset 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.
2017201820192020202120222023202420252026last3Monthslast6Monthslast12Monthslast14Monthslast16Monthslast18Monthslast24MonthsyearToDateallTimefromstringWindow start, inclusive (YYYY-MM-DD). Overrides period.
tostringWindow end, inclusive (YYYY-MM-DD). Overrides period.
limitintegerCounterparty companies per side (default 50, max 1000).
Responses
200objectHires by prior employer, exits by next employerShow attributesHide attributes
arrivalsobjectrequiredWhere this window's hires came from: each hire's employer whose record ended most recently on or before their start here. A partition — companies[].count + unattributed = total. 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 attributesHide child attributes
companiesobject[]requiredShow child attributesHide child attributes
companyNamestring | nullrequiredcompanyNmlsIdstring | nullrequiredcountnumberrequiredLoan officers attributed.
unitsnumberrequiredLoans behind volume.
volumenumberrequiredThose loan officers' production AT THIS company (employer at time of loan = this company) recorded inside the window.
companiesTruncatedbooleanrequiredtrue when more counterparties exist than limit; companies is then the largest limit. total and unattributed are unaffected.
totalnumberrequiredunattributednumberrequiredHires with no earlier employer on file that ended by their start date — typically new to the industry.
unitsnumberrequiredLoans behind volume.
volumenumberrequiredEvery mover on this side's production AT THIS company (employer at time of loan = this company) recorded inside the window — volume gained (arrivals) / lost (departures). Includes unattributed movers.
boomerangsobjectrequiredWindow hires who came BACK: an earlier stint here ended (before or inside the window) and a later one starts inside it. Stints merge overlapping license records, so dropping one state license is not a departure. Someone who joined and left inside the window without returning is not one.
Show child attributesHide child attributes
dataobject[]requiredSorted by volume, most first, then NMLS ID.
Show child attributesHide child attributes
leftDatestringrequiredEnd of the stint at this company before the return.
namestring | nullrequirednmlsIdstringrequiredreturnedDatestringrequiredStart of the returning stint (inside the window).
stillHerebooleanrequiredStill holds an open record at this company.
unitsnumberrequiredLoans behind volume.
volumenumberrequiredProduction AT THIS company (employer at time of loan = this company) recorded inside the window.
wentToobjectrequiredWhere they worked while away: the first employer whose record overlaps the gap. Null fields when none is on file.
wentToDatestring | nullrequireddataTruncatedbooleanrequiredtrue when more than 500 matched; data is then the 500 with the most volume. total, volume and units cover every one.
statusenumrequiredtimeout when the hires' history at this company could not be read within 8 s (very large company over a long window): every count is then 0 and means "not available", not "none". Rubberbands do not depend on it.
oktimeoutstillHereobjectrequiredThe subset still at the company.
Show child attributesHide child attributes
countnumberrequiredunitsnumberrequiredLoans behind volume.
volumenumberrequiredProduction AT THIS company (employer at time of loan = this company) recorded inside the window.
totalnumberrequiredunitsnumberrequiredLoans behind volume.
volumenumberrequiredProduction AT THIS company (employer at time of loan = this company) recorded inside the window.
departuresobjectrequiredWhere this window's exits went: each exit's earliest employer record starting on or after their departure. A partition, like arrivals. 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 attributesHide child attributes
companiesobject[]requiredShow child attributesHide child attributes
companyNamestring | nullrequiredcompanyNmlsIdstring | nullrequiredcountnumberrequiredLoan officers attributed.
unitsnumberrequiredLoans behind volume.
volumenumberrequiredThose loan officers' production AT THIS company (employer at time of loan = this company) recorded inside the window.
companiesTruncatedbooleanrequiredtrue when more counterparties exist than limit; companies is then the largest limit. total and unattributed are unaffected.
totalnumberrequiredunattributednumberrequiredExits with no later employer on file — not re-employed yet, or left the industry.
unitsnumberrequiredLoans behind volume.
volumenumberrequiredEvery mover on this side's production AT THIS company (employer at time of loan = this company) recorded inside the window — volume gained (arrivals) / lost (departures). Includes unattributed movers.
rubberbandsobjectrequiredWindow exits who went BACK: their next employer is one where they hold an ended record that started before the window.
Show child attributesHide child attributes
dataobject[]requiredSorted by volume, most first, then NMLS ID.
Show child attributesHide child attributes
joinedDatestring | nullrequiredFirst start at this company among the window-relevant records.
leftDatestringrequiredComplete-departure date.
leftPreviousDatestringrequiredWhen their earlier, pre-window stint at returnedTo ended.
namestring | nullrequirednmlsIdstringrequiredreturnedToobjectrequiredWhere they worked while away: the first employer whose record overlaps the gap. Null fields when none is on file.
returnedToDatestringrequiredunitsnumberrequiredLoans behind volume.
volumenumberrequiredProduction AT THIS company (employer at time of loan = this company) recorded inside the window.
dataTruncatedbooleanrequiredtrue when more than 500 matched; data is then the 500 with the most volume. total, volume and units cover every one.
totalnumberrequiredunitsnumberrequiredLoans behind volume.
volumenumberrequiredProduction AT THIS company (employer at time of loan = this company) recorded inside the window.
truncatedbooleanrequiredtrue 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.
windowobjectrequiredShow child attributesHide child attributes
fromstringrequiredtostringrequired400objectValidation error401objectUnauthorized403objectForbidden (authenticated, but missing required context — e.g. no active organization)404objectNot found413objectResponse payload too large — detail endpoint capped to fit Lambda response limits503objectSearch timed out or the cluster is overloaded — retry after `Retry-After` seconds.