One evidence graph connects daily-verified lending and deposit rates to published membership rules across 3,700+ tracked US credit unions.
You're not in the web scraping business. But to show the right credit union products in your app, you need both current pricing and the published membership path behind each match.
That usually means maintaining scrapers across dozens of institution sites, fixing broken selectors after redesigns, and translating membership prose into rules your product can use.
Even with a complete rate table, your product still does not know what belongs in front of this customer. Membership, product suitability, pricing, underwriting, and approval are different questions. RateAPI Routes keeps them separate, source-backed, and explainable.
Confirmed customer facts are evaluated against published membership rules, then joined to exact lending and deposit product searches. Every promoted match keeps the source behind the decision.
One graph, one answer. Rates, eligibility, product evidence, and observation dates—without paid placement.
RateAPI handles the messy parts so you can ship the features your users actually want. See our methodology.
Live Demo
Current API responses with source evidence and observation dates
const API = 'https://api.rateapi.dev';
const params = new URLSearchParams({
productType: '30-year-fixed',
sort: 'apr',
maxPoints: '0'
});
const res = await fetch(`${API}/rates?${params}`, {
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const { results } = await res.json();
console.log(results[0]);
// → { institution: "Navy Federal", apr: 5.875 }
Why RateAPI
Consumer lending, deposits, and credit cards across 3,700+ tracked US credit unions—joined to published membership paths with evidence attached.
REST API designed for LLM function calling. Native MCP server for Claude. Works with ChatGPT, Gemini, and custom agents.
Compiled scrapers for reliable rate updates. Infrastructure that gets smarter with every query.
Global CDN ensures instant results. Fast enough for real-time conversations. Reliable enough for production.
JSON responses that just work. Interactive docs
99.9% uptime SLA, dedicated support, and custom data needs. Contact us
Webhooks & Monitoring
Create monitors with custom conditions. Get webhooks when rates hit your thresholds - with full context, not just "rate changed."
Set precise conditions: APR below 6.25%, rate drops by 0.125%, or monthly payment under $2,500. Multiple conditions, multiple states, your rules.
Every webhook includes the complete decision snapshot - top offers, savings calculations, and why_now explanations. Act immediately, no follow-up API calls needed.
Every webhook is cryptographically signed. Verify authenticity with your secret key. Event IDs prevent replay attacks and enable deduplication.
Simulate rate changes to test your webhook handler. Dry-run mode evaluates conditions without delivery. Ship with confidence.
Configurable cooldown periods prevent alert fatigue. Get notified when it matters, not every minor fluctuation.
Full monitor management via MCP: create, list, get, update, delete, and simulate. Let Claude manage your rate alerts.
Rich, actionable payloads - not just "rate changed"
// POST to your webhook URL
// Headers: X-RateAPI-Signature, X-RateAPI-Event-Id
{
"event": "decision.monitor.triggered",
"monitor_id": "mon_abc123",
"trigger_type": "condition_met",
"why_now": [
"APR dropped below 6.25% threshold (now 6.125%)",
"Navy Federal offering $127/mo savings vs current rate"
],
"rate_change": {
"state": "CA",
"product_type": "30yr_fixed",
"previous_rate": 6.375,
"new_rate": 6.125,
"change_pct": -3.92
},
"decision_snapshot": {
// Full /v1/decisions response
"summary": { "recommended_action": "shop_providers" },
"actions": [{ "offers": [...] }]
}
}
# Get the best 30-year fixed rates
curl "https://api.rateapi.dev/rates?productType=30-year-fixed&sort=apr&limit=3" \
-H "Authorization: Bearer YOUR_API_KEY"
# Response
{
"results": [
{
"institution": "Navy Federal Credit Union",
"apr": 5.875,
"rate": 5.750
},
{
"institution": "Pentagon Federal Credit Union",
"apr": 5.990,
"rate": 5.875
}
]
}
AI Integration
Connect RateAPI directly to Claude using the Model Context Protocol (MCP)
# Email required (20 requests/month)
RATEAPI_ENROLLMENT_ID="${RATEAPI_ENROLLMENT_ID:-$(node -e 'console.log(crypto.randomUUID())')}"; curl -X POST https://api.rateapi.dev/keys \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $RATEAPI_ENROLLMENT_ID" \
-d '{"email": "you@example.com"}'
RateAPI generates the key. Save it securely; reuse the UUID only with the identical body to recover an ambiguous response for up to 24 hours.
Edit
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"rateapi": {
"url": "https://mcp.rateapi.dev/mcp",
"headers": {
"x-api-key": "rk_your_key_here"
}
}
}
}
claude mcp add rateapi https://mcp.rateapi.dev/mcp \
--transport http \
--header "x-api-key: rk_your_key_here"
get_financing_decision
Get personalized rate recommendations for a borrower's situation
list_credit_unions
Browse credit unions by state with rate availability
get_credit_union
Get detailed rates for a specific credit union
create_monitor
Set up rate alerts with custom trigger conditions
list_monitors
View all your active and paused monitors
simulate_monitor
Test webhook delivery without waiting for real rate changes