Search originators with filters
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.
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
}Get bulk-delivery job status for originators GET
Previous Page
Real-estate agents this LO co-closed with POST
Ranks the real-estate agents on this LO's loans, by volume — the buyer's agent by default, the listing and co-listing agents with `side: "listing"`. Each loan is credited to the agent its agent keys resolve to (a key naming several different people credits only the confirmed one), so `units` counts distinct loans per agent. `id` is that agent's id (pass it to `GET /v1/agents/{id}`); absent when the loan's key matches no agent profile, in which case `label` is the name the recorded. Names that are an placeholder for "no agent recorded" (`non member`, `non listed agent`, and ~140 board-specific spellings) are excluded — they are not people. Percentages are shares of the LO's whole loan population, so they do not sum to 100 across the page.