BYTETOOLS

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.

No API key requiredHTTPSFree tier

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
curl 'https://api.riksbank.se/swea/v1/CrossRates/SEKUSDPMI/SEKEURPMI/2026-08-01'
JavaScript (fetch)
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);
Python (requests)
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())
Response — HTTP 200
[
  {
    "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

ParameterTypeRequiredDescription
seriesId1path segmentRequiredNumerator series id, for example `SEKUSDPMI` for the SEK/USD daily fixing. SEKUSDPMI
seriesId2path segmentOptionalDenominator series for a cross rate. Omit it to get the raw series against SEK. SEKEURPMI
fromDatepath segmentRequiredStart date in ISO format. Business days only are returned. 2026-08-01
toDatepath segmentOptionalEnd date. Defaults to the latest published observation. 2026-08-20
languageIdqueryOptional`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

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.