Norges Bank (NORGES_SIGHT_DEPOSIT) Convert API

Norges Bank (NORGES_SIGHT_DEPOSIT) Convert API

You're building finance software that needs the Norges Bank policy rate inside dashboards, loan calculators, or risk models. By the end of this article, you’ll query the NORGES_SIGHT_DEPOSIT symbol from interestratesapi.com, read effective dates correctly, compare loan costs against another benchmark via the Convert endpoint, and integrate all seven endpoints (symbols, latest, historical, timeseries, fluctuation, OHLC, convert) with cURL, Python, JavaScript, and PHP.

What the NORGES_SIGHT_DEPOSIT rate is and how it’s represented

NORGES_SIGHT_DEPOSIT is the Norges Bank sight deposit rate, the key policy rate that anchors short-end NOK money markets. In this API, the value is expressed as an annualized percentage (for example 4.50 means 4.50% per annum), and the currency context is NOK. The symbol is categorized as a central bank rate and has a monthly publication frequency.

Illustration: Norges Bank (NORGES_SIGHT_DEPOSIT) Convert API

Monthly publication means new official levels are typically set on decision days and remain effective across business days until a new decision. Some API endpoints can expose daily time grid rows that repeat the same monthly rate across days; treat these as the same effective policy rate unless the API indicates a change. Always use the effective date returned for the symbol to anchor your calculations.

Key points for developers working with this symbol:

  • Units: annual percentage rate (APR), not basis points and not decimals (4.5 means 4.5%, not 0.045).
  • Currency: NOK context for this central bank rate. The currencies map in responses confirms this.
  • Frequency: monthly publication; daily time series entries may repeat the monthly level across business days.
  • Effective date: the dates map in /latest and the date keys in /timeseries are your source of truth for when a rate applied.

All endpoints are HTTP GET and require the api_key query parameter. Base URL: https://interestratesapi.com/api/v1/

Get the latest Norges Bank sight deposit rate

Use /latest when you need the current policy rate, including its effective date and currency context. The following official sample must be copied exactly:

curl -s "https://interestratesapi.com/api/v1/latest?api_key=YOUR_API_KEY&symbols=NORGES_SIGHT_DEPOSIT"
{
    "success": true,
    "date": "2026-09-30",
    "base": "NOK",
    "rates": {
        "NORGES_SIGHT_DEPOSIT": 4.5
    },
    "dates": {
        "NORGES_SIGHT_DEPOSIT": "2026-09-30"
    },
    "currencies": {
        "NORGES_SIGHT_DEPOSIT": "NOK"
    },
    "base_filter_note": null
}

How to read this:

  • rates.NORGES_SIGHT_DEPOSIT: annualized percentage (4.5 means 4.50%).
  • dates.NORGES_SIGHT_DEPOSIT: the effective/latest-known date for this rate in the feed.
  • currencies.NORGES_SIGHT_DEPOSIT: the currency context (NOK).
  • date: the retrieval date for the whole payload; use the symbol-specific dates for precision.

Latest — Python (requests)

import requests

url = "https://interestratesapi.com/api/v1/latest"
params = {"api_key": "YOUR_API_KEY", "symbols": "NORGES_SIGHT_DEPOSIT"}
resp = requests.get(url, params=params)
data = resp.json()

rate = data["rates"]["NORGES_SIGHT_DEPOSIT"]
effective_date = data["dates"]["NORGES_SIGHT_DEPOSIT"]
currency = data["currencies"]["NORGES_SIGHT_DEPOSIT"]

print(rate, effective_date, currency)

Latest — JavaScript (fetch)

const response = await fetch(
"https://interestratesapi.com/api/v1/latest?api_key=YOUR_API_KEY&symbols=NORGES_SIGHT_DEPOSIT"
);
const data = await response.json();

const rate = data.rates.NORGES_SIGHT_DEPOSIT;
const effectiveDate = data.dates.NORGES_SIGHT_DEPOSIT;
const currency = data.currencies.NORGES_SIGHT_DEPOSIT;

