@pipeworx/hmda
Connect: https://gateway.pipeworx.io/hmda/mcp · Install: one-click buttons
Tools: 4
Every mortgage application US lenders were required to disclose under the Home Mortgage Disclosure Act, 2018–2025: who applied, what happened, for how much, by lender, county and census tract. Roughly 99 fields per record.
This is the dataset behind fair-lending analysis — it exists so that denial patterns across race, ethnicity, sex and geography are checkable rather than asserted.
Auth
None. The CFPB/FFIEC Data Browser API is public and keyless.
Tools
| Tool | Use it when |
|---|---|
hmda_lender_activity | You have a lender’s LEI and want its year |
hmda_geography_activity | You want a county or state, optionally split by race, ethnicity, sex, purpose or loan type |
hmda_loan_records | You need the individual applications, not the totals |
hmda_lenders_in_county | You want to know who lends here, ranked |
Lenders are identified by LEI, not name — resolve_entity({type:"company"})
maps a name to one. Counties are 5-digit FIPS (06037, not “Los Angeles”).
Why there is no ingest
This pack was specced as a bulk load: ~15M records a year, 12–18 GB of Postgres, an R2/Postgres column split, possibly a database tier upgrade.
None of it was needed. The Data Browser API answers the reverse queries
directly and keylessly — view/aggregations groups on any dimension you pass,
view/csv streams loan-level rows — so the pack proxies live data and hosts
nothing. Measured 2026-08-25.
The ticket’s blocker was that ffiec.cfpb.gov/static/prod/snapshot-data/…
returns HTTP 200 with a 3 KB SPA shell and the S3 path 403s. Both are true, and
neither matters: the bulk files are not the interface. The API is documented at
/documentation/api/data-browser/.
Caveats worth passing to a user
- HMDA is a disclosure regime, not a census of lending. Institutions below the reporting thresholds never appear. A lender absent from a year did not file; that is not the same as doing no lending.
- A denial is the lender’s coded reason, not an adjudicated finding. The data supports asking whether patterns differ across groups; it does not by itself establish why.
- Dollar volume is the sum of loan amounts, not balances outstanding.
- Lender identity is a filter upstream, not a grouping. You can ask what one
lender did in a county; the API cannot ask a county to rank its lenders.
hmda_lenders_in_countydoes it by reading the county’s records directly, which is bounded — a very large county is sampled and the response says so. A complete ranking needs a precomputed lender-by-county aggregate (~775k rows/year, tens of MB), which this pack deliberately does not carry.
Data source
CFPB / FFIEC HMDA Data Browser API — https://ffiec.cfpb.gov/v2/data-browser-api/.
Public domain, US federal government work.
Tools
- hmda_lender_activity — What a specific mortgage lender did in a year — applications, originations, denials and dollar volume — from the federal Home Mortgage Disclosure Act register, optionally narrowed to a state or county
- hmda_geography_activity — Mortgage lending in a place — how many applications were originated, denied or withdrawn in a county or state in a given year, with dollar volume, from the federal HMDA register. Break the answer down
- hmda_loan_records — Individual mortgage application records from the HMDA register — the loan-level rows behind the totals, with loan amount, action taken, rate spread, applicant income, lender LEI and census tract. Use
- hmda_lenders_in_county — Which lenders were most active in a county, ranked by loan count, from HMDA loan-level records for that county and year. Returns each lender LEI with its originations, denials and dollar volume, so “w
Tools
-
hmda_geography_activity— Mortgage lending in a place — how many applications were originated, denied or withdrawn in a county or state in a given year, with dollar volume, from the federal HMDA register. Break the answer down -
hmda_lender_activity— What a specific mortgage lender did in a year — applications, originations, denials and dollar volume — from the federal Home Mortgage Disclosure Act register, optionally narrowed to a state or county -
hmda_lenders_in_county— Which lenders were most active in a county, ranked by loan count, from HMDA loan-level records for that county and year. Returns each lender LEI with its originations, denials and dollar volume, so wh -
hmda_loan_records— Individual mortgage application records from the HMDA register — the loan-level rows behind the totals, with loan amount, action taken, rate spread, applicant income, lender LEI and census tract. Use