---
name: riksbank-swea-api-ingestion
description: "How to get Sveriges Riksbank SWEA API data into a pandas DataFrame and Parquet: access, the request, the format, limits, quirks and terms."
---

# Load latest Riksbank exchange rates into pandas and Parquet

Source entry: https://signal-lab-jet.vercel.app/datasets/riksbank-swea-api
Provider: https://www.riksbank.se/en-gb/statistics/interest-rates-and-exchange-rates/retrieving-interest-rates-and-exchange-rates-via-api/faq--the-api-for-interest-rates-and-exchange-rates/
Checked against the provider's documentation: 2026-11-01

## Access
- No account or key at the anonymous limits of 5 calls per minute and 1,000 per day.
- A free API-portal registration provides a subscription key for higher limits.

## Request
```bash
curl 'https://api.riksbank.se/swea/v1/Observations/Latest/ByGroup/130'
```

## Format
JSON array with seriesId, date and value for the latest available observation in each series in exchange-rate group 130.

## Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
```python
"""Riksbank latest exchange-rate group -> pandas -> Parquet. No key."""
import requests
import pandas as pd

URL = "https://api.riksbank.se/swea/v1/Observations/Latest/ByGroup/130"
r = requests.get(URL, timeout=60)
r.raise_for_status()
df = pd.DataFrame(r.json())
df["date"] = pd.to_datetime(df["date"])
df.to_parquet("riksbank_latest_exchange_rates.parquet", index=False)
print(len(df), "latest rates", df["date"].min().date(), "to", df["date"].max().date())
```
Run by us on 2026-11-01 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 53 latest rates 2002-02-28 to 2026-10-30

## Limits
- Anonymous rate limit: 5 calls per minute and 1,000 calls per day.
- Registered-key limit: 200 calls per minute and 30,000 calls per week, with stated exceptions for group-observation methods.
- Dates in the latest-by-group response are each series' latest available date and need not match.

## Quirks
- The latest group response can mix current and closed series, so the returned dates span many years.
- Exchange rates are indicative and not intended for transactional use.
- Use the Series endpoint to obtain descriptions, source, group and observation minimum and maximum dates.

## Terms and attribution
- Open data may be reused without special consent or agreement.
- For unprocessed data, name Sveriges Riksbank and the date; do not state Sveriges Riksbank as source after processing the statistics.
- Do not represent a service as an official Riksbank collaboration or partnership.
- Terms page: https://www.riksbank.se/en-gb/about-the-riksbank/about-the-website/open-data--information-available-for-re-use/

## Sources
- https://www.riksbank.se/en-gb/statistics/interest-rates-and-exchange-rates/retrieving-interest-rates-and-exchange-rates-via-api/faq--the-api-for-interest-rates-and-exchange-rates/: "We have a limit on the number of calls from the same IP address within a certain time span (5 calls per minute and max 1000 calls per day)."
- https://www.riksbank.se/en-gb/statistics/interest-rates-and-exchange-rates/retrieving-interest-rates-and-exchange-rates-via-api/faq--the-api-for-interest-rates-and-exchange-rates/: "As a registered user in the API portal, you can call our API 200 times per minute with a ceiling of 30,000 calls per week"
- https://www.riksbank.se/en-gb/about-the-riksbank/about-the-website/open-data--information-available-for-re-use/: "The Riksbank's open data is freely available and may be further used without any special consent or agreement being required."

## 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.
