Model MatchHelp

Originators

Count originators matching filters

postapi.modelmatch.com/v1/originators/count

Return the exact number of originators matching the given filters. Accepts the same request body as listOriginators (pagination and sort are ignored). Use this when you only need a total; to get the matching originators themselves, send the same request body to listOriginators.

Authorization

x-api-keystringrequired

API key or OAuth token. See Authentication.

Body application/json

advancedFiltersone of
Show child attributes
Option 1object
Show child attributes
childrenone of[]required

Array of filter expressions (AND)

Same shape as its parent.

typeenumrequired
Options:and
Option 2object
Show child attributes
childrenone of[]required

Array of filter expressions (OR)

Same shape as its parent.

typeenumrequired
Options:or
Option 3object
Show child attributes
childone ofrequired

Same shape as its parent.

typeenumrequired
Options:not
Option 4object
Show child attributes
fieldstringrequired
openumrequired

Comparison operator. exists means the field has a REAL value: on fields whose source records an unknown as an in-domain value (e.g. beds, squareFeet, lotSquareFeet, where an unrecorded measurement is stored as 0), those docs count as NOT existing. neq keeps docs with no value — it removes only what is known to equal the value, matching the reading of an exclusion.

Options:eqneqgtgteltltebetweeninmatchgeoDistanceexists
typeenumrequired
Options:filter
valuenull

Comparison value

crmListobject

Scope the result to the caller's CRM. Resolved against the caller's ACTIVE WORKSPACE at query time — list membership is read server-side, so the request never carries member ids. Only loan-officer members count; agents and manual (unlinked) records on the same list are ignored. mode: "in" with no matching members returns an empty page (not an unfiltered one). Errors: 400 crm_list_requires_workspace when the caller has no active workspace (API-key / OAuth callers must select an organization), 403 / 404 when a named list is not visible to the caller or does not exist, and 400 crm_list_too_large when the selected lists hold more than 50,000 loan officers in total — narrow the selection rather than get a silently partial answer.

Show child attributes
listsone ofrequired

Which lists: "any" for every People list the caller can see, or an array of list ids. Membership is the UNION across the selected lists.

Show child attributes
Option 1enum

Every list in the caller's workspace that the caller can see (own, org-wide, or shared with them) and that holds this kind of record — People lists for originators and agents, Company lists for companies.

Options:any
Option 2string[]

Specific CRM list ids (1–50).

modeenumrequired

in — only originators who are a member of the selected list(s). notIn — exclude every originator who is a member of the selected list(s); everyone else passes, including originators on none of your lists.

Options:innotIn
filtersone of
Show child attributes
Option 1object
Show child attributes
childrenone of[]required

Array of filter expressions (AND)

Same shape as its parent.

typeenumrequired
Options:and
Option 2object
Show child attributes
childrenone of[]required

Array of filter expressions (OR)

Same shape as its parent.

typeenumrequired
Options:or
Option 3object
Show child attributes
childone ofrequired

Same shape as its parent.

typeenumrequired
Options:not
Option 4object
Show child attributes
fieldstringrequired
openumrequired

Comparison operator. exists means the field has a REAL value: on fields whose source records an unknown as an in-domain value (e.g. beds, squareFeet, lotSquareFeet, where an unrecorded measurement is stored as 0), those docs count as NOT existing. neq keeps docs with no value — it removes only what is known to equal the value, matching the reading of an exclusion.

Options:eqneqgtgteltltebetweeninmatchgeoDistanceexists
typeenumrequired
Options:filter
valuenull

Comparison value

flatFiltersobject
Show child attributes
affordableHousingTractCountone of | null

Number of the entity's loans in qualified affordable-housing tracts. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
affordableHousingTractPctone of | null

Share of the entity's tract-resolved loans in qualified census tracts for affordable-housing programs, 0-100 ({gte:25} = 27,209 originators). Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgAsianPctone of | null

Mean Asian (non-Hispanic) share of the population in the tracts the entity lent in, 0-100. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgBlackPctone of | null

Mean Black (non-Hispanic) share of the population in the tracts the entity lent in, 0-100. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgDenialRateone of | null

Mean share of mortgage applications denied in the tracts the entity lent in, 0-100. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgFamilyIncomeone of | null

Mean median family income of the tracts the entity lent in, in whole dollars. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgHispanicPctone of | null

Mean Hispanic or Latino share of the population in the tracts the entity lent in, 0-100. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgHomeValueone of | null

Mean median home value across the tracts the entity lent in, in whole dollars. A neighborhood statistic — not the entity's average loan size, which is avgLoanAmount. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgHomeownershipRateone of | null

Mean owner-occupied share of housing units in the tracts the entity lent in, 0-100. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgHouseholdIncomeone of | null

Mean median household income of the tracts the entity lent in, in whole dollars (e.g. {lte:60000}). Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgIncomeVsMetroPctone of | null

Mean tract income relative to its metro area, where 100 is parity — {lt:80} is the CRA low/moderate band, and values legitimately exceed 100 (observed up to 412). NOT a 0-100 share. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgLoanAmountone of | null
Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgLowModHouseholdPctone of | null

