Developer reference
Fixed deposit rates API
A read-only JSON API for published Sri Lankan bank and finance-company fixed-deposit rates.
Transport
HTTPS / JSON
Access
Read-only
Freshness
Published daily
Request conventions
Send query parameters as URL-encoded values and include Accept: application/json. Successful responses return JSON. Decimal fields such as rates are JSON strings, preserving the source precision.
curl -H "Accept: application/json" "BASE_URL/compare?tenure_months=12&variant=general&payout_type=maturity"Response codes
| Parameter | Values | Purpose |
|---|---|---|
| 200 | OK | The request completed successfully |
| 404 | Not Found | The requested institution does not exist |
| 422 | Validation Error | A required parameter is missing or a supplied value is invalid |
| 500 | Server Error | An unexpected service error occurred |
GET
/healthConfirms that the read service and its database connection are available.
{"status":"ok"}GET
/institutionsLists institutions tracked by the service, with their licence class and — where recorded — credit rating. Rating fields are
null until one has been entered.| Parameter | Values | Purpose |
|---|---|---|
| type | bank | nbfi | Optionally restrict results by institution type |
| active_only | true | false | Return active institutions only; defaults to true |
[{"id":"institution_id","name":"Institution name","type":"bank","website":"https://...","active":true,"license_type":"licensed_commercial_bank","credit_rating":"AA-(lka)","rating_agency":"Fitch Ratings Lanka","rating_updated":"2026-10-01"}]GET
/rates/currentReturns the currently published offers. Decimal values are returned as strings to preserve source precision.
| Parameter | Values | Purpose |
|---|---|---|
| institution_id | string | Filter to one institution |
| type | bank | nbfi | Filter by institution type |
| variant | general | senior_citizen | women | digital | minor | Filter customer eligibility |
| tenure_months | number | Filter maturity in months |
| payout_type | maturity | monthly | quarterly | annual | Filter interest payout schedule |
[{"institution_id":"...","institution_name":"...","product_variant":"general","tenure_months":"12.00","rate_pa":"10.500","payout_type":"maturity","min_deposit":"10000","currency":"LKR","scraped_at":"2026-09-13T00:00:00Z","source_url":"https://..."}]GET
/rates/history/{'{institution_id}'}Returns append-only rate changes, newest first. A direction is
initial, up, down, or flat.| Parameter | Values | Purpose |
|---|---|---|
| institution_id | string, required | Path ID of the tracked institution |
| variant | general | senior_citizen | women | digital | minor | Filter customer eligibility |
| tenure_months | number | Filter maturity in months |
| payout_type | maturity | monthly | quarterly | annual | Filter interest payout schedule |
| limit | 1-1000 | Maximum records; defaults to 200 |
| offset | integer >= 0 | Pagination offset |
[{"institution_id":"...","tenure_months":"12.00","prev_rate_pa":"10.250","new_rate_pa":"10.500","direction":"up","changed_at":"2026-09-13T00:00:00Z"}]GET
/rates/changesMarket-wide feed of rate cuts and raises across every institution, newest first. First-time recordings (
initial) are not changes and are left out.| Parameter | Values | Purpose |
|---|---|---|
| since | YYYY-MM-DD | Only changes on or after this date |
| type | bank | nbfi | Filter by institution type |
| direction | up | down | Only raises or only cuts |
| institution_id | string | Filter to one institution |
| limit | 1-1000 | Maximum records; defaults to 200 |
| offset | integer >= 0 | Pagination offset |
[{"institution_id":"...","institution_name":"...","institution_type":"bank","product_variant":"general","tenure_months":"12.00","payout_type":"maturity","prev_rate_pa":"9.500","new_rate_pa":"9.000","direction":"down","changed_at":"2026-10-01T00:45:00Z"}]GET
/compareReturns comparable current offers for one set of terms. Use this endpoint to build rankings or calculate market position.
| Parameter | Values | Purpose |
|---|---|---|
| tenure_months | number, required | Maturity to compare |
| variant | general | senior_citizen | women | digital | minor | Defaults to general |
| payout_type | maturity | monthly | quarterly | annual | Defaults to maturity |
| type | bank | nbfi | Optionally restrict results by institution type |
[{"institution_id":"...","institution_name":"...","institution_type":"nbfi","tenure_months":"12.00","rate_pa":"10.500","payout_type":"maturity"}]GET
/summaryReturns min, median, maximum, average, and tracked-institution count for each matching market group.
| Parameter | Values | Purpose |
|---|---|---|
| type | bank | nbfi | Optionally restrict the market group |
| variant | general | senior_citizen | women | digital | minor | Filter customer eligibility |
| tenure_months | number | Filter maturity in months |
| payout_type | maturity | monthly | quarterly | annual | Filter interest payout schedule |
[{"institution_type":"bank","product_variant":"general","tenure_months":"12.00","payout_type":"maturity","institution_count":12,"min_rate_pa":"8.500","median_rate_pa":"9.750","max_rate_pa":"11.000","avg_rate_pa":"9.810"}]GET
/summary/historyThe
/summary figures over time: one row per day per institution type, oldest first. Use it to chart how the median has moved.| Parameter | Values | Purpose |
|---|---|---|
| tenure_months | number, required | Maturity to chart |
| variant | general | senior_citizen | women | digital | minor | Defaults to general |
| payout_type | maturity | monthly | quarterly | annual | Defaults to maturity |
| type | bank | nbfi | Optionally restrict the market group |
| since | YYYY-MM-DD | Only snapshots on or after this date |
[{"snapshot_date":"2026-10-01","institution_type":"bank","product_variant":"general","tenure_months":"12.00","payout_type":"maturity","institution_count":18,"min_rate_pa":"6.750","median_rate_pa":"10.000","max_rate_pa":"10.500","avg_rate_pa":"9.319"}]GET
/freshnessWhen each institution's published rates were last confirmed against its own website.
is_stale turns true once that is more than stale_after_days ago — treat those rates as possibly out of date.| Parameter | Values | Purpose |
|---|---|---|
| institution_id | string | Filter to one institution |
[{"institution_id":"...","name":"Institution name","type":"bank","last_published_at":"2026-10-01T00:45:00Z","last_checked_at":"2026-10-04T00:45:00Z","last_verified_at":"2026-10-04T00:45:03Z","days_since_verified":0,"stale_after_days":3,"is_stale":false}]GET
/reports/best-ratesReturns each institution's single highest current offer, ordered from highest to lowest.
| Parameter | Values | Purpose |
|---|---|---|
| type | bank | nbfi | Optionally restrict results by institution type |
| limit | 1-100 | Maximum institutions; defaults to 20 |
[{"institution_id":"...","name":"Institution name","type":"bank","best_rate_pa":"11.000","best_tenure_months":"12.00","best_payout_type":"maturity","last_changed_at":"2026-09-13T00:00:00Z","trend":"up"}]Data use
Rates are published from institution source material and may change without notice. Confirm the final rate and eligibility requirements with the institution before depositing. This data is informational and is not financial advice.