Rate data as an API

4,300 credit unions. One REST API.

Mortgages, auto loans, HELOCs, personal loans, credit cards. Sub-500ms responses. OpenAPI spec included. $50/month — broker daily email bundled.

Sub-500ms response·OpenAPI 3.1·Rate-limited, not throttled

Try it

Ask for the lowest 30-year rate in California.

Real API responses, live data, no signup required.

POST/v1/decisions
const response = await fetch('https://api.rateapi.dev/v1/decisions', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    decision_type: 'financing',
    context: { geo: { state: 'CA' } },
    product_request: {
      product_type: 'mortgage',
      intent: 'purchase',
      amount: 500000,
      term_months: 360
    },
    current_offer: { apr: 6.75 }
  })
});

// Returns: savings, ranked offers, recommendation
200 OK
Loading...

Ranked by true cost (APR + points + fees), not headline rate

In 60 seconds

From signup to first request in four lines.

Generate a key at app.rateapi.dev, then make any GET request. No SDK required.

Request
$terminal
curl https://api.rateapi.dev/v1/benchmarks?state=CA \
-H "X-API-Key: rk_live_abc123..."
Response
{}/v1/benchmarks?state=CA
{
"state": "CA",
"generated_at": "2026-04-17T09:00:00Z",
"benchmarks": [
{
"product_type": "mortgage_30yr_fixed",
"count": 94,
"min_apr": 5.875,
"median_apr": 6.375,
"max_apr": 7.125
},
{
"product_type": "auto_loan_new",
"count": 118,
"min_apr": 4.24,
"median_apr": 5.49,
"max_apr": 7.99
}
]
}

Real-time

Alerts when the market moves.

Set thresholds, get HMAC-signed payloads. Full decision context in every delivery — not just "rate changed."

  • HMAC-SHA256 signed payloads

    Verify webhooks with the same signing pattern every modern provider uses. We send X-RateAPI-Signature and X-RateAPI-Event-Id headers on every delivery.

  • Configurable cooldowns, per-monitor filters

    Filter by state, product type, APR threshold, and borrower profile. Cooldowns prevent alert storms when the market moves.

  • Automatic retries with exponential backoff

    Failed deliveries retry up to 5 times over 24 hours. Every delivery attempt is logged and replayable from the dashboard.

JSverify-webhook.js
import crypto from 'node:crypto';
// Express / Node webhook handler
app.post('/webhooks/rateapi', (req, res) => {
const signature = req.header('X-RateAPI-Signature');
const body = JSON.stringify(req.body);
const expected = crypto
.createHmac('sha256', process.env.RATEAPI_WEBHOOK_SECRET)
.update(body)
.digest('hex');
if (signature !== expected) {
return res.status(401).send('Invalid signature');
}
// Safe to trust req.body
handleRateDrop(req.body);
res.status(200).send('OK');
});

API pricing

One plan. $50/month.

Full API access plus the broker daily email. Cancel anytime.

Pro

Production
$50/ month
  • 1,000 requests/month on every endpoint
  • HMAC-signed webhooks for rate movement
  • Unlimited /v1/decisions scenario quotes
  • Broker daily email included
  • Priority email support
  • Cancel anytime
Start your subscription →

Need more than 1,000 requests/month or multi-seat access? See Enterprise →

AI-ready

MCP server + Zapier + Discord bot.

RateAPI ships with a Model Context Protocol server for Claude, Cursor, and Windsurf, a Zapier app for no-code automations, and a Discord bot for rate-drop alerts in your team channel.

Build with us

Join the Discord.

Rate-drop alerts, release notes, and direct access to the team building the API.

Get rates in Discord

Natural-language rate queries, drop alerts, and a dedicated #api-help channel — right where your team already works.

Join the server →