Skip to content

rate-api/us-credit-union-rates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

US Credit Union Rates β€” Open Dataset

License: CC BY 4.0 Updated Auto Loan Rates Mortgage Rates

The only open dataset of structured, validated US credit union interest rates.

5,800+ rates from 900+ institutions across all 50 states, deduplicated, validated, and enriched with metadata like credit score tiers and loan programs. Updated monthly. Free for any use under CC BY 4.0.

Use cases: Rate comparison tools, market research, academic studies, personal finance apps, loan affordability calculators, geographic rate analysis.

Datasets

Dataset Records Institutions States Formats
Auto Loans 3,429 382 50 JSON, CSV
Mortgages 2,397 594 51 JSON, CSV

Why This Dataset Exists

Credit unions publish rates on their websites, but:

  • No structured format β€” rates are locked in HTML tables, PDFs, and custom page layouts
  • No aggregation β€” comparing rates across 900+ institutions manually is impossible
  • Inconsistent formats β€” every credit union structures rate data differently
  • Missing metadata β€” credit score tiers, loan programs, and vehicle years are buried in product names

This dataset solves all of that. Rates are collected from official credit union rate pages, deduplicated, validated, and normalized into analysis-ready formats.

Quick Start

Find the Best Rate for Your Situation

import pandas as pd

df = pd.read_csv("https://raw.githubusercontent.com/rate-api/us-credit-union-rates/main/auto-loans/latest/auto-loan-rates.csv")

# Best 60-month new car rates in California
best = df[
    (df["credit_union_state"] == "CA") &
    (df["term_months"] == 60) &
    (df["vehicle_condition"] == "new")
].nsmallest(5, "apr")[["credit_union_name", "apr", "credit_union_city"]]
print(best)

Credit Score Impact

# How much does your credit score affect your rate?
by_tier = df[df["term_months"] == 60].groupby("credit_score_tier")["apr"].mean().sort_values()
print(by_tier.round(2))

Geographic Rate Analysis

# Which states have the best mortgage rates?
mtg = pd.read_csv("https://raw.githubusercontent.com/rate-api/us-credit-union-rates/main/mortgages/latest/mortgage-rates.csv")
state_avg = mtg[mtg["product_type"] == "30-year-fixed"].groupby("credit_union_state")["apr"].mean().sort_values()
print(state_avg.head(10).round(2))

JavaScript / Node.js

const res = await fetch("https://raw.githubusercontent.com/rate-api/us-credit-union-rates/main/auto-loans/latest/auto-loan-rates.json");
const { rates } = await res.json();

// Find 72-month used car rates under 6% APR
const deals = rates.filter(r =>
  r.term_months === 72 &&
  r.vehicle_condition === "used" &&
  r.apr < 6.0
);
console.log(`${deals.length} rates under 6% APR`);

R

library(readr)
library(dplyr)

auto <- read_csv("https://raw.githubusercontent.com/rate-api/us-credit-union-rates/main/auto-loans/latest/auto-loan-rates.csv")

auto %>%
  filter(term_months == 60) %>%
  group_by(credit_union_state, vehicle_condition) %>%
  summarize(avg_apr = mean(apr, na.rm = TRUE), .groups = "drop") %>%
  arrange(avg_apr)

DuckDB (Query CSV Directly β€” No Import)

SELECT credit_union_state, AVG(apr) AS avg_apr, COUNT(*) AS n
FROM 'https://raw.githubusercontent.com/rate-api/us-credit-union-rates/main/auto-loans/latest/auto-loan-rates.csv'
WHERE term_months = 60 AND vehicle_condition = 'new'
GROUP BY credit_union_state
ORDER BY avg_apr
LIMIT 10;

Download

# Auto loans
curl -LO https://raw.githubusercontent.com/rate-api/us-credit-union-rates/main/auto-loans/latest/auto-loan-rates.csv

# Mortgages
curl -LO https://raw.githubusercontent.com/rate-api/us-credit-union-rates/main/mortgages/latest/mortgage-rates.csv

