HMDA product analytics
get_hmda_product_analyticsHMDA origination counts, reported dollar amounts, averages, and year-over-year growth for one product family, optionally for one property state or one lender, with an annual history back to 2018.
Use for: HELOC, reverse-mortgage, or closed-end mortgage origination volume and growth; product mix by loan program (conventional/FHA/VA/USDA), purpose, lien, occupancy, construction method, or business purpose; state-level or lender-level product questions. Do not use for: lender rankings or market share (search_lenders / get_lender_profile) or GSE loan performance (get_loan_performance).
Important: product_family defaults to 'heloc'. Use 'closed_end_mortgage' for ordinary mortgages or 'all' for every HMDA origination. Source is the frozen annual FFIEC/CFPB HMDA Snapshot LAR (one release per year, 2018 onward); state filters use the property state, not the lender's headquarters.
Returns data.selected_year, data.current and data.previous (each {year, origination_count, reported_amount_count, reported_amount_sum, average_reported_amount, reported_amount_max, origination_count_yoy_pct, reported_amount_sum_yoy_pct, average_reported_amount_yoy_pct}), data.history (one such row per year), data.filters (applied filters), data.definition, and data.source_releases. Amounts are USD; YoY fields are percent; for HELOCs the amount is credit available, not the drawn balance.
Behavior: read-only, no auth or API key, no PII, idempotent and safe to retry. The public endpoint https://mtgmon.com/mcp allows about 60 requests/min and 250 tool calls/day per client IP. Result shape is {data, meta}; meta carries available, as_of, source_scope, weighting, units, cache_status, caveats, and truncated. If meta.available is false the data is unavailable or the cache is still warming (retry after a few seconds); never report it as zero.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | HMDA activity year, 2018 or later. Default: latest published Snapshot year (see data.selected_year). | |
| state | No | Two-letter USPS code of the property state, e.g. 'TX' (not the lender HQ). Empty (default) = nationwide. | |
| lender | No | Canonical HMDA lender key: the exact `name` value from a search_lenders result, e.g. 'Rocket/Quicken' or 'United Wholesale Mortgage'. Legal names such as 'Rocket Mortgage, LLC' do not match and return meta.available=false. Default: all lenders. | |
| loan_program | No | 'all' (default), 'conventional', 'fha', 'va', 'usda_rhs', or 'unknown'. | all |
| loan_purpose | No | 'all' (default), 'purchase', 'home_improvement', 'refinance' (rate/term), 'cash_out_refinance', 'other', 'not_applicable', or 'unknown'. | all |
| lien_position | No | 'all' (default), 'first', 'subordinate', 'not_secured', 'not_applicable', or 'unknown'. | all |
| occupancy_type | No | 'all' (default), 'principal_residence', 'second_residence', 'investment_property', or 'unknown'. | all |
| product_family | No | 'heloc' (DEFAULT: open-end lines of credit that are not reverse mortgages), 'closed_end_mortgage' (ordinary first and second mortgages), 'reverse_mortgage', 'unclassified_or_exempt', or 'all' (every HMDA origination). Set this explicitly; the default is not the whole market. | heloc |
| business_purpose | No | 'all' (default: consumer + business + exempt/unknown records), 'consumer', 'business', or 'exempt_unknown'. | all |
| credit_structure | No | 'all' (default), 'open_end', 'closed_end', or 'exempt_unknown'. Usually leave 'all'; product_family already implies it. | all |
| construction_method | No | 'all' (default), 'site_built', 'manufactured', or 'unknown'. | all |
| reverse_mortgage_status | No | 'all' (default), 'reverse', 'not_reverse', or 'exempt_unknown'. Usually leave 'all'; product_family already implies it. | all |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| meta | Yes |