Originators

Search originators with filters

POST
/v1/originators

Search and list individual loan originators (LOs — NMLS-registered mortgage loan officers) with filters — one row per originator. Filter by name, NMLS ID, location (state, city), employer/company, and production metrics (loan volume, units, product mix), with sorting and cursor pagination. LOCATION SEMANTICS: the state/city filters match an originator's PRODUCTION GEOGRAPHY — the markets where they actually originated loans in the selected period — not where their office or employer sits. An LO who lends across several markets matches a filter for ANY of those markets, while the state/city returned on each row reflect only their PRIMARY (highest-volume) market. So a search for city "Long Beach" can return an LO whose displayed location is a different city/state (e.g. their top market is in Arizona) — they still originated loans in Long Beach, it just isn't their #1 market. To rank originators by their volume within a specific market, sort by volume after filtering, or use the per-originator city/county/state breakdown endpoints. NEWLY LICENSED / NO PRODUCTION: an originator who is in the NMLS registry but has no production record is returned only by an identity search — nmlsId, name or namePrefix as the ONLY filter — sent with producersOnly: false. Those rows come after the rows that have production, carry hasScoredData: false, and have null production fields. Under any other filter, or without producersOnly: false, they are not returned (use getOriginator for one by NMLS id). This is the per-originator record search: use it to find specific loan officers or build a filtered LO list. (For a single originator by NMLS ID use the originator detail endpoint.) If you only need how many originators match and not the records themselves, send the same request body to countOriginators.

Authorization

x-api-key<token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/originators" \  -H "Content-Type: application/json" \  -d '{}'
{
  "cursor": "string",
  "data": [
    {
      "avgLoanAmount": 0,
      "branchLocation": {
        "city": "string",
        "name": "string",
        "nmlsId": "string",
        "state": "string"
      },
      "city": "string",
      "companyCategory": "string",
      "companyName": "string",
      "companyNmlsId": "string",
      "companyStartDate": "string",
      "contact": {
        "cellPhone": "string",
        "employerAddress": "string",
        "employerCity": "string",
        "employerCompany": "string",
        "employerCompanyId": "string",
        "employerState": "string",
        "employerType": "string",
        "employerWebsite": "string",
        "employerZip": "string",
        "facebook": "string",
        "linkedin": "string",
        "officePhone": "string",
        "officePhoneExt": "string",
        "personalEmail": "string",
        "twitter": "string",
        "website": "string",
        "workEmail": "string"
      },
      "conventionalPct": 0,
      "email": "string",
      "employerCity": "string",
      "employerState": "string",
      "fhaPct": 0,
      "firstName": "string",
      "hasScoredData": true,
      "id": "string",
      "isBranchManager": true,
      "isWorking": true,
      "lastName": "string",
      "lastTransactionDate": "string",
      "licenseCount": 0,
      "licensedSinceDate": "string",
      "name": "string",
      "nmlsId": "string",
      "officeCity": "string",
      "officeState": "string",
      "officeZip": "string",
      "phone": "string",
      "previousUnits": 0,
      "previousVolume": 0,
      "purchaseShare": 72.5,
      "purchaseUnits": 0,
      "purchaseVolume": 0,
      "refinanceShare": 18.2,
      "refinanceUnits": 0,
      "refinanceVolume": 0,
      "regulators": [
        "string"
      ],
      "scopedUnits": 0,
      "scopedVolume": 0,
      "state": "string",
      "tenureMonths": 0,
      "units": 0,
      "vaPct": 0,
      "volume": 0,
      "yearsInIndustry": 0
    }
  ],
  "locationNormalizations": [
    {
      "candidates": [
        "string"
      ],
      "confidence": "normalized",
      "displayName": "Saint Louis, MO",
      "field": "city",
      "id": "city_mo_saint-louis",
      "normalized": "Saint Louis",
      "original": "St. Louis",
      "variants": [
        "string"
      ]
    }
  ],
  "total": 0,
  "totalIsLowerBound": true
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string",
  "limit": 0,
  "size": 0
}