DATACLOUD
DataCloud SQL
Read-only SQL over the public HMDA and Ginnie Mae aggregate tables · add-on
Sign in to use DataCloud
Write your own SQL against nine public HMDA and Ginnie Mae aggregate tables — lender-year, lender-state-year, national/state/county markets, Ginnie issuer monthly and speeds, pool monthly, and servicing transfers — and pull the result straight into your model. It is enabled per account on request.
WHAT EACH PLAN CARRIES
AGGREGATE
SOLO
LOAN-LEVEL
RULES
- One statement per run: a single SELECT, or WITH … SELECT. No semicolons beyond a trailing one.
- Only the nine tables above, by bare name — no schema qualifiers, no catalog tables.
- No writes, no DDL, no SQL comments, no server-side functions (pg_sleep, dblink, pg_read_*, …).
- Rows are capped at 1,000 by default and 5,000 at most; statements are cut off at 8 seconds and 4,000 characters. A capped result says so.
- Public data only — HMDA (CFPB/FFIEC) and Ginnie Mae disclosure. No account, billing or loan-level personal data is in this schema at all, so no query can reach it.
Readable tables
These nine views are the whole surface — a query may name them, and only them, by their bare name. Everything else in the database is unreachable: the guard rejects schema-qualified references and any table outside this list, and the executor runs each statement in a read-only transaction as a least-privilege role. The same catalog is available as JSON at GET /api/v1/datacloud/catalog.
Per-lender HMDA annual aggregates: originations, volume, denial rate, purpose mix. Source: HMDA (public, CFPB/FFIEC).
lei, activity_year, respondent_name, total_applications, total_originations, total_purchased, total_denials, total_withdrawn, total_incomplete, total_approved_not_accepted, origination_volume_dollars, avg_loan_amount, median_loan_amount, avg_interest_rate, denial_rate, approval_rate, conventional_count, fha_count, va_count, usda_count, purchase_count, refinance_count, cashout_refi_count, home_improvement_count, first_lien_count, states_active, msas_active, sold_to_fannie, sold_to_ginnie, sold_to_freddie, agency_code, other_lender_code, parent_name, top_holder_name
Per-lender state footprint: origination count/volume + applications by state and year. Source: HMDA (public, CFPB/FFIEC).
lei, activity_year, state_code, application_count, origination_count, denial_count, origination_volume_dollars, purchase_count, refinance_count
State-level HMDA market benchmarks: volume, originations, denial rate by year. Source: HMDA (public, CFPB/FFIEC).
activity_year, state_code, lender_count, total_applications, total_originations, total_purchased, total_denials, denial_rate, origination_volume_dollars, median_loan_amount, avg_interest_rate, purchase_count, refinance_count, cashout_refi_count, conventional_count, fha_count, va_count, usda_count
National HMDA market benchmarks by year. Source: HMDA (public, CFPB/FFIEC).
activity_year, lar_record_count, lender_count, total_applications, total_originations, total_purchased, total_denials, denial_rate, origination_volume_dollars, median_loan_amount, avg_interest_rate, purchase_count, refinance_count, cashout_refi_count, conventional_count, fha_count, va_count, usda_count, first_lien_origination_volume_dollars
County-level HMDA market aggregates by year. Source: HMDA (public, CFPB/FFIEC).
activity_year, county_fips, state_code, total_applications, total_originations, total_denials, denial_rate, origination_volume_dollars, purchase_count, refinance_count, lender_count, hhi, top5_share
Ginnie Mae issuer monthly headline: active UPB, loan counts, delinquency buckets. Source: Ginnie Mae disclosure (public).
issuer_id, report_period, program, loan_count, active_loan_count, upb_known, upb_est, upb_missing_loans, dq30, dq60, dq90p, dq30_rate, dq60_rate, dq90p_rate, wac, avg_age, wa_age, liq_payoff_count, liq_buyout_count, liq_foreclosure_count, liq_lossmit_count, liq_substitution_count, liq_other_count, liq_upb_known
Ginnie issuer prepayment speeds (CPR) and gross/voluntary/involuntary decomposition. Source: Ginnie Mae disclosure (public).
issuer_id, report_period, beginning_upb, beginning_loan_count, scheduled_principal, payoff_upb, payoff_count, buyout_upb, buyout_count, default_upb, default_count, other_upb, other_count, smm, cpr, cbr, cpr_3m, cpr_6m, cpr_12m, cbr_3m, cbr_6m, cbr_12m, wac, wala, cohort_bucket, cohort_n, z_cpr, z_cpr_3m, z_cbr, z_cbr_3m
Ginnie pool monthly factors, WAC/WAM, and speed inputs (large — always filter/limit). Source: Ginnie Mae disclosure (public).
report_period, cusip, pool_id, issuer_id, multi_issuer, pool_indicator, pool_type, issue_date, maturity_date, coupon, original_aggregate_amount, rpb, rpb_factor, pool_upb, loan_count, wac, wala, wam, wa_original_loan_term, wa_ltv, wa_credit_score, wa_dti, wac_at_issuance, active_loan_count, dq30, dq60, dq90p, liq_payoff_count, liq_buyout_count, smm_approx, cpr_approx
Ginnie servicing-transfer events between issuers. Source: Ginnie Mae disclosure (public).
report_period, prev_period, cusip, pool_id, from_issuer, to_issuer, pool_type, coupon, pool_upb, loan_count
Prefer to drive it from your own code? The same surface is a JSON API — POST /api/v1/datacloud/query with an API key. See plans and add-ons.