Model MatchHelp

Market

Market Signals card stats (web app feed)

postapi.modelmatch.com/v1/market/signals

Authorization

x-api-keystringrequired

API key or OAuth token. See Authentication.

Body application/json

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

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
appraisedValueone 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
borrowerGenerationone of | null
Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

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

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
closingDateone of | null
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
combinedLtvone 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
communityIncomeLevelone of | null

FFIEC income classification of the neighborhood the property sits in. A tract-level aggregate statistic describing the neighborhood, never an individual, household or applicant attribute. Carried on roughly a fifth of originations, so this filter narrows sharply.

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
countyone of | null
Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
countyCodeone of | null

3-digit county code (the county segment of a FIPS, e.g. Philadelphia = "101"). Pair it with state — the code is not unique across states. county accepts a county NAME or 5-digit FIPS and resolves to this code for you.

Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
craEligibleboolean

Only CRA-eligible originations (a low- or moderate-income neighborhood OR a low- or moderate-income borrower). Determined on every origination.

creditScoreone 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
currentHomeOwnerboolean | null
dtione 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
dtifrontone 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
firstTimeHomebuyerboolean | null
hmdaActionTakenone of | null
Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
incomeone 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
loanAmountone 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
loanApplicationDateone of | null
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
loanPurposeone of | null
Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
loanStatusone of | null

HMDA action, else funding/denial/lock date evidence.

Show child attributes
Option 1enum

One of (case-insensitive): funded, purchased, not_funded, pending

Options:fundedpurchasednot_fundedpending
Option 2enum[]

Match any of these values

Options:fundedpurchasednot_fundedpending
Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
loanTermone 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
loanTypeone of | null
Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
lowModIncomeTractboolean

Only originations in a low- or moderate-income neighborhood. This describes the U.S. Census tract (neighborhood) as a whole — a tract-level aggregate statistic, never an individual, household or applicant attribute. false also matches originations whose neighborhood carries no income classification; pair with communityIncomeLevel when you need the classified population only.

ltvone 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
majorityMinorityTractboolean

Only originations in a majority-minority neighborhood. This describes the U.S. Census tract (neighborhood) as a whole — a tract-level aggregate statistic, never an individual, household or applicant attribute. Carried on about half of originations.

metroone of | null

Metro area code (5-digit federal CBSA code, e.g. Los Angeles = "31084"). Roughly half of originations sit outside any metro area and carry no code, so a metro filter is a narrowing one.

Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
middleIncomeTractboolean

Only originations in a middle-income neighborhood. Tract-level aggregate, never an individual attribute. Same caveat on false as lowModIncomeTract.

minorityTractPctone of | null

Non-white share (0-100) of the neighborhood's population. Tract-level aggregate, never an individual attribute.

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
noteRateone 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
occupancyTypeone of | null
Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

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

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
purchasePriceone 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
selfEmployedboolean | null
stateone of | null
Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
tractIncomeVsMetroPctone of | null

Neighborhood median family income as a percent of its metro area's — 100 is parity, and it legitimately exceeds 100. Tract-level aggregate, never an individual attribute.

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
veteranIndicatorboolean | null
zipone of | null
Show child attributes
Option 1string
Option 2string[]

Match any value

Option 3object

Fuzzy text match

Show child attributes
matchstringrequired
lookbackMonthsinteger
previousobject

[gte, lt) window, YYYY-MM-DD.

Show child attributes
gtedaterequired
ltdaterequired
statsenum[]required
Options:funnelrefiMixaffordabilitypipelinestatusrefiOpportunity
thresholdBpsinteger
windowobjectrequired

[gte, lt) window, YYYY-MM-DD.

Show child attributes
gtedaterequired
ltdaterequired

Responses

200objectThe requested stats
Show attributes
affordabilityobject
Show child attributes
currentobjectrequired
Show child attributes
medianAnnualIncomenumber | nullrequired
medianLoanAmountnumber | nullrequired
sampleCountnumberrequired
monthlyobject[]required
Show child attributes
medianAnnualIncomenumber | nullrequired
medianLoanAmountnumber | nullrequired
monthstringrequired
sampleCountnumberrequired
previousobjectrequired
Show child attributes
medianAnnualIncomenumber | nullrequired
medianLoanAmountnumber | nullrequired
sampleCountnumberrequired
funnelobject
Show child attributes
reLockobjectrequired
Show child attributes
reLockedCountnumberrequired
sampleCountnumberrequired
timeToCloseobjectrequired
Show child attributes
p25number | nullrequired
p50number | nullrequired
p75number | nullrequired
sampleCountnumberrequired
pipelineobject
Show child attributes
expectedobjectrequired
Show child attributes
next30Daysnumberrequired
next60Daysnumberrequired
next90Daysnumberrequired
weeklyobject[]required
funnelobjectrequired
Show child attributes
applicationnumberrequired
closingnumberrequired
fundednumberrequired
lockednumberrequired
transitionsobjectrequired
Show child attributes
appToLockobjectrequired
closeToFundingobjectrequired
refiMixobject
Show child attributes
cashOutobjectrequired
Show child attributes
medianAmountnumber | nullrequired
sampleCountnumberrequired
purposesobject[]required
Show child attributes
countnumberrequired
keystringrequired
refiOpportunityobject
Show child attributes
baselinenumber | nullrequired
byLoanTypeobject[]required
Show child attributes
countnumberrequired
keystringrequired
byStateobject[]required
Show child attributes
avgRatenumber | nullrequired
avgSpreadBpsnumber | nullrequired
countnumberrequired
statestringrequired
totalVolumenumberrequired
byVintageobject[]required
Show child attributes
countnumberrequired
yearnumberrequired
lookbackMonthsnumberrequired
medianSpreadBpsnumber | nullrequired
spreadHistogramobject[]required
Show child attributes
countnumberrequired
spreadBpsnumberrequired
thresholdBpsnumberrequired
topStateConcentrationPctnumberrequired
totalsobjectrequired
Show child attributes
countnumberrequired
medianLoanAmountnumber | nullrequired
totalVolumenumberrequired
statusobject
Show child attributes
applicationsobjectrequired
Show child attributes
currentnumberrequired
priornumberrequired
approvalsobjectrequired
Show child attributes
currentnumberrequired
priornumberrequired
expectedClosingsnumberrequired
locksobjectrequired
Show child attributes
currentnumberrequired
priornumberrequired
timeToCloseobjectrequired
Show child attributes
currentobjectrequired
priorobjectrequired
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.