---
title: "API Reference: Core RateAPI Endpoints"
description: "Core RateAPI REST endpoints for lending rates, deposit APYs, credit unions, eligibility, and decisions, with a link to the complete live OpenAPI spec."
canonical: "https://rateapi.dev/api/reference"
last-updated: "2026-09-27"
source: "https://rateapi.dev/llms.txt"
---

# API Reference: Core RateAPI Endpoints

[Home](https://rateapi.dev/) / API Reference

# API Reference

Every public RateAPI endpoint in one place. 34 REST endpoints over real, ranked credit union rates — decisions, rate analytics, borrower tools, monitors, and reference data. Authenticate with your API key in the `X-API-Key` header.

Get a Free API Key [View OpenAPI Spec (JSON)](https://api.rateapi.dev/openapi.json)

The machine-readable contract lives at [https://api.rateapi.dev/openapi.json](https://api.rateapi.dev/openapi.json) . Use it to generate a typed client in any language.

## Rates & deposits

Query current, evidence-backed lending APRs and deposit APYs.

- GET `/v1/rates` Current lending rate rows filtered by product, state, term, occupancy, audience, and other documented query parameters.
- POST `/v1/deposit-rates` Deposit APYs in list or benchmark mode. Send JSON field product_category with an exact underscore value: savings, cd, share_certificate, money_market, ira_cd, ira, or share_savings.
- POST `/v1/deposit-beta` Retention-bounded deposit repricing sensitivity. Send JSON field product; money market is money_market.

## Decisions

Rank real credit union offers for a borrower scenario and explain the result.

- POST `/v1/decisions` Rank the best qualifying lender offers for a financing scenario. Optional borrower affinity inputs (employer, military_status, school, worship) and context.geo.county annotate each offer with a membership-eligibility verdict.
- POST `/v1/decisions/batch` Run many decision scenarios in a single request.
- POST `/v1/explain-ranking` Decompose why each top lender ranked where it did, with cost breakdowns.
- POST `/v1/simulate-decision` Sweep one input (credit score, down payment, rate shift) and see the winner per value.

## Rate analytics

Position quotes and watch how the live market distribution moves.

- GET `/v1/stats` Headline coverage stats across the dataset.
- GET `/v1/benchmarks` National and per-state benchmark APR distributions by product.
- GET `/v1/rates/nearby?zip={zip}&product_type={product}` Rank current product-matched rates from the nearby-branch set by published APR, with source-labelled distance. REST counterpart to find_product_rates_near_zip.
- POST `/v1/rate-sanity-check` Position an external quote in the live market distribution (percentile + classification).
- POST `/v1/rate-delta` Compare the market APR distribution now vs ~1/2/4 weeks ago.
- POST `/v1/competitive-position` See where a given rate sits against the live competitive set.
- POST `/v1/buy-timing` Forward buy/refi-now vs wait lean from recent movement and break-even sensitivity.

## Borrower tools

Affordability, monthly cost, refinance, and savings math grounded in real rates.

- POST `/v1/affordability` Max monthly payment, loan amount, and home price from income and DTI caps.
- POST `/v1/monthly-cost` Full monthly cost (PITI) estimate for a loan.
- POST `/v1/refinance-break-even` Break-even months and lifetime savings for a refinance.
- POST `/v1/scan-savings` Find the best refinance offer for each debt in a stack and quantify savings.
- POST `/v1/advice-guardrails` Guardrail checks (DTI strain, long terms, balloon, stale data) over a scenario.

## Monitors

Standing decision monitors that re-evaluate scenarios and fire webhooks on change. Scenarios are re-evaluated against your monitored band, not your exact figures.

- POST `/v1/monitors` Create a decision monitor (borrower or competitor).
- GET `/v1/monitors` List your monitors.
- GET `/v1/monitors/{id}` Fetch a single monitor.
- PATCH `/v1/monitors/{id}` Update a monitor.
- DELETE `/v1/monitors/{id}` Delete a monitor.
- POST `/v1/monitors/{id}/simulate` Dry-run a monitor against current rates without persisting.

## Membership eligibility

Who can join each credit union — evidence-backed verdicts (open_to_anyone, likely_eligible, eligible_via_employer, eligible_via_military, geo_mismatch, unknown) and full field-of-membership records.

- GET `/v1/credit-unions/{id}/eligibility` Full field-of-membership record: geo footprint, employers, associations, fees, provenance, and evidence URL.
- POST `/v1/eligibility/check` Check up to 50 credit unions against one user profile (state, zip, county, employer, occupation, military_status, school, worship) and get per-CU verdicts with matched rule, join_cost_usd, and join steps.

## Reference data & keys

Credit union directory, metadata, and API key management.

- GET `/credit-unions` Search the credit union directory.
- GET `/credit-unions/nearby?zip={zip}` Find credit unions ordered by estimated distance to each institution's closest NCUA-reported branch. REST counterpart to the find_credit_unions_near_zip MCP tool.
- GET `/credit-unions/{state}/{slug}` Fetch a single credit union profile: all current rates plus a nullable eligibility object (who can join) — requirements summary, join paths, cost to join, and evidence URL. Annotates published criteria; never asserts an individual is ineligible.
- GET `/meta` Dataset metadata: products, states, freshness.
- POST `/keys` Provision a new API key.
- GET `/keys/{keyId}/usage` Usage stats for an API key.
- DELETE `/keys/{keyId}` Revoke an API key.

## Start building

A free key gives you 20 requests/month (email required). Point your codegen at the live OpenAPI spec and you have a typed client in minutes.

Get a Free API Key [Open the OpenAPI Spec](https://api.rateapi.dev/openapi.json)

Skip to main content

---

Source: https://rateapi.dev/api/reference
Rate data API: https://api.rateapi.dev · OpenAPI: https://api.rateapi.dev/openapi.json · MCP: https://mcp.rateapi.dev/mcp
