BYTETOOLS

Norges Bank API

Free Norges Bank API with no key: official Norwegian krone exchange rates, policy interest rates and government bond yields in SDMX-JSON. Tested example.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 20 Aug 2026

What is the Norges Bank API?

The Norges Bank API is a free, key-free official API from Norway's central bank providing krone exchange rates, the policy interest rate, government bond yields and other Norwegian monetary statistics.

As with the ECB, this is primary central bank data — the official reference rates used for Norwegian accounting rather than market mid-rates from a commercial aggregator.

It serves SDMX-JSON, the international statistical exchange standard, which separates observations from their dimension labels. That makes the response structure unfamiliar: you join positional observation keys against a structure block to recover dates and currencies.

Quick facts

Base URL
https://data.norges-bank.no/api/data
Authentication
No API key required.
Rate limit
No published hard limit; fair use expected.
Pricing
Free official central bank data.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the Norges Bank API

Every request below was executed against the live API on 20 Aug 2026, and the response shown is the real body it returned — not an illustration.

1. Fetch the official USD/NOK rate

GET https://data.norges-bank.no/api/data/EXR/B.USD.NOK.SP?format=sdmx-json&lastNObservations=1

curl
curl 'https://data.norges-bank.no/api/data/EXR/B.USD.NOK.SP?format=sdmx-json&lastNObservations=1'
JavaScript (fetch)
const res = await fetch("https://data.norges-bank.no/api/data/EXR/B.USD.NOK.SP?format=sdmx-json&lastNObservations=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://data.norges-bank.no/api/data/EXR/B.USD.NOK.SP?format=sdmx-json&lastNObservations=1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "meta": {
    "id": "IREF083835",
    "prepared": "2026-08-20T06:46:22",
    "test": false,
    "datasetId": "7c209ca8-f358-4d8b-8186-5a6c09f6a5ac",
    "sender": {
      "id": "Unknown"
    },
    "receiver": {
      "id": "guest"
    },
    "links": [
      {
        "rel": "self",
        "href": "/data/EXR/B.USD.NOK.SP?format=sdmx-json&lastNObservations=1",
        "uri": "https://raw.githubusercontent.com/sdmx-twg/sdmx-json/develop/data-message/tools/schemas/1.0/sdmx-json-data-schema.json"
      }
    ]
  },
  "data": {
    "dataSets": [
      {
        "links": [
          {
            "rel": "dataflow",
            "urn": "urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=NB:EXR(1.0)"
          }
        ],
        "reportingBegin": "2026-08-19T00:00:00",
        "reportingEnd": "2026-08-19T23:59:59",
        "action": "Information",
        "series": {
          "0:0:0:0": {
            "attributes": [
              0,
              0,
              0,
              0
            ],
            "observations": {
              "0": [
                "9.4016"
              ]
            }
          }
        }
      }
    ],
    "structure": {
      "links": [
        {
          "rel": "dataflow",
          "urn": "urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=NB:EXR(1.0)"
        },
        {
          "rel": "datastructure",
          "urn": "urn:sdmx:org.sdmx.infomodel.datastructure.DataStructure=NB:DSD_EXR(1.0)"
        }
      ],
      "name": "Exchange rates",
      "names": {
        "en": "Exchange rates",
        "no": "Valutakurser"
      },

Parameters

ParameterTypeRequiredDescription
EXR/<key>pathRequiredDataset and dot-separated series key. EXR/B.USD.NOK.SP
formatstringRequiredsdmx-json or csv. sdmx-json
lastNObservationsintegerOptionalReturn only the most recent N points. 1
startPeriod / endPeriodstringOptionalDate range. 2026-01-01

Response fields

metaobject
Response metadata including preparation time and dataset id.
data.dataSets[].seriesobject
Observations keyed positionally, not by name.
data.structures[].dimensionsobject
Labels needed to interpret the positional keys.
data.structures[].dimensions.observationarray
Time periods for each observation index.

What you can build with the Norges Bank API

  • Convert to Norwegian krone using official rates
  • Chart Norwegian policy interest rates over time
  • Support Norwegian accounting and compliance reporting
  • Analyse Nordic monetary policy at source

Common errors and how to fix them

Positional observation keys

SDMX separates values from labels.

Fix: Join dataSets[].series against structures[].dimensions to map keys to dates and currencies.

404 on the series key

Series keys are strict dot-separated dimension codes.

Fix: Use the query builder on Norges Bank's site to construct valid keys — B.USD.NOK.SP is the daily USD rate.

Empty observations

No data for that period.

Fix: Rates publish on working days; weekends and Norwegian holidays have no observation.

Norges Bank API — frequently asked questions

Is the Norges Bank API free?

Yes, completely free with no API key. It is Norway's central bank official data service.

Why is the response structure so unusual?

It uses SDMX-JSON, the international statistical standard. Observations are keyed positionally and joined against a separate dimensions structure to recover dates and labels.

How do I find the right series key?

Use the query builder on Norges Bank's website. B.USD.NOK.SP is the daily US dollar spot rate against the krone.

Should I use this or a commercial FX API?

Use Norges Bank when you need officially recognised rates for Norwegian accounting. A commercial API is simpler for general display purposes.

Tools that pair with this API

Alternatives to Norges Bank API

If Norges Bank does not fit, these finance & crypto apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.

APIWhat it doesAuthCORSLast verified
CoinGeckoFree cryptocurrency price API covering 10,000+ coins. Live prices, market cap and volume in any currency, no API key on the public tier. Tested curl example.No keyYes19 Aug 2026
Binance Public APIBinance public market data API needs no API key: live ticker prices, order books, klines and 24h stats for every trading pair. Tested curl example and response.No keyYes19 Aug 2026
Coinbase Exchange RatesCoinbase public exchange rates API with no key: convert any cryptocurrency to 100+ fiat currencies in a single request. Tested curl example and live JSON.No keyYes19 Aug 2026
FrankfurterFree currency exchange rate API with no key, built on European Central Bank data. Latest and historical rates, time series and conversion. Tested curl example.No keyYes19 Aug 2026
New York Fed Reference RatesFree New York Fed markets API with no key: SOFR, EFFR, OBFR, TGCR and BGCR reference rates with volumes and percentiles, plus the SOFR averages and index. Tested example.No keyYes21 Aug 2026
Octopus Energy ProductsFree Octopus Energy REST API with no key for public data: every published tariff, its unit rates and standing charges, including half-hourly Agile prices. Tested example.No keyYes21 Aug 2026
All Finance & Crypto APIs

Norges Bank is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 20 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.