RateSonarBETA, home

Tools · API and MCP · Docs

API and MCP reference

What each endpoint and tool returns, and how to read the dates. Access is in private beta: your key and the service address come by email when your waitlist place opens.

Reading the data

  • Every value has a date. observed_date is the day we recorded the rate. Cite it.
  • Recorded or carried forward. A day with no new record repeats the last rate and says carried-forward, with sourceDate. Never present it as recorded. A median or a spread is calculated from several records, not one bank’s quote.
  • Lenders by id. Lenders are lowercase ids such as cba, westpac, nab and anz. A product id is unique only inside its lender.
  • Rates in percent. Rates are % p.a.; moves and spreads are in basis points (bps).
A series response (the shape; the values are made up)
{
  "slug": "hl.var.oo.pi",
  "institution": "cba",
  "points": [
    { "date": "2026-10-13", "value": 6.14, "kind": "observed" },
    { "date": "2026-10-14", "value": 6.39, "kind": "observed" },
    { "date": "2026-10-15", "value": 6.39, "kind": "carried-forward",
      "sourceDate": "2026-10-14" }
  ]
}

HTTP endpoints

JSON over HTTPS. Send your key as Authorization: Bearer rs_live_….

GET/v1/changes

Recorded rate changes: lender, product, the old and new rate, the move in basis points and the day it was recorded.

Parameters since (YYYY-MM-DD, default 14 days ago), institution (e.g. cba)

GET/v1/series

Standard series: a lender’s rate for one product type over time, or a spread such as variable minus the cash rate. Each point says recorded or carried forward.

Parameters slugs (from /v1/catalog), institutions, median=1, from, to

GET/v1/catalog

Every series slug and its label, and the history window of each plan.

Parameters none

GET/v1/tiers

The plans: price, history window and rate limit.

Parameters none

POST/v1/ask

A plain-language rates question answered from recorded rows, with no language model. Up to five lines, each with its recorded date.

Parameters body {"question": "…"}

MCP server

MCP is a connection for AI assistants. Add RateSonar to Claude, Cursor or another assistant. JSON-RPC over HTTP.

Client config
{
  "mcpServers": {
    "ratesonar": { "url": "<the address sent with your key>" }
  }
}

toolrate_history(productId, institutionId?, from?, to?, grid?)

One product’s advertised rate over time. grid:true adds one point per day: recorded, or carried forward with the day it repeats.

toolrate_details(institutionId, productId, asOf?)

Every rate tier and condition of one product: fees, features, eligibility, constraints and where each came from.

toolcompare_rates(category, asOf?)

Lenders ranked for one product type: home_loan, savings, term_deposit, business_loan, personal_loan, car_loan or credit_card.

toolrate_changes(institutionId?, sinceDays?)

The change feed: rate moves with basis-point deltas, and products added.

toolseries(slugs, institutions?, median?, from?, to?)

The same standard series as /v1/series, for charts and analysis inside the tool.

Keys and limits

  • One key per person or app. Create and revoke keys in Analyse once your access opens.
  • Your plan sets the history window and the rate limit. Free 60 requests a minute, Enthusiast 300, Pro 1,200. Over the limit you get 429 with retry-after.
  • Errors are JSON. {"error": "…"} with a 4xx or 5xx status.

Get access

Private beta. Join the waitlist and we’ll email you a key.

Join the waitlist