---
name: norges-bank-open-data-ingestion
description: "How to get Norges Bank Open Data API data into a pandas DataFrame and Parquet: access, the request, the format, limits, quirks and terms."
---

# Load Norges Bank USD/NOK rates into pandas and Parquet

Source entry: https://signal-lab-jet.vercel.app/datasets/norges-bank-open-data
Provider: https://www.norges-bank.no/en/topics/Statistics/open-data/guide-data-warehouse/
Checked against the provider's documentation: 2026-11-01

## Access
- No account or key. The REST endpoint returns a CSV file when format=csvfile.

## Request
```bash
curl 'https://data.norges-bank.no/api/data/EXR/B.USD.NOK.SP?format=csvfile&startPeriod=2026-10-01&endPeriod=2026-10-31&locale=en'
```

## Format
CSV observations with SDMX dimension codes for frequency, base and quote currencies, tenor, decimals, unit multiplier and collection, followed by TIME_PERIOD and OBS_VALUE.

## Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
```python
"""Norges Bank USD/NOK business-day rates for October 2026 -> Parquet. No key."""
import io
import requests
import pandas as pd

URL = "https://data.norges-bank.no/api/data/EXR/B.USD.NOK.SP"
params = {
    "format": "csvfile",
    "startPeriod": "2026-10-01",
    "endPeriod": "2026-10-31",
    "locale": "en",
}
r = requests.get(URL, params=params, timeout=60)
r.raise_for_status()
df = pd.read_csv(io.StringIO(r.text))
df["TIME_PERIOD"] = pd.to_datetime(df["TIME_PERIOD"])
df.to_parquet("norges_bank_usd_nok_oct_2026.parquet", index=False)
print(len(df), "rates", df["TIME_PERIOD"].min().date(), "to", df["TIME_PERIOD"].max().date(), "latest", df.iloc[-1]["OBS_VALUE"])
```
Run by us on 2026-11-01 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 22 rates 2026-10-01 to 2026-10-30 latest 9.2302

## Limits
- Rate limit: Not stated.
- No response-size cap is stated on the checked provider pages.
- Coverage and observation frequency vary by dataflow and series.

## Quirks
- format=csv is semicolon-delimited and includes labels; format=csvfile is comma-delimited and code-only.
- Business-day series omit weekends and other non-publication dates.
- Keep the SDMX dimension columns because units and collection methods can differ across series.

## Terms and attribution
- Quote Norges Bank as the source when copying material.
- The provider says no changes may be made in the contents and disclaims liability for errors, omissions and misleading information.
- Terms page: https://www.norges-bank.no/en/disclaimer/

## Sources
- https://www.norges-bank.no/en/topics/Statistics/open-data/: "Norges Bank's API for open data offers programmatic access to selected datasets published by the bank."
- https://www.norges-bank.no/en/topics/Statistics/open-data/guide-data-warehouse/: "It is also possible to extract time series from the API in Excel and CSV file format."
- https://www.norges-bank.no/en/disclaimer/: "copies – both electronic and paper-based – may be made of material on this website, provided that Norges Bank is quoted as the source."

## Help improve this skill
Missing a source, or see something to improve? Call the MCP tool suggest_source or feedback (or POST /api/suggest or /api/feedback). Reviewed ideas: https://signal-lab-jet.vercel.app/agent-suggestions

Information for educational purposes only. Free tiers, limits and licenses belong to the providers and may change; check the provider's own terms before using the data.