console.log(rate, effectiveDate, currency);

Latest — PHP

<?php
$url = "https://interestratesapi.com/api/v1/latest?api_key=YOUR_API_KEY&symbols=NORGES_SIGHT_DEPOSIT";
$json = file_get_contents($url);
$data = json_decode($json, true);

$rate = $data["rates"]["NORGES_SIGHT_DEPOSIT"];
$effectiveDate = $data["dates"]["NORGES_SIGHT_DEPOSIT"];
$currency = $data["currencies"]["NORGES_SIGHT_DEPOSIT"];

echo $rate . " " . $effectiveDate . " " . $currency;

Tip: Cache the latest response until you detect an effective date change for the symbol. For monthly rates, a daily polling cadence is typically sufficient, but adjust based on your product’s latency tolerance.

Discover symbols and metadata

Use /symbols to browse available identifiers and metadata such as name, category, frequency, and currency. This is useful when constructing UI pickers or validating input.

Symbols — Python

import requests

resp = requests.get(
"https://interestratesapi.com/api/v1/symbols",
params={"category": "central_bank", "base": "NOK", "api_key": "YOUR_KEY"}
)
catalog = resp.json()
# Inspect catalog["symbols"] to locate NORGES_SIGHT_DEPOSIT and its metadata.

Symbols — JavaScript

const res = await fetch(
"https://interestratesapi.com/api/v1/symbols?category=central_bank&base=NOK&api_key=YOUR_KEY"
);
const catalog = await res.json();
// Search catalog.symbols for { symbol: "NORGES_SIGHT_DEPOSIT", ... }

Symbols — PHP

<?php
$url = "https://interestratesapi.com/api/v1/symbols?category=central_bank&base=NOK&api_key=YOUR_KEY";
$body = file_get_contents($url);
$catalog = json_decode($body, true);
// Iterate $catalog["symbols"] to find NORGES_SIGHT_DEPOSIT.

Note: You can filter by category, currency, or provider. Keep your symbol list in sync periodically (e.g., weekly) or on application startup.

Point-in-time value with /historical

The /historical endpoint returns the value for a specified date. For monthly symbols like NORGES_SIGHT_DEPOSIT, the API uses the last day with data within that month when you request any date inside the month.

Historical — Python

import requests

params = {"date": "2025-06-15", "symbols": "NORGES_SIGHT_DEPOSIT", "api_key": "YOUR_KEY"}
resp = requests.get("https://interestratesapi.com/api/v1/historical", params=params)
pt = resp.json()
value = pt["rates"]["NORGES_SIGHT_DEPOSIT"]
print(value)

Historical — JavaScript

const url = "https://interestratesapi.com/api/v1/historical?date=2025-06-15&symbols=NORGES_SIGHT_DEPOSIT&api_key=YOUR_KEY";
const r = await fetch(url);
const pt = await r.json();
const value = pt.rates.NORGES_SIGHT_DEPOSIT;

Historical — PHP

<?php
$q = "https://interestratesapi.com/api/v1/historical?date=2025-06-15&symbols=NORGES_SIGHT_DEPOSIT&api_key=YOUR_KEY";
$resp = json_decode(file_get_contents($q), true);
$value = $resp["rates"]["NORGES_SIGHT_DEPOSIT"] ?? null;
echo $value;

Practical tip: When charting monthly central bank rates, pick one representative date per month (e.g., the API’s last date in that month) to avoid overplotting repeated daily values.

Build a time series with /timeseries

/timeseries gives you a range of values. For monthly rates, daily rows may repeat the same constant within a month. Aggregate or resample as needed.

Timeseries — Python

import requests

params = {
"start": "2025-10-14",
"end": "2026-10-14",
"symbols": "NORGES_SIGHT_DEPOSIT",
"api_key": "YOUR_KEY",
}
resp = requests.get("https://interestratesapi.com/api/v1/timeseries", params=params)
ts = resp.json()

