Market

Loan officer movement by state and city

GET
/v1/market/movement/by-state

Loan officers who changed companies in the window, grouped by state (all states) and city (top limit), each with the company that gained the most of them. 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))*$
limit?integer

City rows to return (default 25, max 100). All states are always returned.

Range1 <= value <= 100

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/by-state"
{
  "cities": [
    {
      "city": "string",
      "losChanged": 0,
      "state": "string",
      "topGainingCompany": {
        "gainedCount": 0,
        "name": "string",
        "nmlsId": "string"
      }
    }
  ],
  "data": [
    {
      "losChanged": 0,
      "state": "string",
      "topGainingCompany": {
        "gainedCount": 0,
        "name": "string",
        "nmlsId": "string"
      }
    }
  ],
  "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
}