Branches
Submit a bulk-delivery job for branches
Queues an ECS task that dumps every matching branches document to S3 in the requested format. Returns 202 with a jobId; poll GET /v1/branches/bulk-delivery/{jobId} for status + the signed download URL.
Row limit. Deliveries of up to 5,000 rows need no entitlement. Above that, the org's bulk-delivery.branches entitlement is required and its scope (row ceiling, row filters, allowed fields) governs the delivery; without it the request is rejected with 403 entitlement_missing. Pass limit at or below the ceiling to deliver a capped subset of a broader query. Email support@modelmatch.com to request a limit increase.
Delivery is billed at 1 credit per row regardless of entitlement (deliveries submitted from the ModelMatch web app are not billed).
Push-target destination. Pass destination: { type: "push-target", targetId } to have the finished rows sent to a configured push target instead of downloaded. The target is checked before anything is queued; a refusal returns the push target's status and code (TARGET_NOT_FOUND 404, FORBIDDEN 403, PLAN_REQUIRED 402, TARGET_DISABLED 409, ENTITY_MISMATCH 400). Limits and billing are the same as a file delivery.
Authorization
Body application/json
advancedFiltersone ofShow child attributesHide child attributes
Option 1objectShow child attributesHide child attributes
childrenone of[]requiredArray of filter expressions (AND)
Same shape as its parent.
typeenumrequiredandOption 2objectShow child attributesHide child attributes
childrenone of[]requiredArray of filter expressions (OR)
Same shape as its parent.
typeenumrequiredorOption 3objectShow child attributesHide child attributes
childone ofrequiredSame shape as its parent.
typeenumrequirednotOption 4objectShow child attributesHide child attributes
fieldstringrequiredopenumrequiredComparison 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.
eqneqgtgteltltebetweeninmatchgeoDistanceexiststypeenumrequiredfiltervaluenullComparison value
crmListobjectScope 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 branch members count; people, companies, offices 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 branches in total — narrow the selection rather than get a silently partial answer.
Show child attributesHide child attributes
listsone ofrequiredWhich lists: "any" for every Company list the caller can see, or an array of list ids. Membership is the UNION across the selected lists.
Show child attributesHide child attributes
Option 1enumEvery 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.
anyOption 2string[]Specific CRM list ids (1–50).
modeenumrequiredin — only branches who are a member of the selected list(s). notIn — exclude every branch who is a member of the selected list(s); everyone else passes, including branches on none of your lists.
innotInfiltersone ofShow child attributesHide child attributes
Option 1objectShow child attributesHide child attributes
childrenone of[]requiredArray of filter expressions (AND)
Same shape as its parent.
typeenumrequiredandOption 2objectShow child attributesHide child attributes
childrenone of[]requiredArray of filter expressions (OR)
Same shape as its parent.
typeenumrequiredorOption 3objectShow child attributesHide child attributes
childone ofrequiredSame shape as its parent.
typeenumrequirednotOption 4objectShow child attributesHide child attributes
fieldstringrequiredopenumrequiredComparison 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.
eqneqgtgteltltebetweeninmatchgeoDistanceexiststypeenumrequiredfiltervaluenullComparison value
flatFiltersobjectShow child attributesHide child attributes
affordableHousingTractCountone of | nullNumber 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberaffordableHousingTractPctone of | nullShare 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgAsianPctone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgBlackPctone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgDenialRateone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgFamilyIncomeone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgHispanicPctone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgHomeValueone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgHomeownershipRateone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgHouseholdIncomeone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgIncomeVsMetroPctone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgLoanAmountone of | nullShow child attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgLowModHouseholdPctone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgMedianAgeone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgMilesToCollegeone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgMilesToSchoolone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgMilesToWorshipone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgMinorityPctone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgPopulationone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgPovertyRateone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgTractApplicationsone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgTractLoanVolumeone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgTractOriginationsone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberavgWhiteNonHispanicPctone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumbercityone of | nullShow child attributesHide child attributes
Option 1stringOption 2string[]Match any value
Option 3objectFuzzy text match
Show child attributesHide child attributes
matchstringrequiredcompanyone of | nullShow child attributesHide child attributes
Option 1stringOption 2string[]Match any value
Option 3objectFuzzy text match
Show child attributesHide child attributes
matchstringrequiredcompanyNameone of | nullDEPRECATED — fuzzy company-name matching is unreliable (partial names silently return 0). Resolve via instantSearch and filter by company (exact company NMLS id) instead. Still functional for now.
Show child attributesHide child attributes
Option 1stringOption 2string[]Match any value
Option 3objectFuzzy text match
Show child attributesHide child attributes
matchstringrequiredcompanyTypeone of | nullShow child attributesHide child attributes
Option 1enumOne of (case-insensitive): BANK, CU, OTHER
BANKCUOTHEROption 2enum[]Match any of these values
BANKCUOTHEROption 3objectFuzzy text match
Show child attributesHide child attributes
matchstringrequiredcountyone of | nullBranch address COUNTY: a name (Travis, with state when ambiguous), a 5-digit FIPS (48453) or a dictionary county id; an array matches any. Matches when the branch's geocoded address lies inside the county boundary (no geocode = no match). Unknown county = 400.
Show child attributesHide child attributes
Option 1stringOption 2string[]Match any value
Option 3objectFuzzy text match
Show child attributesHide child attributes
matchstringrequireddifficultDevelopmentAreaCountone of | nullNumber 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberdifficultDevelopmentAreaPctone of | nullShare 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberdistressedTractCountone of | nullNumber 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberdistressedTractPctone of | nullShare 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberfloodHazardTractCountone of | nullNumber 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberfloodHazardTractPctone of | nullShare 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumbergeoPointobject | nullRadius search — { lat, lon, radius } (e.g. radius "15mi" or "24km") — around any office on the agent's record; with locationSource office the CURRENT office, production their transactions.
Show child attributesHide child attributes
latnumberrequiredlonnumberrequiredradiusstringrequiredisAuthorizedone of | nullShow child attributesHide child attributes
Option 1stringOption 2string[]Match any value
Option 3objectFuzzy text match
Show child attributesHide child attributes
matchstringrequiredlicensedStateone of | nullShow child attributesHide child attributes
Option 1stringOption 2string[]Match any value
Option 3objectFuzzy text match
Show child attributesHide child attributes
matchstringrequiredloCountone of | nullShow child attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberloanTypeone of | nullShow child attributesHide child attributes
Option 1enumOne 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
conventionalfhavahehelocbuildingcommercialstand_alone_reficlosed_endreverseusdastand_alone_secondaggregateseller_take_backsba_participation_trust_deedballoonopened_endassumptionnegative_amortizationland_contracttrademodificationunknownOption 2enum[]Match any of these values
conventionalfhavahehelocbuildingcommercialstand_alone_reficlosed_endreverseusdastand_alone_secondaggregateseller_take_backsba_participation_trust_deedballoonopened_endassumptionnegative_amortizationland_contracttrademodificationunknownOption 3objectFuzzy text match
Show child attributesHide child attributes
matchstringrequiredloansWithCommunityDataone of | nullHow 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberlowModIncomeTractCountone of | nullNumber 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberlowModIncomeTractPctone of | nullShare 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumbermajorityMinorityTractCountone of | nullNumber 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumbermajorityMinorityTractPctone of | nullShare 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumbermodeenumandormsaone of | nullBranch address METRO (MSA / CBSA): 5-digit CBSA code (12420) or metro name (Austin Metro); an array matches any. The address point inside any member county. Unknown/ambiguous = 400 naming candidates.
Show child attributesHide child attributes
Option 1stringOption 2string[]nameone of | nullDEPRECATED — matches the branch's FULL name exactly (e.g. Movement Mortgage, LLC, Providence, RI Branch); a partial name will not match. Use namePrefix for partial names, or nmlsId (exact branch NMLS id).
Show child attributesHide child attributes
Option 1stringOption 2string[]Match any value
Option 3objectFuzzy text match
Show child attributesHide child attributes
matchstringrequirednamePrefixstringPrefix name search: every word must start a word of the name ("movement prov" → Movement Mortgage, LLC, Providence, RI Branch; digits = branch NMLS id). No fuzzy/nickname matching; relevance-ranked unless sort is set. Max 100 chars / 6 words (emails, URLs, phones ignored), else 400.
nmlsIdone of | nullShow child attributesHide child attributes
Option 1stringOption 2string[]Match any value
Option 3objectFuzzy text match
Show child attributesHide child attributes
matchstringrequiredopportunityZoneCountone of | nullNumber 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberopportunityZonePctone of | nullShare 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberpredominantFloodZoneone of | nullShow child attributesHide child attributes
Option 1enumOne of (case-insensitive): A, AE, AH, AO, A99, V, VE
AAEAHAOA99VVEOption 2enum[]Match any of these values
AAEAHAOA99VVEOption 3objectFuzzy text match
Show child attributesHide child attributes
matchstringrequiredpredominantIncomeLevelone of | nullShow child attributesHide child attributes
Option 1enumOne of (case-insensitive): low, moderate, middle, upper
lowmoderatemiddleupperOption 2enum[]Match any of these values
lowmoderatemiddleupperOption 3objectFuzzy text match
Show child attributesHide child attributes
matchstringrequiredproducersOnlyboolean | nullregionone of | nullBranch address CENSUS REGION / DIVISION (<region>-division-<n>, 1–9) — branches in ANY state of it. An array matches any.
Show child attributesHide child attributes
Option 1enumnortheastnortheast-division-1northeast-division-2midwestmidwest-division-3midwest-division-4southsouth-division-5south-division-6south-division-7westwest-division-8west-division-9Option 2enum[]northeastnortheast-division-1northeast-division-2midwestmidwest-division-3midwest-division-4southsouth-division-5south-division-6south-division-7westwest-division-8west-division-9rosterJoinedone of | nullBound the number of loan officers who joined the branch during the selected period — individuals whose sponsorship with the branch began inside the window. IMPORTANT — this counts LICENSING EVENTS, not confirmed employer moves. A loan officer holds a separate license record for every state they are sponsored in, and this counts each individual whose sponsorship began or ended inside the window, so a single added or lapsed state license registers as an arrival or a departure even when the person's employment did not change. Measured on large lenders: 13-24% of a 12-month rosterLeft are still sponsored by the same employer today, and 33-50% of a 12-month rosterJoined were already sponsored by it before the window began. Treat both as directional indicators of movement, not as headcounts. rosterJoined and rosterLeft are measured from the same source on the same window basis, so unlike the retired loLoss — which had no arrivals figure computed the same way — the two can legitimately be combined into a churn rate. Both also grow with the window, so a longer period reports more than a shorter one and the periods are comparable in that direction.
Show child attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberrosterLeftone of | nullBound the number of loan officers who left the branch during the selected period — individuals whose sponsorship with the branch ended inside the window. IMPORTANT — this counts LICENSING EVENTS, not confirmed employer moves. A loan officer holds a separate license record for every state they are sponsored in, and this counts each individual whose sponsorship began or ended inside the window, so a single added or lapsed state license registers as an arrival or a departure even when the person's employment did not change. Measured on large lenders: 13-24% of a 12-month rosterLeft are still sponsored by the same employer today, and 33-50% of a 12-month rosterJoined were already sponsored by it before the window began. Treat both as directional indicators of movement, not as headcounts. rosterJoined and rosterLeft are measured from the same source on the same window basis, so unlike the retired loLoss — which had no arrivals figure computed the same way — the two can legitimately be combined into a churn rate. Both also grow with the window, so a longer period reports more than a shorter one and the periods are comparable in that direction.
Show child attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberruralGradientone of | nullMean 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberruralTractCountone of | nullNumber 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberruralTractPctone of | nullShare 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberstateone of | nullShow child attributesHide child attributes
Option 1stringOption 2string[]Match any value
Option 3objectFuzzy text match
Show child attributesHide child attributes
matchstringrequiredteamSizeone of | nullBound the number of loan officers currently attributed to the branch. IMPORTANT — this is a CURRENT headcount snapshot, not a per-period measure. The same value is copied into effectively every period, so subtracting one period's teamSize from another's does not measure growth or attrition: it is zero for all but a handful of branches, and on those few it reflects a data artifact rather than a real change. Filtering and sorting on it likewise ignore the selected period. For headcount movement over a window, use rosterJoined / rosterLeft, which are genuinely per-period.
Show child attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumbertransactionTypeone of | nullShow child attributesHide child attributes
Option 1enumOne of (case-insensitive): purchase, refinance, construction, equity, UNKNOWN
purchaserefinanceconstructionequityUNKNOWNOption 2enum[]Match any of these values
purchaserefinanceconstructionequityUNKNOWNOption 3objectFuzzy text match
Show child attributesHide child attributes
matchstringrequiredunitsone of | nullShow child attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberusdaEligibleTractCountone of | nullNumber 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberusdaEligibleTractPctone of | nullShare 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 attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumbervolumeone of | nullShow child attributesHide child attributes
Option 1numberOption 2number[]Match any value
Option 3objectNumeric range. Excludes null/missing-field docs by default; add includeNulls: true to keep them.
Show child attributesHide child attributes
gtnumbergtenumberincludeNullsbooleanAlso keep docs where the field is null/missing (a range filter drops them by default). Requires at least one of gte/lte/gt/lt.
ltnumberltenumberzipone of | nullZIP code. Canonical key (matches the zip field on the response DTO); zipCode is a cross-entity alias kept for parity with loans/sales.
Show child attributesHide child attributes
Option 1stringOption 2string[]Match any value
Option 3objectFuzzy text match
Show child attributesHide child attributes
matchstringrequiredzipCodeone of | nullShow child attributesHide child attributes
Option 1stringOption 2string[]Match any value
Option 3objectFuzzy text match
Show child attributesHide child attributes
matchstringrequiredlenderFiltersobject[]Show child attributesHide child attributes
canonicalstringCanonical lender name (the value from lender autocomplete). Resolved to a lender id server-side; pass id instead when you have one.
displayNamestringrequiredLabel / typed search string
idstringLender-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.
modeenumincludeexcludepercentMinnumberMinimum percent_of_volume (0–100); 0/undefined = > 0%
typeenumcanonicalfreetextlenderMatchModeenumandorlicensedSinceobjectBound the date the branch was FIRST licensed — the earliest issueDate across its licenses[] (YYYY-MM-DD, inclusive). {gte: "2026-07-01"} = branches whose every license was issued on or after July 1, 2026, i.e. new branches; an established branch that added a state recently does NOT match. Branches with no license dates on file never match. Always ANDed with the other filters. A range matching more than 5,000 branches is rejected with a 400.
Show child attributesHide child attributes
gtedateltedatemanagerNamestringBranch manager name. Matches ALL the words supplied, fuzzily, against the names of the branch's licensed managers. Always ANDed with the other filters. A name matching more than 5,000 branches is rejected with a 400.
paginationobjectShow child attributesHide child attributes
cursorstringOpaque cursor from previous response for next page
sizeintegerPage size (1-100, default 25)
periodenumPre-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).
2017201820192020202120222023202420252026last3Monthslast6Monthslast12Monthslast14Monthslast16Monthslast18Monthslast24MonthsyearToDateallTimeproductMixobject[]Loan-product share / volume bands for the selected period, ANDed: [{product:"fha", minShare:30}] = FHA is at least 30% of the branch's period volume; [{product:"va", volume:{gte:5000000}}] = at least $5M of VA. products lets ANY of several types satisfy one entry. Whole-book figures across all markets.
Show child attributesHide child attributes
basisenumvolume (default) or units (loan count).
volumeunitsmaxSharenumberUpper bound, 0–100 percent. No bucket = 0% (passes).
minSharenumberLower bound, 0–100 percent of the period book.
productenumThe loan product. Send this OR products, not both.
conventionalfhavahehelocbuildingcommercialstand_alone_reficlosed_endreverseusdastand_alone_secondaggregateseller_take_backsba_participation_trust_deedballoonopened_endassumptionnegative_amortizationland_contracttrademodificationunknownproductsenum[]Several products, ANY of which may satisfy the bounds on its own (each type's share is read separately, never summed): {products:["fha","va","usda"], minShare:30} = FHA, VA or USDA is on its own at least 30% of the book. Send this OR product.
conventionalfhavahehelocbuildingcommercialstand_alone_reficlosed_endreverseusdastand_alone_secondaggregateseller_take_backsba_participation_trust_deedballoonopened_endassumptionnegative_amortizationland_contracttrademodificationunknownvolumeobjectDollar volume of THIS type in the period, {gte, lte} — e.g. {gte: 5000000} = at least $5M of FHA. Evaluated inside the same type bucket as the share bounds; a branch with no loans of the type does not match.
Show child attributesHide child attributes
gtenumberltenumbersortobject[]Show child attributesHide child attributes
fieldenumrequiredcompanycompanyNamecompanyTypenamenmlsIdcitystatezipzipCodeisAuthorizedvolumeunitsavgLoanAmountteamSizeloCountrosterJoinedrosterLeftproducersOnlypurchaseSharerefinanceShareorderenumascdesctransactionMixobject[]Transaction-type share bands for the selected period, ANDed: [{transactionType:"purchase", minShare:60}] = purchases are at least 60% of the branch's period volume.
Show child attributesHide child attributes
basisenumvolume (default) or units (loan count).
volumeunitsmaxSharenumberUpper bound, 0–100 percent. No bucket = 0% (passes).
minSharenumberLower bound, 0–100 percent of the period book.
transactionTypeenumrequiredpurchaserefinanceconstructionequityUNKNOWNvolumeobjectDollar volume of THIS type in the period, {gte, lte} — e.g. {gte: 5000000} = at least $5M of FHA. Evaluated inside the same type bucket as the share bounds; a branch with no loans of the type does not match.
Show child attributesHide child attributes
gtenumberltenumbercolumnsobject[]A FORMATTED file: its columns, in order, with header labels and number formats — for format csv or xlsx only, and not combined with fields or a push-target destination (400 columns_format_unsupported / columns_with_fields / columns_with_destination). Every field a column reads is gated by the entitlement exactly as if it were listed in fields: a withheld field drops out of a column's fallback list, and a column with nothing left is omitted. An unknown field is a 400 unknown_column_field. No id column is added. A formatted csv starts with a UTF-8 byte-order mark and uses CRLF line endings, so Excel opens it with accented names intact. Columns may read any DTO field and any opt-in column fields documents, including the computed governmentPct, branchCount, managerName / managerNmlsId and licensedSince.
Show child attributesHide child attributes
fieldone ofrequiredThe response DTO field this column reads — the same names fields takes, dotted into nested objects (contact.linkedin) — or a list of them, taking the first non-empty value (["contact.personalEmail", "contact.workEmail", "email"]).
Show child attributesHide child attributes
Option 1stringOption 2string[]formatenumcurrency, number and percentWhole round the value to a whole number (in both csv and xlsx) and, in xlsx, display it as $1,234,567, 1,234 or 62%. percentWhole expects a value that is already 0–100 (it is written as 62 in csv; in xlsx the cell holds 0.62 under the standard percent format, so it displays 62% in every spreadsheet app and calculates as a percent). text writes an xlsx text cell. titleCase (dina verteramo → Dina Verteramo), lowercase, and phone (US 10-digit numbers as (469) 907-7475; anything else as stored) reshape the text and write a text cell. Omit for the value as-is.
currencynumberpercentWholetexttitleCaselowercasephonelabelstringrequiredHeader for the column.
valueMapobjectDisplay text per value, keyed by the value as a string ({ "true": "Branch Manager", "false": "Originator" }, { "BANK": "Bank" }). The key "null" matches an empty value. Unmatched values are written unchanged.
Show child attributesHide child attributes
[key: string]stringdestinationobjectWhere the finished delivery goes. Omit for the default — a file you download from the status endpoint. push-target: when the job completes, the rows are handed to the named push target, which sends them to its configured HTTPS destination using its own field mapping and signing. The target is checked at submit (it must exist, be enabled, accept this entity, and be usable by you on your plan) — a failed check rejects the submit with the push target's error code. format is ignored (the handoff is always gzipped NDJSON), and when the target's mapping reads only some fields, only those fields (plus id) are delivered. Row limits, entitlements, limit, and billing (1 credit / row) are unchanged, except that deliveries submitted from the ModelMatch web app are not billed. Poll the job for pushBatchId; a handoff that cannot be completed fails the job with error push_handoff_failed and is not billed.
Show child attributesHide child attributes
targetIdstringrequiredId of a push target configured on the active workspace (or your own member push targets).
typeenumrequiredpush-targetfieldsstring[]Optional output column projection, named by the response DTO fields (the same camelCase fields the list endpoint returns, e.g. city, interestRate). Intersected with the entitlement scope's allowedFields and the entity's full column set. If empty after intersection, falls back to all columns. It also SELECTS the opt-in columns, which are not part of the list DTO and are never delivered unless named here: communityLending (properties, originators, companies, branches) — the Community Lending neighborhood profile, identical to the block on the entity's detail endpoint; parties (properties) — the mortgage parties attributed to the parcel, by attribution scope; marketCount / countyCount / stateCount / zipCount / lenderCount (originators) — the market-breadth rollups you can already filter on; and the computed governmentPct (originators: FHA + VA percent of loans, 0–100), branchCount (companies: NMLS branch count) and managerName / managerNmlsId (branches: the first branch manager) and licensedSince (branches: first-licensed date, the earliest license issueDate, YYYY-MM-DD). Agents also offer email2 / phone2 (the best-ranked email / phone distinct from email / phone, admitted by the email / phone entitlement field), bestEmail / bestEmail2 and bestPhone / bestPhone2 (the best and runner-up contact over every email / phone on the record, email / phone included — the pair the ModelMatch web app's agent export shows; same entitlement fields), officePhone (admitted by phone), activeListings (current active listings; null when unknown), and the profile-link columns facebook, instagram, linkedin, twitter, youtube, tiktok, zillow, otherLinks (a ; -joined list of profile URLs on no known platform) — all admitted by the links entitlement field. Loans offer the list row's transaction-export fields (employerName, employerNmlsId, brokerName, titleCompanyName, soldAgentName, listAgentName, coListAgentName, buyer1FirstMiddle … seller2Last). In csv and parquet the two block columns are JSON-encoded cells; in json and ndjson they are nested objects. Windowed production (originators, agents, companies, branches): name <field>_<n>mo for n in 3, 6, 12, 14, 18, 24 to get a production field for that trailing window regardless of period — e.g. volume_3mo, units_6mo, purchaseVolume_24mo. Available for originators volume, units, avgLoanAmount, purchaseVolume, purchaseUnits, refinanceVolume, refinanceUnits, conventionalPct, fhaPct, vaPct; agents volume, units, avgSoldPrice, buyerVolume, buyerUnits, sellerVolume, sellerUnits, totalOriginatorsWorkedWith, totalCompaniesWorkedWith, totalLendersWorkedWith; companies volume, units, avgLoanAmount, loCount; branches volume, units, avgLoanAmount, purchasePct, refinancePct, loCount. Numbers (null when the window has no data); an entitlement that allows a field allows every window of it.
formatenumOutput file format for the delivered dataset. Every format contains the same rows — the entity's list/summary DTO (e.g. LoanSummary), one record per row. ndjson: gzipped newline-delimited JSON (application/x-ndjson, .ndjson.gz). json: a single JSON array (application/json, .json). csv: RFC 4180 (text/csv, .csv). parquet: typed columnar Apache Parquet — scalar fields keep their DTO types, nested fields are JSON-encoded strings (application/vnd.apache.parquet, .parquet). xlsx: a single-sheet Excel workbook with a bold, frozen header row — numbers are numeric cells, everything else (ids, zips, phones) text cells (.xlsx). Pair with columns for labelled headers and number formats. Required on submit unless destination is a push target, which always delivers gzipped NDJSON (a missing format on a file delivery is a 400 format_required).
ndjsonjsoncsvparquetxlsxlimitintegerOptional hard cap on the number of rows delivered — and therefore billed (1 credit / row). The job delivers the first limit rows in sort order (default newest-first) and bills only for those. If the query matches fewer than limit, all matches are delivered. Distinct from the page-size size field, which is ignored on this endpoint. The row ceiling still applies — 5,000 without the entity's bulk-delivery entitlement, or the entitlement's maxRows with it. A limit above the ceiling is rejected, but a limit at or below it lets you export a capped top-N even when the full match exceeds the ceiling — which is the intended way to run a broad query under the 5,000-row allowance.
Responses
202objectJob queued; ECS task launchedShow attributesHide attributes
billingenumcredits = billed at 1 credit per delivered row. none = not billed (deliveries submitted from the ModelMatch web app).
creditsnonedestinationobjectWhere the finished delivery goes. Omit for the default — a file you download from the status endpoint. push-target: when the job completes, the rows are handed to the named push target, which sends them to its configured HTTPS destination using its own field mapping and signing. The target is checked at submit (it must exist, be enabled, accept this entity, and be usable by you on your plan) — a failed check rejects the submit with the push target's error code. format is ignored (the handoff is always gzipped NDJSON), and when the target's mapping reads only some fields, only those fields (plus id) are delivered. Row limits, entitlements, limit, and billing (1 credit / row) are unchanged, except that deliveries submitted from the ModelMatch web app are not billed. Poll the job for pushBatchId; a handoff that cannot be completed fails the job with error push_handoff_failed and is not billed.
Show child attributesHide child attributes
targetIdstringrequiredId of a push target configured on the active workspace (or your own member push targets).
typeenumrequiredpush-targetentityTypestringrequiredestimatedTotalintegerrequiredformatenumrequiredOutput file format for the delivered dataset. Every format contains the same rows — the entity's list/summary DTO (e.g. LoanSummary), one record per row. ndjson: gzipped newline-delimited JSON (application/x-ndjson, .ndjson.gz). json: a single JSON array (application/json, .json). csv: RFC 4180 (text/csv, .csv). parquet: typed columnar Apache Parquet — scalar fields keep their DTO types, nested fields are JSON-encoded strings (application/vnd.apache.parquet, .parquet). xlsx: a single-sheet Excel workbook with a bold, frozen header row — numbers are numeric cells, everything else (ids, zips, phones) text cells (.xlsx). Pair with columns for labelled headers and number formats. Required on submit unless destination is a push target, which always delivers gzipped NDJSON (a missing format on a file delivery is a 400 format_required).
ndjsonjsoncsvparquetxlsxjobIdstringrequiredmaxRowsintegerrequiredstatusenumrequiredqueued400one ofValidation failure (incl. `format_required`: a file delivery needs `format`; a refused `columns` request), delivery would exceed the entitlement's maxRows, OR the push target does not accept this entity (`ENTITY_MISMATCH`)401objectAuthentication required402one ofInsufficient credits (balance < estimatedTotal, at 1 credit per row), OR the plan does not include push targets (`PLAN_REQUIRED`)403one ofDelivery exceeds the 5,000-row limit available without the `bulk-delivery.branches` entitlement (lower `limit`, narrow the filters, or contact support for a limit increase), OR you may not use the push target (`FORBIDDEN`), OR a scoped token named a push-target destination without `push-targets:send` (`insufficient_scope`).404objectPush target not found (`TARGET_NOT_FOUND`)409objectPush target is disabled (`TARGET_DISABLED`)502objectPreflight / S3 / DDB / ECS launch failure, the push-target check could not reach the auth server, or the credit balance could not be read (`billing_unavailable` — retry; a paid delivery is never queued unverified)