Mean HUD block-group low/moderate-income HOUSEHOLD share across the tracts the entity lent in, 0-100. A finer-grained measure than lowModIncomeTractPct, which counts whole tracts — not a duplicate of it. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgMedianAgeone of | null

Mean median age of the population in the tracts the entity lent in, in years. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgMilesToCollegeone of | null

Mean straight-line distance to the nearest college, in miles. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgMilesToSchoolone of | null

Mean straight-line distance from the properties the entity lent on to the nearest school, in miles. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgMilesToWorshipone of | null

Mean straight-line distance to the nearest place of worship, in miles. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgMinorityPctone of | null

Mean non-white share of the population in the tracts the entity lent in, 0-100 ({gte:50} = 63,370 originators). majorityMinorityTractPct is the per-tract-threshold form of the same question. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgPopulationone of | null

Mean population of the tracts the entity lent in. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgPovertyRateone of | null

Mean share of the population below the poverty line in the tracts the entity lent in, 0-100. Pass whole percents — {gte:0.2} means 0.2%. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgTractApplicationsone of | null

Mean number of mortgage applications reported in the tracts the entity lent in, over the year. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgTractLoanVolumeone of | null

Mean mortgage dollar volume reported in the tracts the entity lent in, over the year. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgTractOriginationsone of | null

Mean number of mortgage originations reported in the tracts the entity lent in, over the year. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
avgWhiteNonHispanicPctone of | null

Mean White (non-Hispanic) share of the population in the tracts the entity lent in, 0-100. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
cityone of | null

Production city — matches originators who originated loans in this city during the selected period (NOT office/employer location). An LO can match this city while their row's displayed city/state is a different, higher-volume market.

Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
companyCategoryone of | null

Employer category. BANK / CU / OTHER are the stored NMLS categories; BUILDER is a virtual category matching the mortgage arms of home builders (Lennar Mortgage, DHI Mortgage, Pulte Mortgage, …), which NMLS registers as OTHER. Pass an array to match any of several — ["BANK", "BUILDER"] is banks OR builder lenders. Rows never carry BUILDER back; read companyNmlsId instead.

Show child attributes
Option 1enum

One of (case-insensitive): BANK, CU, OTHER, BUILDER

Options:BANKCUOTHERBUILDER
Option 2enum[]

Match any of these values

Options:BANKCUOTHERBUILDER
Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
companyNameone of | null

DEPRECATED — fuzzy name matching is unreliable (one name can match many different people; partial names can silently return 0). Resolve the company via instantSearch and filter by companyNmlsId (exact NMLS id) instead. Still functional for now.

Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
companyNamePrefixstring

Current company name prefix search: each word starts a word of it ("guild mort"); not fuzzy. Digits = company NMLS id.

companyNmlsIdone of | null
Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
countyone of | null

Alias of countyFips, identical behavior — production county by 5-digit FIPS code (e.g. 06037 = Los Angeles, CA) or by county name (Riverside, optionally with a sibling state). Pass an array to match any of several counties.

Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
countyCountone of | null

How many distinct counties the originator produced in during the selected period.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
countyFipsone of | null

Production county. Accepts a 5-digit FIPS code (e.g. 04013 = Maricopa, AZ; 06037 = Los Angeles, CA) or a county name (Riverside, optionally with a sibling state) — names are resolved to a FIPS by the location dictionary. Matches originators who originated loans in this county during the selected period (NOT office/employer location). An ambiguous name returns candidates; an unrecognized one is a 400 naming instantSearch. Pass an array to match any of several counties.

Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
difficultDevelopmentAreaCountone of | null

Number of the entity's loans in HUD-designated difficult development areas. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
difficultDevelopmentAreaPctone of | null

Share of the entity's tract-resolved loans in HUD-designated difficult development areas, 0-100 ({gte:25} = 93,397 originators). Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
distressedTractCountone of | null

Number of the entity's loans in distressed-or-underserved tracts. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
distressedTractPctone of | null

Share of the entity's tract-resolved loans in distressed-or-underserved nonmetropolitan middle-income tracts, 0-100 ({gte:25} = 11,773 originators). Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
firstNameone of | null

DEPRECATED — fuzzy name matching is unreliable (one name can match many different people; partial names can silently return 0). Note: firstName maps to the FULL analyzed name field, not a dedicated first-name leaf, so it also matches middle names. Resolve the originator via instantSearch and filter by nmlsId (exact NMLS id) instead. Still functional for now.

Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
floodHazardTractCountone of | null

Number of the entity's loans in a FEMA special flood hazard area. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
floodHazardTractPctone of | null

Share of the entity's tract-resolved loans in a FEMA special flood hazard area, 0-100 ({gte:25} = 5,212 originators). predominantFloodZone gives the specific zone code. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
hasEmailboolean

Whether the originator's profile carries at least one email address (101,566 do). Same true-is-a-guarantee / false-means-'none on the profile' caveat as hasPhone.