Key Findings

From the February 2026 dataset:

  • Credit score spread: Excellent credit (740+) averages ~4.5% APR for a 60-month auto loan while below-average credit averages ~9.9% β€” a difference of $3,200+ over the life of a $30k loan
  • New vs used gap: New vehicle rates average 1.5% lower than used β€” worth $1,400+ on a 60-month $25k loan
  • Geographic variation: The best states for 30-year mortgages average 5.5% APR while the worst average 7.2% β€” a 1.7% spread worth $45,000+ over the life of a $400k mortgage
  • Conventional vs jumbo: Jumbo mortgages average 0.3% higher APR than conventional across all states

Data Coverage

Auto Loans

  • Terms: 24, 36, 48, 60, 72, 84 months
  • Vehicle conditions: New, Used, Any
  • Enriched fields: Credit score tiers (5 levels), vehicle model years, loan purpose
  • Filters: Cars only (no boats, RVs, motorcycles), standard terms only

Mortgages

  • Product types: 30-year fixed, 15-year fixed
  • Loan programs: Conventional, Jumbo, FHA, VA, USDA
  • Fields: Rate, APR, discount points, loan program
  • Filters: Standard fixed-rate products, valid rate ranges (0-15%)

Methodology

All rates are collected directly from official credit union rate pages. Each rate is:

  1. Canonical β€” deduplicated per credit union, product, and collection cycle
  2. Validated β€” anomaly detection removes outliers and implausible values
  3. Structured β€” normalized product types, extracted metadata from product names

For full details, see docs/METHODOLOGY.md.

Update Schedule

Datasets are updated on the 1st of each month.

Visualizations

Interactive charts and downloadable files:

Real-Time API

This dataset is a monthly snapshot. For live rates updated daily from 4,300+ credit unions with personalized recommendations:

Structured Metadata

This dataset includes schema.org Dataset markup for indexing by Google Dataset Search, academic databases, and data catalogs.

License

This dataset is licensed under CC BY 4.0. You are free to use, share, and adapt it for any purpose β€” including commercial use β€” with attribution.

Attribution: RateAPI (https://rateapi.dev)

Citation

@dataset{rateapi_credit_union_rates_2026,
  title     = {US Credit Union Rate Dataset},
  author    = {RateAPI},
  year      = {2026},
  url       = {https://github.com/rate-api/us-credit-union-rates},
  license   = {CC BY 4.0}
}

Repository Structure

us-credit-union-rates/
β”œβ”€β”€ auto-loans/
β”‚   β”œβ”€β”€ README.md              # Auto loan dataset documentation
β”‚   └── latest/
β”‚       β”œβ”€β”€ auto-loan-rates.json
β”‚       β”œβ”€β”€ auto-loan-rates.csv
β”‚       └── summary.json
β”œβ”€β”€ mortgages/
β”‚   β”œβ”€β”€ README.md              # Mortgage dataset documentation
β”‚   └── latest/
β”‚       β”œβ”€β”€ mortgage-rates.json
β”‚       β”œβ”€β”€ mortgage-rates.csv
β”‚       └── summary.json
β”œβ”€β”€ examples/                  # Usage examples (Python, R, SQL)
β”‚   β”œβ”€β”€ python_auto_loans.py
β”‚   β”œβ”€β”€ python_mortgages.py
β”‚   β”œβ”€β”€ r_analysis.R
β”‚   └── sql_duckdb.sql
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ METHODOLOGY.md
β”‚   └── SCHEMA.md
β”œβ”€β”€ dataset-metadata.json      # schema.org Dataset markup
β”œβ”€β”€ datapackage.json           # Frictionless Data descriptor
β”œβ”€β”€ LICENSE                    # CC BY 4.0
β”œβ”€β”€ CITATION.cff
└── README.md                  # This file

About

Open dataset of auto loan and mortgage rates from 1,400+ US credit unions. Updated monthly. CC BY 4.0.

Topics

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors