Riksbank SWEA API
Free Swedish central bank API with no key: official SEK exchange rates, cross rates and the policy rate, as authoritative daily time series. Tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the Riksbank SWEA API?
The Riksbank SWEA API is Sweden's central bank data API, free and requiring no key. It serves official Swedish krona exchange rates, cross rates between any two of its published series, and Swedish interest rates including the policy rate, as dated daily time series.
For anything involving Swedish krona, this is the authoritative source. The Riksbank sets and publishes the official reference rates, so figures here are the ones Swedish accounting and tax filings are expected to use — not an aggregated market rate that varies by provider. That distinction matters more than it sounds when a number ends up in a financial report.
The cross-rate endpoint is the clever part. Rather than only publishing rates against SEK, it will divide any two published series for you, so a SEK/USD series over a SEK/EUR series yields a EUR/USD rate computed from official Swedish data. Note also that the API returns business days only — weekends and Swedish public holidays are simply absent from the array rather than repeated, so never assume a contiguous date range.
Quick facts
- Base URL
https://api.riksbank.se/swea/v1- Authentication
- No API key for the SWEA v1 endpoints. Some newer Riksbank APIs on the developer portal require registration, but exchange rates and interest rates do not.
- Rate limit
- No published limit. The data updates once per business day, so polling more than daily serves no purpose.
- Pricing
- Free. Published as Swedish open government data.
- CORS
- Not enabled — call it from your server
- Official docs
- Read the docs
How to use the Riksbank SWEA API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. EUR/USD cross rate derived from official SEK series, from 1 August
GET https://api.riksbank.se/swea/v1/CrossRates/SEKUSDPMI/SEKEURPMI/2026-08-01
curl 'https://api.riksbank.se/swea/v1/CrossRates/SEKUSDPMI/SEKEURPMI/2026-08-01'const res = await fetch("https://api.riksbank.se/swea/v1/CrossRates/SEKUSDPMI/SEKEURPMI/2026-08-01");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.riksbank.se/swea/v1/CrossRates/SEKUSDPMI/SEKEURPMI/2026-08-01", timeout=20)
res.raise_for_status()
print(res.json())[
{
"date": "2026-08-03",
"value": 0.86693
},
{
"date": "2026-08-04",
"value": 0.86843
},
{
"date": "2026-08-05",
"value": 0.8655
},
{
"date": "2026-08-06",
"value": 0.8664
},
{
"date": "2026-08-07",
"value": 0.86693
},
{
"date": "2026-08-10",
"value": 0.86543
},
{
"date": "2026-08-11",
"value": 0.86655
},
{
"date": "2026-08-12",
"value": 0.86618
},
{
"date": "2026-08-13",
"value": 0.867
},
{
"date": "2026-08-14",
"value": 0.86453
},
{
"date": "2026-08-17",
"value": 0.86259
},
{
"date": "2026-08-18",
"value": 0.86386
},
{
"date": "2026-08-19",
"value": 0.8617
},
{
"date": "2026-08-20",
"value": 0.85609
}
]Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
seriesId1 | path segment | Required | Numerator series id, for example `SEKUSDPMI` for the SEK/USD daily fixing. SEKUSDPMI |
seriesId2 | path segment | Optional | Denominator series for a cross rate. Omit it to get the raw series against SEK. SEKEURPMI |
fromDate | path segment | Required | Start date in ISO format. Business days only are returned. 2026-08-01 |
toDate | path segment | Optional | End date. Defaults to the latest published observation. 2026-08-20 |
languageId | query | Optional | `en` or `sv`, affecting series names in metadata endpoints. en |
Response fields
datestring- Observation date in ISO 8601. Business days only — weekends and Swedish public holidays are omitted entirely, not carried forward.
valuefloat- The rate for that date. For a cross rate this is the first series divided by the second, computed by the Riksbank.
What you can build with the Riksbank SWEA API
- Convert invoices to SEK at the official rate for Swedish accounting
- Chart the SEK against the euro or dollar over time
- Track the Riksbank policy rate for economic reporting
- Derive a cross rate between two currencies from an authoritative central bank source
Common errors and how to fix them
400
Malformed date or unknown series id.
Fix: Dates must be in `YYYY-MM-DD` form. Call the series metadata endpoint to confirm ids — they follow a `SEK{CUR}PMI` pattern.
Empty array
The requested range contains no business days.
Fix: A range covering only a weekend returns nothing. Widen the range and take the last available observation.
404
The endpoint path is wrong.
Fix: SWEA paths are case-sensitive, including the capitalised CrossRates segment.
Riksbank SWEA API — frequently asked questions
Is the Riksbank API free?
Yes, the SWEA v1 exchange rate and interest rate endpoints are free with no API key. The data is published as Swedish open government data.
What is a cross rate in the Riksbank API?
A rate computed by dividing one published series by another. Because the Riksbank publishes everything against SEK, requesting the SEK/USD series over the SEK/EUR series gives you a EUR/USD rate derived entirely from official Swedish fixings.
Why are some dates missing from the response?
The Riksbank publishes on Swedish business days only. Weekends and Swedish public holidays are absent from the array rather than repeated with the previous value, so never index by day offset — always read the `date` field.
Are these rates suitable for accounting?
They are the official reference rates set by Sweden's central bank, which is what Swedish accounting and tax reporting expects. That makes them more appropriate for financial records than a market-aggregated rate, though they are fixings and not tradeable prices.
Tools that pair with this API
Unit Converter
Convert between units of length, weight, temperature, area, volume, speed, time and data storage instantly, with a swap button and common conversion tables.
Percentage Change Calculator
Work out the percentage increase or decrease between an old and a new value. See the absolute change and whether it went up or down, instantly and privately.
JSON to CSV Converter
Convert a JSON array of objects to CSV online. Automatic column headers from the union of all keys, delimiter choice and proper quoting — all in-browser.
Riksbank SWEA is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.