hasPhoneboolean

Whether the originator's profile carries at least one phone number (250,077 do). true is a guarantee — those records have a number. false means 'none on the profile', not 'no number exists': the detail response also draws on a broader contact source, so a small share of false records still show a phone when fetched individually.

hasSocialboolean

Whether the originator's profile carries a social profile link — LinkedIn, Facebook or X/Twitter. Deliberately excludes a plain company website, which is tracked separately and is not a social presence.

isBranchManagerboolean | null
isBrokerboolean | null
isWorkingboolean | null
lastNameone of | null

DEPRECATED — fuzzy name matching is unreliable (one name can match many different people; partial names can silently return 0). Note: lastName maps to the FULL analyzed name field, not a dedicated last-name leaf, so it also matches middle names. Resolve the originator via instantSearch and filter by nmlsId (exact NMLS id) instead. Still functional for now.

Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
lastTransactionDateone of | null

Date of the originator's most recent loan INSIDE the selected period — the 'recently active' axis. {gte: "2026-07-01"} keeps originators who closed a loan on or after that day; under the default last12Months the period's newest loan is the originator's newest loan, so this reads as 'last active since'. Present on every producing record (100% of served rows), so a bound drops no one for lack of a date. Bounds accept YYYY, YYYY-MM, YYYY-MM-DD or an ISO datetime (see DateFilterValue). Sortable: sort: [{field: "lastTransactionDate", order: "desc"}] = most recently active first.

Show child attributes
Option 1string

Exact date, or a whole period: YYYY-MM-DD (that day), YYYY-MM (the whole month — "2025-06" = 2025-06-01 through 2025-06-30) or YYYY (the whole year). YYYYMMDD, MM/DD/YYYY, an ISO-8601 datetime and epoch milliseconds are also accepted. An unparseable value is a 400.

Option 2object

Date range. Excludes null/missing-field docs by default; add includeNulls: true to keep them. Bounds accept YYYY, YYYY-MM, YYYY-MM-DD, YYYYMMDD, MM/DD/YYYY, a full ISO datetime or epoch milliseconds; an unparseable bound is a 400. A partial bound denotes the whole period and expands to the edge that preserves the operator: gte/lt take the period START, gt/lte take the period END — so {gte: "2024"} means on/after 2024-01-01 and {lte: "2024"} means through 2024-12-31.

Show child attributes
gtstring
gtestring
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires a bound.

ltstring
ltestring
lenderCountone of | null

How many distinct lenders the originator sent loans to during the selected period. {lte:1} finds single-outlet producers.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
licenseCountone of | null
Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
licensedSinceDateone of | null

Date the originator's NMLS registration began — 'licensed since'. Lifetime, NOT scoped by period. {gte: "2025-10-01"} finds originators who entered the industry on or after that day (newly licensed); {lte: "2015-01-01"} finds ten-year veterans by registration rather than by yearsInIndustry. On file for 99.7% of producing originators (59% of the whole index, so pair with producersOnly: false cautiously — unregistered rows have no date and are dropped by any bound unless includeNulls: true). Bounds accept YYYY, YYYY-MM, YYYY-MM-DD or an ISO datetime. Sortable: desc = newest registrations first.

Show child attributes
Option 1string

Exact date, or a whole period: YYYY-MM-DD (that day), YYYY-MM (the whole month — "2025-06" = 2025-06-01 through 2025-06-30) or YYYY (the whole year). YYYYMMDD, MM/DD/YYYY, an ISO-8601 datetime and epoch milliseconds are also accepted. An unparseable value is a 400.

Option 2object

Date range. Excludes null/missing-field docs by default; add includeNulls: true to keep them. Bounds accept YYYY, YYYY-MM, YYYY-MM-DD, YYYYMMDD, MM/DD/YYYY, a full ISO datetime or epoch milliseconds; an unparseable bound is a 400. A partial bound denotes the whole period and expands to the edge that preserves the operator: gte/lt take the period START, gt/lte take the period END — so {gte: "2024"} means on/after 2024-01-01 and {lte: "2024"} means through 2024-12-31.

Show child attributes
gtstring
gtestring
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires a bound.

ltstring
ltestring
loanTypeone of | null
Show child attributes
Option 1enum

One of (case-insensitive): conventional, fha, va, he, heloc, building, commercial, stand_alone_refi, closed_end, reverse, usda, stand_alone_second, aggregate, seller_take_back, sba_participation_trust_deed, balloon, opened_end, assumption, negative_amortization, land_contract, trade, modification, unknown

Options:conventionalfhavahehelocbuildingcommercialstand_alone_reficlosed_endreverseusdastand_alone_secondaggregateseller_take_backsba_participation_trust_deedballoonopened_endassumptionnegative_amortizationland_contracttrademodificationunknown
Option 2enum[]

Match any of these values

Options:conventionalfhavahehelocbuildingcommercialstand_alone_reficlosed_endreverseusdastand_alone_secondaggregateseller_take_backsba_participation_trust_deedballoonopened_endassumptionnegative_amortizationland_contracttrademodificationunknown
Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
loansWithCommunityDataone of | null