series = ts["rates"]["NORGES_SIGHT_DEPOSIT"]
# Example: reduce to monthly by taking the last available date per month.
from collections import OrderedDict
monthly = OrderedDict()
for d in sorted(series.keys()):
y_m = d[:7]
monthly[y_m] = series[d] # last write wins for last date in month
print(monthly)

Timeseries — JavaScript

const url = "https://interestratesapi.com/api/v1/timeseries?start=2025-10-14&end=2026-10-14&symbols=NORGES_SIGHT_DEPOSIT&api_key=YOUR_KEY";
const res = await fetch(url);
const ts = await res.json();

const series = ts.rates.NORGES_SIGHT_DEPOSIT;
// Compute month-end sampling
const monthly = {};
Object.keys(series).sort().forEach(d => {
const ym = d.slice(0, 7);
monthly[ym] = series[d]; // last one in the month
});

Timeseries — PHP

<?php
$url = "https://interestratesapi.com/api/v1/timeseries?start=2025-10-14&end=2026-10-14&symbols=NORGES_SIGHT_DEPOSIT&api_key=YOUR_KEY";
$data = json_decode(file_get_contents($url), true);
$series = $data["rates"]["NORGES_SIGHT_DEPOSIT"] ?? [];
$monthly = [];
ksort($series);
foreach ($series as $date => $val) {
$ym = substr($date, 0, 7);
$monthly[$ym] = $val;
}
print_r($monthly);

Business days: For central bank policy rates, values typically don’t change on weekends and holidays. When the API emits daily series, you may see only business days within the financial calendar; repeated values are expected between decisions.

Measure changes with /fluctuation

The /fluctuation endpoint summarizes change over a range, reporting absolute and percentage change, and the high/low during the interval.

Fluctuation — Python

import requests

params = {
"start": "2025-10-14",
"end": "2026-10-14",
"symbols": "NORGES_SIGHT_DEPOSIT",
"api_key": "YOUR_KEY",
}
r = requests.get("https://interestratesapi.com/api/v1/fluctuation", params=params)
fx = r.json()
stats = fx["rates"]["NORGES_SIGHT_DEPOSIT"]
print(stats["change"], stats["change_pct"], stats["high"], stats["low"])

Fluctuation — JavaScript

const url = "https://interestratesapi.com/api/v1/fluctuation?start=2025-10-14&end=2026-10-14&symbols=NORGES_SIGHT_DEPOSIT&api_key=YOUR_KEY";
const res = await fetch(url);
const fx = await res.json();
const s = fx.rates.NORGES_SIGHT_DEPOSIT;
console.log(s.change, s.change_pct, s.high, s.low);

Fluctuation — PHP

<?php
$url = "https://interestratesapi.com/api/v1/fluctuation?start=2025-10-14&end=2026-10-14&symbols=NORGES_SIGHT_DEPOSIT&api_key=YOUR_KEY";
$fx = json_decode(file_get_contents($url), true);
$s = $fx["rates"]["NORGES_SIGHT_DEPOSIT"];
echo $s["change"] . "," . $s["change_pct"] . "," . $s["high"] . "," . $s["low"];

Field notes:

  • change_pct is null if start_value is 0.
  • Use high and low to flag tightening vs. easing cycles in dashboards.

OHLC snapshots with /ohlc

The /ohlc endpoint computes open, high, low, close over your chosen period (monthly by default) from the underlying daily grid. For monthly policy rates, OHLC often shows identical values unless a decision occurred within the period.

OHLC — Python

import requests

params = {
"symbols": "NORGES_SIGHT_DEPOSIT",
"period": "monthly",
"start": "2025-10-14",
"end": "2026-10-14",
"api_key": "YOUR_KEY",
}
resp = requests.get("https://interestratesapi.com/api/v1/ohlc", params=params)
ohlc = resp.json()
rows = ohlc["rates"]["NORGES_SIGHT_DEPOSIT"]
for row in rows:
print(row["period"], row["open"], row["high"], row["low"], row["close"], row["data_points"])

OHLC — JavaScript

