@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

ToolUse it when
hmda_lender_activityYou have a lender’s LEI and want its year
hmda_geography_activityYou want a county or state, optionally split by race, ethnicity, sex, purpose or loan type
hmda_loan_recordsYou need the individual applications, not the totals
hmda_lenders_in_countyYou 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_county does 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

Regenerated from source · build August 25, 2026