How many of the entity's loans in the selected period resolved to a neighborhood — the DENOMINATOR every Community Lending share is taken over. Pair it with a share filter ({gte:25}, 60,399 originators) so a 100% share off two loans does not read as a 100% share off two hundred. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
lowModIncomeTractCountone of | null

Number of the entity's loans that landed in a low- or moderate-income tract, as a count rather than a share. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
lowModIncomeTractPctone of | null

Share of the entity's tract-resolved loans that landed in a low- or moderate-income tract under the Community Reinvestment Act, 0-100. {gte:50} = 'at least half their book is LMI' (36,977 originators, 655 companies, 648 branches). Pass whole percents — {gte:0.5} means half of one percent and matches nearly everyone. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
majorityMinorityTractCountone of | null

Number of the entity's loans in majority-minority tracts. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
majorityMinorityTractPctone of | null

Share of the entity's tract-resolved loans in majority-minority tracts, 0-100 ({gte:50} = 65,654 originators). Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
marketConcentrationobject

Share of the originator's period volume held by their SINGLE LARGEST city, as a 0–100 percent. {gte:50} = 'at least half their book is in one city'. LOWER BOUNDS ONLY (gte/gt): an upper bound on this reads as 'some market is small', which is true of almost everyone — to find diversified producers use marketCount instead.

Show child attributes
gtnumber
gtenumber
ltnumber
ltenumber
marketCountone of | null

How many distinct CITIES the originator produced in during the selected period. {gte:10} = a broad, multi-market book; {lte:2} = concentrated. Counts markets, not loans.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
modeenum
Options:andor
msaone of | null