const url = "https://interestratesapi.com/api/v1/ohlc?symbols=NORGES_SIGHT_DEPOSIT&period=monthly&start=2025-10-14&end=2026-10-14&api_key=YOUR_KEY";
const res = await fetch(url);
const o = await res.json();
const rows = o.rates.NORGES_SIGHT_DEPOSIT;
rows.forEach(r => {
console.log(r.period, r.open, r.high, r.low, r.close, r.data_points);
});

OHLC — PHP

<?php
$url = "https://interestratesapi.com/api/v1/ohlc?symbols=NORGES_SIGHT_DEPOSIT&period=monthly&start=2025-10-14&end=2026-10-14&api_key=YOUR_KEY";
$data = json_decode(file_get_contents($url), true);
$rows = $data["rates"]["NORGES_SIGHT_DEPOSIT"] ?? [];
foreach ($rows as $r) {
echo "{$r['period']} {$r['open']} {$r['high']} {$r['low']} {$r['close']} ({$r['data_points']})\n";
}

Field notes:

  • data_points is the count of underlying daily observations in the period.
  • Use OHLC to visualize when intra-period changes happened (open ≠ close or low/high diverge).

Loan cost comparison with /convert (NORGES_SIGHT_DEPOSIT vs another rate)

The /convert endpoint compares simple loan interest costs using the latest rates for two symbols. This is useful for treasury and lending products that must benchmark costs against policy or interbank rates.

Convert — Python

import requests

params = {
"from": "NORGES_SIGHT_DEPOSIT",
"to": "ECB_MRO",
"amount": 100000,
"term_months": 12,
"api_key": "YOUR_KEY",
}
resp = requests.get("https://interestratesapi.com/api/v1/convert", params=params)
cmp = resp.json()
spread = cmp["difference"]["rate_spread"]
interest_saved = cmp["difference"]["interest_saved"]
print(spread, interest_saved)

Convert — JavaScript

const url = "https://interestratesapi.com/api/v1/convert?from=NORGES_SIGHT_DEPOSIT&to=ECB_MRO&amount=100000&term_months=12&api_key=YOUR_KEY";
const res = await fetch(url);
const cmp = await res.json();
console.log(cmp.difference.rate_spread, cmp.difference.interest_saved);

Convert — PHP

<?php
$url = "https://interestratesapi.com/api/v1/convert?from=NORGES_SIGHT_DEPOSIT&to=ECB_MRO&amount=100000&term_months=12&api_key=YOUR_KEY";
$data = json_decode(file_get_contents($url), true);
echo $data["difference"]["rate_spread"] . " " . $data["difference"]["interest_saved"];

How to compute a spread or payment yourself if needed:

  • Rate spread = rate_from − rate_to (both as percentage points, not decimals).
  • For a simple interest estimate: interest = principal × (annual_rate/100) × (term_months/12). Use the API’s returned rate directly.
  • For amortized monthly payments in your own tool: payment = P × r_m / (1 − (1 + r_m)^(−n)), where r_m = (annual_rate/100)/12 and n = term_months. Use the latest rate pulled from /latest.

/convert already applies a simple-loan model for a quick benchmark. If you need amortized schedules, combine /latest with your amortization logic, ensuring you use the effective date returned by the API for period alignment.

Operational details: dates, frequency, business days, and caching

  • Effective dates: For /latest, prefer the symbol-specific entry in the dates map to anchor valuations and audits.
  • Monthly frequency: NORGES_SIGHT_DEPOSIT is monthly; daily rows in /timeseries usually repeat the rate across business days until the next policy change.
  • Historical monthly handling: /historical selects the last day with data in the month of your requested date.
  • Business days: Weekends and holidays usually have no changes for policy rates. Your charts may omit non-business days or carry forward the value.
  • Caching: Cache /latest and /timeseries responses per symbol. Refresh on a schedule aligned to policy decision calendars, or use ETag/Last-Modified if exposed by your HTTP stack. Always verify the dates map before invalidating client caches.

Error handling and rate limits

Common errors include:

  • 401: missing or invalid api_key.
  • 403: account without active plan.
  • 404: no symbols matched or no data for your requested date/range; sometimes includes a details field with available ranges.
  • 422: validation error (e.g., bad date format, invalid symbol identifier).
  • 429: exhausted quota; observe Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers.

