Market

Loan officer movement totals for a period

GET
/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-key<token>

In: header

Query Parameters

dateRange?string

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.

Match^(?:last_\d{1,3}_months|year_to_date|all_time|(?:fy_|fiscal_)?\d{4})$
state?string

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

Match^[A-Za-z]{2}$
states?string

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

Match^[A-Za-z]{2}(?:,[A-Za-z]{2})*$
city?string

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

Length1 <= length <= 100
companyCategory?string

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

Match^(?:BANK|CU|OTHER)(?:,(?:BANK|CU|OTHER))*$

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/market/movement/stats"
{
  "activeAtEnd": 0,
  "activeAtStart": 0,
  "companyDepartures": 0,
  "industryExits": 0,
  "joins": 0,
  "moversScanned": 0,
  "moversTruncated": true,
  "net": 0,
  "newlyLicensed": 0,
  "transitions": 0,
  "unitsTransferred": 0,
  "volumeTransferred": 0,
  "window": {
    "endDate": "string",
    "months": 0,
    "startDate": "string"
  }
}
{
  "retryAfterMs": 5000,
  "status": "computing"
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string",
  "limit": 0,
  "size": 0
}