Production METRO AREA (MSA / CBSA): originators who originated loans in ANY county of the metro during the selected period (not office). 5-digit CBSA code (12420) or metro name (Austin Metro); an array matches any. Member counties per the OMB July-2023 delineation (Connecticut's pre-2022 counties included; 41860 San Francisco Bay Area is the nine-county Bay Area). Unknown/ambiguous names are a 400 naming candidates.

Show child attributes
Option 1string
Option 2string[]
nameone of | null

DEPRECATED — fuzzy name matching is unreliable (one name can match many different people; partial names can silently return 0). Resolve the originator via instantSearch and filter by nmlsId (exact NMLS id) instead. Still functional for now.

Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
namePrefixstring

Prefix name search: every word must start a word of the name ("jen ro" → Jennifer Rodriguez). No fuzzy/nickname matching; relevance-ranked unless sort is set. Max 100 chars / 6 words (emails, URLs, phones ignored), else 400.

nmlsIdone of | null
Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
officeCityone of | null

Office city — matches originators whose NMLS-registered office is in this city (NOT where they produced loans; that is city). Resolved through the location dictionary, so spelling variants match (Saint Louis = St. Louis); pair it with officeState to pick one of several same-named cities (a sibling production state does NOT disambiguate it), or pass a dictionary city id. An unrecognized city is a 400 naming instantSearch. Pass an array to match any of several.

Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
officeCountyone of | null

Office county — matches originators whose NMLS-registered office zip lies in this county. Accepts a county name (Orleans, with a sibling officeState when the name exists in several states), a 5-digit FIPS code (22071) or a dictionary county id. The office address carries no county of its own, so it is derived from the office zip: each zip is assigned to the ONE county holding most of its parcels, which makes the counties of a state partition its offices but attributes an office in a zip that straddles a county line to the zip's main county. An unrecognized county is a 400.

Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
officeStateone of | null

Office state — matches originators whose NMLS-registered office is in this state (NOT where they produced loans; that is state). A 2-letter code or full name (LA or Louisiana), any case; pass an array to match any of several. Period-independent. Originators with no office address on file never match.

Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
officeZipone of | null

Office zip code — matches originators whose NMLS-registered office is in this 5-digit zip (ZIP+4 office addresses match their 5-digit prefix). Pass an array to match any of several.

Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
opportunityZoneCountone of | null

Number of the entity's loans in Opportunity Zone tracts. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
opportunityZonePctone of | null

Share of the entity's tract-resolved loans in federally designated Opportunity Zone tracts, 0-100 ({gte:10} = 33,520 originators — this is a small-share filter, a 50% floor finds almost nobody). Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
peakMonthUnitsone of | null

The originator's BEST single month of loan COUNT inside the selected period. {gte:20} = 'they closed 20+ loans in some month' (7,295 originators over the last 12 months). Same peak semantics as peakMonthVolume.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
peakMonthVolumeone of | null

The originator's BEST single month of volume inside the selected period. {gte:10000000} = 'they had at least one $10M month' (4,803 originators over the last 12 months); {lte:X} means no month exceeded X, so it is a true ceiling on their best month. There is no way to ask about a SPECIFIC month here — the per-month buckets are not individually addressable — so use POST /v1/originators/analytics/time-series (filtered to the originator) for a month-by-month series.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
predominantFloodZoneone of | null
Show child attributes
Option 1enum

One of (case-insensitive): A, AE, AH, AO, A99, V, VE

Options:AAEAHAOA99VVE
Option 2enum[]

Match any of these values

Options:AAEAHAOA99VVE
Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
predominantIncomeLevelone of | null
Show child attributes
Option 1enum

One of (case-insensitive): low, moderate, middle, upper

Options:lowmoderatemiddleupper
Option 2enum[]

Match any of these values

Options:lowmoderatemiddleupper
Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
producersOnlyboolean | null
regionone of | null

Production CENSUS REGION / DIVISION (<region>-division-<n>, Census numbering 1–9): originators who originated loans in ANY state of it during the selected period (not office). An array matches any.

Show child attributes
Option 1enum
Options:northeastnortheast-division-1northeast-division-2midwestmidwest-division-3midwest-division-4southsouth-division-5south-division-6south-division-7westwest-division-8west-division-9
Option 2enum[]
Options:northeastnortheast-division-1northeast-division-2midwestmidwest-division-3midwest-division-4southsouth-division-5south-division-6south-division-7westwest-division-8west-division-9
regulatorsone of | null
Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
ruralGradientone of | null

Mean remoteness of the tracts the entity lent in, on an ORDINAL 1-10 scale (1 = metropolitan core, 10 = most remote). This is a code, not a percent — {gte:7} selects the deepest-rural books (8,886 originators). Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
ruralTractCountone of | null

Number of the entity's loans in rural tracts. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
ruralTractPctone of | null

Share of the entity's tract-resolved loans in rural tracts, 0-100 ({gte:50} = 24,006 originators). ruralGradient is the finer, ordinal form. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
sponsoredAvgLoanAmountone of | null

Mean loan size on the originator's sponsored-employer production.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
sponsoredShareone of | null

Share of the originator's period volume originated under their SPONSORING employer, as a 0–100 percent. The retail counterpart of thirdPartyShare; same denominator, same exclusion of zero-volume records, and the two do not sum to 100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
sponsoredUnitsone of | null

Loan count the originator produced under their sponsoring employer during the selected period.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
sponsoredVolumeone of | null

Dollar volume the originator produced under their sponsoring employer during the selected period.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
stateone of | null

Production state — matches originators who originated loans in this state during the selected period (NOT office/employer location). Multi-state LOs match any state they produced in; each row's state shows only their primary (highest-volume) market.

Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
stateCountone of | null

How many distinct states the originator produced in during the selected period. {gte:2} finds multi-state producers.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
thirdPartyAvgLoanAmountone of | null

Mean loan size on the originator's third-party (broker) production.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
thirdPartyShareone of | null

Share of the originator's period volume submitted through a THIRD-PARTY (broker) relationship, as a 0–100 percent. {gte:50} = 'most of their book is wholesale' (52,507 originators over the last 12 months). Computed against their total period volume; an originator with no volume in the period has no share and is excluded rather than counted as zero. This and sponsoredShare do not sum to 100 — the remainder is retail.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
thirdPartyUnitsone of | null

Loan count the originator submitted through third-party (broker) relationships during the selected period.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
thirdPartyVolumeone of | null

Dollar volume the originator submitted through third-party (broker) relationships during the selected period.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
timeAtCompanyMonthsobject | null

Whole months at the CURRENT employer (tenureMonths on each row), from the NMLS registration record as of the last weekly refresh. {gte:24} = at their company two years or more; {lte:6} = recent movers. Only originators currently working at a company have a value. Not sortable — sort by yearsInIndustry or production instead. Applied after the rest of the request: the other filters are matched first, in the request's sort order, and each match is checked against the registration record, so it works at any result size up to 200,000 matches of the OTHER filters. Past that, total counts only the tenure matches among the first 200,000 scanned and the response carries totalIsLowerBound: true; a page beyond what was found answers 400 with code: "TIME_AT_COMPANY_SCOPE" — add a geography, production or company filter to narrow. Pages use an opaque offset cursor; pass cursor back unchanged. Flat filters only, and not inside mode: "or".

Show child attributes
gtinteger
gteinteger
ltinteger
lteinteger
totalLicensesone of | null

How many licenses appear on the originator's record in total, including expired and superseded ones. Distinct from licenseCount, which is the CURRENT registration snapshot and runs lower (it is also only on file for about 60% of originators, where this is on all of them). Use totalLicenses for career breadth, licenseCount for who is licensed right now.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
totalLoansone of | null

Lifetime originated loan count across every period on record. Not scoped by period — use units for the selected period.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
transactionTypeone of | null
Show child attributes
Option 1enum

One of (case-insensitive): purchase, refinance, construction, equity, UNKNOWN

Options:purchaserefinanceconstructionequityUNKNOWN
Option 2enum[]

Match any of these values

Options:purchaserefinanceconstructionequityUNKNOWN
Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
unitsone of | null
Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
usdaEligibleTractCountone of | null

Number of the entity's loans in USDA-eligible tracts. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
usdaEligibleTractPctone of | null

Share of the entity's tract-resolved loans in tracts eligible for USDA rural housing programs, 0-100 ({gte:50} = 90,392 originators). Broader than ruralTractPct — eligibility reaches well past what is classified rural. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
volumeone of | null
Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
yearsInIndustryone of | null

Years of recorded industry tenure. Lifetime, NOT scoped by period. {gte:10} finds established originators (246,091 today); {lte:2} finds new entrants.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
zipone of | null

Production zip code — matches originators who originated loans in this 5-digit zip during the selected period (NOT office/employer location). Pass an array to match any of several zips.

Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
zipCodeone of | null

Alias of zip — production zip code (5-digit). Identical behavior; kept for callers using the loans/sales spelling.

Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
zipCountone of | null

How many distinct 5-digit zip codes the originator produced in during the selected period.

Show child attributes
Option 1number
Option 2number[]

Match any value

Option 3object

Numeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.

Show child attributes
gtnumber
gtenumber
includeNullsboolean

Also keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.

ltnumber
ltenumber
footprintone of

Scoped market filter(s). Each entry names ONE market (city / county / state / zip / lender) and the metric bounds that must hold INSIDE it — {city:'Orlando', state:'FL', volume:{gte:15000000}} means '$15M of production in Orlando', not '$15M somewhere and a loan in Orlando'. Several entries AND together.

Show child attributes
Option 1object
Show child attributes
avgLoanAmountobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

Show child attributes
gtnumber
gtenumber
ltnumber
ltenumber
cityone of

Production city — a name (Orlando, best paired with state) or a location id from instantSearch / suggestLocations. An unrecognized name is a 400, never a silent zero.

Show child attributes
Option 1string
Option 2string[]
countyone of

Production county — a 5-digit FIPS code (06037) or a county name (Riverside, best paired with state).

Show child attributes
Option 1string
Option 2string[]
dimensionenum

Which footprint to address. Normally inferred from the location key you pass; name it explicitly to ask the ANY-market question ({dimension:'city', volume:{gte:15000000}} = 'some single city where they did $15M').

Options:zipcitycountystatelender
lenderone of

Funding lender, as an id from listLenders or instantSearch. Lender names are stored in a normalized dictionary form, so a typed name does not match — resolve it first.

Show child attributes
Option 1string
Option 2string[]
notboolean

Invert the whole entry: match producers with NO market matching it (e.g. 'does not send loans to this lender').

productobject

Correlate a product INSIDE this lender relationship — 'FHA business through this lender'.

Show child attributes
avgLoanAmountobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

keyone of

Product key(s), lowercase — e.g. fha, conventional, va for loanType; purchase, refinance for transactionType.

mixenum

Which product breakdown inside the market — loan type (fha, conventional, va, …) or transaction type (purchase, refinance, …).

Options:loanTypetransactionType
shareOfUnitsobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

shareOfVolumeobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

unitsobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

volumeobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

shareOfVolumeobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

Show child attributes
gtnumber
gtenumber
ltnumber
ltenumber
stateone of

Two-letter state code or full state name. Alongside city or county it DISAMBIGUATES that place rather than adding a second predicate; on its own it selects the state footprint.

Show child attributes
Option 1string
Option 2string[]
unitsobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

Show child attributes
gtnumber
gtenumber
ltnumber
ltenumber
volumeobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

Show child attributes
gtnumber
gtenumber
ltnumber
ltenumber
zipone of

Production 5-digit zip code.

Show child attributes
Option 1string
Option 2string[]
Option 2object[]
Show child attributes
avgLoanAmountobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

Show child attributes
gtnumber
gtenumber
ltnumber
ltenumber
cityone of

Production city — a name (Orlando, best paired with state) or a location id from instantSearch / suggestLocations. An unrecognized name is a 400, never a silent zero.

Show child attributes
Option 1string
Option 2string[]
countyone of

Production county — a 5-digit FIPS code (06037) or a county name (Riverside, best paired with state).

Show child attributes
Option 1string
Option 2string[]
dimensionenum

Which footprint to address. Normally inferred from the location key you pass; name it explicitly to ask the ANY-market question ({dimension:'city', volume:{gte:15000000}} = 'some single city where they did $15M').

Options:zipcitycountystatelender
lenderone of

Funding lender, as an id from listLenders or instantSearch. Lender names are stored in a normalized dictionary form, so a typed name does not match — resolve it first.

Show child attributes
Option 1string
Option 2string[]
notboolean

Invert the whole entry: match producers with NO market matching it (e.g. 'does not send loans to this lender').

productobject

Correlate a product INSIDE this lender relationship — 'FHA business through this lender'.

Show child attributes
avgLoanAmountobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

keyone of

Product key(s), lowercase — e.g. fha, conventional, va for loanType; purchase, refinance for transactionType.

mixenum

Which product breakdown inside the market — loan type (fha, conventional, va, …) or transaction type (purchase, refinance, …).

Options:loanTypetransactionType
shareOfUnitsobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

shareOfVolumeobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

unitsobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

volumeobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

shareOfVolumeobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

Show child attributes
gtnumber
gtenumber
ltnumber
ltenumber
stateone of

Two-letter state code or full state name. Alongside city or county it DISAMBIGUATES that place rather than adding a second predicate; on its own it selects the state footprint.

Show child attributes
Option 1string
Option 2string[]
unitsobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

Show child attributes
gtnumber
gtenumber
ltnumber
ltenumber
volumeobject

Dollar volume of the agent's sales financed BY this lender during the selected period — evaluated inside that lender's own bucket, not against the agent's total.

Show child attributes
gtnumber
gtenumber
ltnumber
ltenumber
zipone of

Production 5-digit zip code.

Show child attributes
Option 1string
Option 2string[]
lenderFiltersobject[]
Show child attributes
canonicalstring

Canonical lender name (the value from lender autocomplete). Resolved to a lender id server-side; pass id instead when you have one.

displayNamestringrequired

Label / typed search string

idstring

Lender-dictionary id — the id from instantSearch / listLenders (e.g. "mortgage_rocket" or "mortgage rocket"), and the same value the lender filter takes. PREFERRED: matched directly against the stored lender key with no name resolution. canonical is still accepted and resolved server-side.

modeenum
Options:includeexclude
percentMinnumber

Minimum percent_of_volume (0–100); 0/undefined = > 0%

typeenum
Options:canonicalfreetext
lenderMatchModeenum
Options:andor
officeGeoPointobject

Originators whose NMLS-registered OFFICE is within radiusMiles of an anchor — the radius form of officeState / officeCity / officeZip, NOT production geography (that is state / city / county / zip / footprint). Anchor on a coordinate ({lat, lon, radiusMiles}) or on another originator's office ({nmlsId: "7206", radiusMiles: 25} — 'LOs near this LO'; that originator is excluded). Originators with no geocoded office never match. 400 when neither anchor form is complete or both are given; 404 office_geo_anchor_not_found for an unknown nmlsId; 400 office_geo_anchor_unlocated when that originator has no geocoded office.

Show child attributes
latnumber

Anchor latitude; pair with lon.

lonnumber

Anchor longitude; pair with lat.

nmlsIdstring

Anchor on another originator's office instead: their NMLS id (resolved server-side; they are excluded from the result). Exclusive with lat/lon.

radiusMilesnumberrequired

Radius in miles, > 0 and ≤ 1000.

paginationobject
Show child attributes
cursorstring

Opaque cursor from previous response for next page

sizeinteger

Page size (1-100, default 25)

periodenum

Pre-aggregated period block. Rolling windows (last30Days, last60Days, last90Days, previousMonth, currentMonth) are NOT accepted here and return 400; they are supported on the loans, sales and market endpoints (list, count, breakdowns, analytics summary / time-series / chart) (see DatedPeriod).

Options:2017201820192020202120222023202420252026last3Monthslast6Monthslast12Monthslast14Monthslast16Monthslast18Monthslast24MonthsyearToDateallTime
productMixobject[]

Whole-book product-share / volume bands for the selected period, ANDed: [{product: "fha", minShare: 30}, {product: "va", maxShare: 10}] = FHA ≥ 30% of period volume AND VA ≤ 10%; {product:"fha", volume:{gte:10000000}} = ≥ $10M of FHA. Shares are 0–100 percents of TOTAL period production across all markets (not geography-scoped), as the row's fhaPct / vaPct / conventionalPct. No bucket = 0% (fails minShare > 0, passes maxShare). Pair with units: {gte: N} so a 100% share off two loans is not a specialty.

Show child attributes
basisenum

volume (default) or units (loan count).

Options:volumeunits
maxSharenumber

Upper bound, 0–100. No bucket = 0% (passes).

minSharenumber

Lower bound, 0–100 percent of the period book.

productenum

Loan product (case-insensitive).

Options:conventionalfhavahehelocbuildingcommercialstand_alone_reficlosed_endreverseusdastand_alone_secondaggregateseller_take_backsba_participation_trust_deedballoonopened_endassumptionnegative_amortizationland_contracttrademodificationunknown
productsenum[]

Any-of instead of product: ["fha","va","usda"] = one of them on its own meets the bounds (shares never summed).

Options:conventionalfhavahehelocbuildingcommercialstand_alone_reficlosed_endreverseusdastand_alone_secondaggregateseller_take_backsba_participation_trust_deedballoonopened_endassumptionnegative_amortizationland_contracttrademodificationunknown
volumeobject

Dollar volume of this type in the period, {gte, lte}. Needs the bucket (no loans of the type fails).

Show child attributes
gtenumber
ltenumber
productionGeoPointobject

Production RADIUS (statute miles, 0 < r ≤ 500): originators who originated loans within the radius of the point during the selected period — where they PRODUCE, not their office. COUNTY-LEVEL APPROXIMATION: counties whose Census centroid lies within the radius (always including the nearest) are in with all their loans; a large county whose centroid is outside is out even where its border is close. Coarser than a true radius, especially under ~25 mi. Pair with sort: [{ field: "scopedVolume" }] to rank by production inside those counties.

Show child attributes
latnumberrequired
lonnumberrequired
radiusMilesnumberrequired
sortobject[]
Show child attributes
fieldenumrequired
Options:nmlsIdnamefirstNamelastNamevolumeunitsscopedVolumescopedUnitsavgLoanAmountcompanyNamecompanyNmlsIdcompanyCategorylicenseCounttotalLicensestotalLoansyearsInIndustryemployerCountsponsoredVolumesponsoredUnitssponsoredAvgLoanAmountthirdPartyVolumethirdPartyUnitsthirdPartyAvgLoanAmountofficeState+5 more
orderenum
Options:ascdesc
transactionMixobject[]

Transaction-type bands, same rules as productMix: [{transactionType:"purchase", minShare:60}] = purchases ≥ 60% of period volume.

Show child attributes
basisenum

volume (default) or units (loan count).

Options:volumeunits
maxSharenumber

Upper bound, 0–100. No bucket = 0% (passes).

minSharenumber

Lower bound, 0–100 percent of the period book.

transactionTypeenumrequired
Options:purchaserefinanceconstructionequityUNKNOWN
volumeobject

Dollar volume of this type in the period, {gte, lte}. Needs the bucket (no loans of the type fails).

Show child attributes
gtenumber
ltenumber

Responses

200objectExact count of matching originators
Show attributes
lenderNormalizationsobject[]

How each lenderName value resolved against the lender dictionary. Present when a lenderName filter was supplied.

Show child attributes
aliasCountintegerrequired

Stored lender-name variants this id expands to

displayNamestring | nullrequired
idstring | nullrequired

Canonical lender-dictionary id, or null

matchedViaenumrequired

id = the value already WAS a canonical key; alias = a stored lender name; name = matched the display/canonical name; unresolved = fell back to raw text match; degraded = the dictionary could not be consulted.

Options:idaliasnameunresolveddegraded
originalstringrequired

The value the caller sent

totalDocumentsintegerrequired

Loans the dictionary attributes to this id. A small number next to a well-known lender name means the name matched a minor entry.

locationNormalizationsobject[]

How each location filter value resolved. Present when a city/county/state/zip filter was supplied.

Show child attributes
candidatesstring[]

Location ids matching an ambiguous name, ranked. Use instantSearch or suggestLocations to pick one.

confidenceenumrequired

"exact" — matched a dictionary entry as written. "normalized" — resolved to a different spelling or merged several candidates. "fallback" — NOT resolved; the raw value was passed through, so a zero result means the name was not recognized rather than empty.

Options:exactnormalizedfallback
displayNamestringrequired
fieldstringrequired

The filter key this applies to

idstring

Resolved location id — pass this back for an exact filter

normalizedstringrequired
originalstringrequired
variantsstring[]

Spellings actually queried against the index

previousTotalinteger

How many of the originators in this result set also produced at least one loan in the 12 months BEFORE the last12Months window — i.e. months 13-24 back. With no filters, or identity-only filters (nmlsId, name, company), that is the full prior-year active originator population, and total against previousTotal is a true trailing year-over-year change in it. It is NOT countOriginators(last24Months) - countOriginators(last12Months): the 24-month window CONTAINS the 12-month one, so that subtraction returns only the originators who produced in the prior year and then stopped (46,525) rather than all who were active in it (220,836) — it drops everyone who produced in both years and understates by about 79%. There is no way to derive this figure from the published totals, which is why it is returned here. UNDER A PRODUCTION OR GEOGRAPHY FILTER IT IS A RETENTION COUNT, NOT A PRIOR-YEAR POPULATION. Every such filter (state, city, county, zip, volume, units, loanType, the market-count filters, footprint, …) is read from the CURRENT window in both passes: state: "CA" selects originators whose last-12-month production includes California, then counts how many of THOSE were also producing a year earlier (45,024 → 38,269). previousTotal is then a subset of total — it is never larger, total - previousTotal is the members of the current set who were not active a year ago, and total / previousTotal is a retention ratio, not the growth of the California market. An originator who produced in California a year ago but has since stopped or moved markets is not counted, because there is no per-market breakdown of the prior window to filter on. ABSENT rather than zero when it cannot be computed: on any period other than last12Months (no other window has a measured containing block), and when producersOnly: false is set (that opts the zero-production tail into total, so the two figures would no longer describe comparable populations).

totalintegerrequired

Exact count of records matching the filters

totalIsLowerBoundenum

Present (always true) only under timeAtCompanyMonths when the other filters match more than 200,000 originators: total then counts the tenure matches among the first 200,000 of them (in sort order) and the true count may be higher. Absent means total is exact.

Options:true
400objectValidation error
401objectUnauthorized
403objectForbidden (authenticated, but missing required context — e.g. no active organization)
404objectNot found
413objectResponse payload too large — detail endpoint capped to fit Lambda response limits
503objectSearch timed out or the cluster is overloaded — retry after `Retry-After` seconds.