Guard your integrations by validating inputs, handling non-200 responses, and logging the error message string from the response body when success is false.

Practical use cases for NORGES_SIGHT_DEPOSIT

  • Rate dashboards: Combine /latest with /timeseries and /ohlc to visualize the policy path, periods of tightening or easing, and monthly summaries.
  • Lending and mortgage tools: Use /latest to price NOK-denominated products. If you benchmark to interbank rates, /convert gives quick deltas against another symbol for decision support.
  • Macro research and risk: /fluctuation quantifies rate cycles over windows you care about; /historical ensures point-in-time reproducibility.
  • Treasury ALM: Simulate interest expense sensitivity by pairing /timeseries of NORGES_SIGHT_DEPOSIT with your liability repricing schedule.

Full endpoint recap for quick copy/paste

  • Base URL: https://interestratesapi.com/api/v1/
  • Auth: ?api_key=YOUR_KEY (or YOUR_API_KEY for the official /latest sample)
  • HTTP method: GET for all endpoints

Explore docs and models at interestratesapi.com and the MCP. When you’re ready to build, grab an API key using the Register link.

How to compute spreads and payments from returned values

From /latest for NORGES_SIGHT_DEPOSIT:

  • Spread to another symbol S: spread_pp = latest[NORGES_SIGHT_DEPOSIT] − latest[S] (in percentage points). Display with two decimals.
  • Simple interest for term_months m on amount A: interest = A × (rate/100) × (m/12).
  • Amortized monthly payment: r_m = (rate/100)/12; payment = A × r_m / (1 − (1 + r_m)^(−m)).

These calculations should always use the rate as returned (percentage units) and the symbol’s effective date when aligning to accounting periods. If your app allows backtesting at specific dates, source inputs from /historical or /timeseries keyed to that day or month.

End-to-end example: building a small NOK policy-rate widget

Minimal flow:

  1. Call /latest for NORGES_SIGHT_DEPOSIT (cache response).
  2. Display rate, currency, and effective date. Show sparkline using /timeseries monthly-reduced data.
  3. Let users compare policy loan interest vs. ECB_MRO via /convert for a chosen amount and term.
  4. On details view, include /fluctuation and /ohlc summaries for the last 12 months.

All these calls are GET with ?api_key=YOUR_KEY and are safe to compose in parallel for responsiveness. If you queue periodic refresh jobs, align them to business hours in Oslo and known policy decision windows to minimize unnecessary fetches.

Where to go next

Integrate NORGES_SIGHT_DEPOSIT into your analytics and lending logic using the endpoints above. Start with the official /latest call, wire in comparisons via /convert, and enrich with /timeseries and /ohlc for charts. See the MCP and main site at interestratesapi.com. When you’re ready, Register for an API key and ship your integration. You can also visit Get started with Interest Rates API and read more at https://interestratesapi.com.

FAQ

Q: What does the NORGES_SIGHT_DEPOSIT value represent in the API?
A: It’s the Norges Bank sight deposit policy rate as an annual percentage. Use the symbol’s dates entry to determine when the rate was effective.

Q: How often does NORGES_SIGHT_DEPOSIT update?
A: It’s a monthly benchmark. The API may present daily rows that repeat the same value within a month until a policy change.

Q: How do I avoid overfetching?
A: Cache /latest and only refresh when the dates.NORGES_SIGHT_DEPOSIT changes. For charts, cache /timeseries by month and refresh on a fixed schedule.

Q: Which endpoint should I use to compare policy-rate loan costs?
A: Use /convert with from=NORGES_SIGHT_DEPOSIT, to=..., and your amount and term_months. It returns total interest, total payment, and spread.

Q: How do I handle rate limits and errors?
A: Check HTTP status codes, parse the JSON when success=false, and observe Retry-After and X-RateLimit-* headers on 429 responses.

Ready to get started?

Get your API key and start validating bank data in minutes.

Get API Key