Czech National Bank

Finance · No API Key Required · Czech Republic · European Union

TL;DR

What it does: Official daily exchange rates from the Czech National Bank (CNB). All rates in CZK (Czech koruna) in JSON format. Updated every working day after the Prague fixing.

Quick start: curl "https://api.cnb.cz/cnbapi/exrates/daily"

No API key needed - just call the URL

Overview

The Czech National Bank (Česká národní banka) provides official exchange rates for the Czech koruna (CZK) through a free JSON API. This is the authoritative source for forex rates used by banks, businesses, and accounting systems across the Czech Republic and Central Europe. The API covers major global currencies including EUR, USD, GBP, CHF, and many regional currencies like PLN, HUF, and RON. As the central bank of Czechia (an EU member state), CNB publishes rates daily after the foreign exchange market fixing in Prague. All rates are expressed in CZK with an optional amount multiplier for currencies where the raw rate would be very small.

Live Example

Here's the exact URL to call and the real response you'll get:

The URL to call:

https://api.cnb.cz/cnbapi/exrates/daily
Try This URL Now →

The actual response you get:

{
  "rates": [
    {"validFor":"2026-06-12","country":"Austrálie","currency":"dolar","amount":1,"currencyCode":"AUD","rate":14.705},
    {"validFor":"2026-06-12","country":"EMU","currency":"euro","amount":1,"currencyCode":"EUR","rate":24.170},
    {"validFor":"2026-06-12","country":"Kanada","currency":"dolar","amount":1,"currencyCode":"CAD","rate":14.938},
    {"validFor":"2026-06-12","country":"Polsko","currency":"zlotý","amount":1,"currencyCode":"PLN","rate":5.690},
    {"validFor":"2026-06-12","country":"Švýcarsko","currency":"frank","amount":1,"currencyCode":"CHF","rate":26.224},
    {"validFor":"2026-06-12","country":"USA","currency":"dolar","amount":1,"currencyCode":"USD","rate":20.894},
    {"validFor":"2026-06-12","country":"Velká Británie","currency":"libra","amount":1,"currencyCode":"GBP","rate":28.000},
    {"validFor":"2026-06-12","country":"Japonsko","currency":"jen","amount":100,"currencyCode":"JPY","rate":13.043},
    {"validFor":"2026-06-12","country":"Maďarsko","currency":"forint","amount":100,"currencyCode":"HUF","rate":6.848}
  ]
}

What does this data mean?

The CNB API returns a JSON array of exchange rates. Here's what each field means, using the EUR and JPY rates as examples:

validFor
Date these rates are valid for: 2026-06-12 (updated each working day in Prague)
country
Country or region name in Czech: EMU (Eurozone), USA, Japonsko (Japan)
currency
Local currency name in Czech: euro, dolar, jen (yen), koruna, libra
currencyCode
ISO 4217 currency code: EUR, USD, JPY, GBP, CHF, PLN, HUF
amount
How many units the rate is for: 1 for most currencies, but 100 for JPY, HUF, PHP, etc. So 100 JPY = 13.043 CZK (about 0.13 CZK per yen)
rate
The exchange rate in CZK. For EUR with amount=1: 1 EUR = 24.170 CZK. For JPY with amount=100: 100 JPY = 13.043 CZK

How to use this API

JavaScript Example

fetch('https://api.cnb.cz/cnbapi/exrates/daily')
  .then(res => res.json())
  .then(data => {
    data.rates.forEach(rate => {
      console.log(`${rate.currencyCode}: ${rate.rate} CZK (per ${rate.amount})`);
    });
  });

Python Example

import requests

url = "https://api.cnb.cz/cnbapi/exrates/daily"
response = requests.get(url)
data = response.json()

for rate in data['rates']:
    print(f"{rate['currencyCode']}: {rate['rate']} CZK (per {rate['amount']})")

cURL Example

curl "https://api.cnb.cz/cnbapi/exrates/daily" | jq '.rates[] | {code: .currencyCode, rate: .rate, amount: .amount}'

Frequently Asked Questions

Is the CNB exchange rate API free?
Yes, the Czech National Bank provides this data for free with no registration or API key required. The JSON endpoint at api.cnb.cz is publicly accessible.
How often are rates updated?
Every working day (Monday to Friday) after the foreign exchange fixing in Prague, typically around 11:00 AM local time. Weekend and public holiday rates reflect the last available working day.
What is the base currency?
All rates are in CZK (Czech koruna). For example, 1 EUR = 24.170 CZK. Some currencies use an amount multiplier (e.g., 100 JPY) for cleaner numbers.
What currencies are available?
Over 30 currencies including EUR, USD, GBP, CHF, JPY, AUD, CAD, SEK, NOK, DKK, PLN, HUF, RON, TRY, CNY, KRW, INR, and others relevant to the Czech and Central European economy.
Why do some currencies have amount > 1?
For currencies with very small per-unit values (like JPY, HUF, KRW), the rate is quoted per 100 or 1000 units to provide a more readable number. Always check the amount field.
Can I use this commercially?
Yes. CNB data is public and free to use for any purpose. Many Czech banks, e-shops, and accounting software rely on these official daily rates.

API Details

Base URL
https://api.cnb.cz/cnbapi/exrates/daily
Documentation
cnb.cz
Category
Finance
Authentication
None required - completely free and open
Geographic Coverage
Czech Republic (Prague), European Union, global currencies - over 30 currencies quoted against CZK
Rate Limit
No strict limit advertised, but be reasonable with frequent polling. Rates only change once per working day.
CORS
Enabled - works directly from browser fetch calls