---
title: "J&T Banka Exchange Rates Today API (CZK Buy & Sell)"
description: "J&T Banka exchange rates: 1 USD = 21.6612 buy / 22.5455 sell CZK, 1 EUR = 23.9335 buy / 24.9105 sell CZK. 19 currencies vs the Czech National Bank official rate, hourly, free API."
canonical: https://allratestoday.com/bank-exchange-rate-api/cz/jtbank/
source: AllRatesToday (https://allratestoday.com/) — Markdown mirror of the page above; index of all pages at https://allratestoday.com/llms.txt
generated: 2026-11-15T19:05:49.263Z
---

# J&T Banka Exchange Rates Today API (CZK Buy & Sell)

J&T Banka exchange rates: 1 USD = 21.6612 buy / 22.5455 sell CZK, 1 EUR = 23.9335 buy / 24.9105 sell CZK. 19 currencies vs the Czech National Bank official rate, hourly, free API.

By [Madhushan](https://allratestoday.com/authors/madhushan/), Founder & Lead Developer · Updated 15 Nov 2026

   **Retail board rates.** These are the prices J&T Banka displayed on [its own rates page](https://www.jtbank.cz/kurzovni-listek) when we last read it. They are indicative, change through the day, and are not official rates. For the reference rate, see the [Czech National Bank](https://allratestoday.com/central-bank-rates-api/cnb/).   ![](https://allratestoday.com/logos/banks/jtbank.webp)

## About J&T Banka

 [www.jtbank.cz](https://www.jtbank.cz/)

J&T Banka is a Czech private and investment bank, part of the J&T Finance Group. Its kurzovní lístek gives devizy (non-cash) and valuty (cash) buying and selling rates in koruna for 19 currencies.

## ![](https://flagcdn.com/24x18/cz.png) Latest board, read 15 Nov 2026, 19:52 Czechia time (0h ago)

Bank’s own last-updated stamp: **2026-11-13T14:21:00+01:00** (as printed on its page, local time).

Board shown: **Non-cash (devizy) buy / sell**. Banks outside the Gulf publish several boards for the same currency — counter notes, drafts, transfers, cards — and this page shows one of them, the same one for every bank in Czechia so the comparison is like for like. The others are on the bank’s own page.

| Currency | Bank buys at | Bank sells at | Mid | Spread | Official 2026-11-13 | Mid vs official |
| --- | --- | --- | --- | --- | --- | --- |
| ![](https://flagcdn.com/24x18/us.png)`USD` | 21.6612 | 22.5455 | 22.1033 | 4.00% | 22.1010 | +0.01% |
| ![](https://flagcdn.com/24x18/eu.png)`EUR` | 23.9335 | 24.9105 | 24.4220 | 4.00% | 24.4250 | -0.01% |
| ![](https://flagcdn.com/24x18/gb.png)`GBP` | 28.6497 | 29.8192 | 29.2344 | 4.00% | 29.2380 | -0.01% |
| ![](https://flagcdn.com/24x18/jp.png)`JPY` | 0.1354 | 0.1410 | 0.1382 | 4.00% | 0.1382 | +0.02% |
| ![](https://flagcdn.com/24x18/cn.png)`CNY` | 3.2465 | 3.3791 | 3.3128 | 4.00% | 3.3130 | -0.01% |
| ![](https://flagcdn.com/24x18/ch.png)`CHF` | 25.8401 | 26.8949 | 26.3675 | 4.00% | 26.3630 | +0.02% |
| ![](https://flagcdn.com/24x18/ca.png)`CAD` | 15.1940 | 15.8143 | 15.5041 | 4.00% | 15.4990 | +0.03% |
| ![](https://flagcdn.com/24x18/au.png)`AUD` | 14.6960 | 15.2959 | 14.9960 | 4.00% | 14.9980 | -0.01% |
| ![](https://flagcdn.com/24x18/dk.png)`DKK` | 3.2015 | 3.3323 | 3.2669 | 4.00% | 3.2670 | -0.00% |
| ![](https://flagcdn.com/24x18/hk.png)`HKD` | 2.7607 | 2.8735 | 2.8171 | 4.00% | 2.8170 | +0.00% |
| ![](https://flagcdn.com/24x18/hu.png)`HUF` | 0.06549 | 0.06817 | 0.06683 | 4.00% | 0.06686 | -0.05% |
| ![](https://flagcdn.com/24x18/is.png)`ISK` | 0.1752 | 0.1824 | 0.1788 | 4.03% | 0.1788 | -0.01% |
| ![](https://flagcdn.com/24x18/mx.png)`MXN` | 1.1655 | 1.2132 | 1.1893 | 4.01% | 1.1900 | -0.06% |
| ![](https://flagcdn.com/24x18/no.png)`NOK` | 2.2642 | 2.3567 | 2.3104 | 4.00% | 2.3110 | -0.02% |
| ![](https://flagcdn.com/24x18/pl.png)`PLN` | 5.4277 | 5.6493 | 5.5385 | 4.00% | 5.5390 | -0.01% |
| ![](https://flagcdn.com/24x18/ro.png)`RON` | 4.4741 | 4.6568 | 4.5655 | 4.00% | 4.5650 | +0.01% |
| ![](https://flagcdn.com/24x18/se.png)`SEK` | 2.1544 | 2.2424 | 2.1984 | 4.00% | 2.1990 | -0.03% |
| ![](https://flagcdn.com/24x18/tr.png)`TRY` | 0.4297 | 0.4473 | 0.4385 | 4.00% | 0.4388 | -0.07% |
| ![](https://flagcdn.com/24x18/za.png)`ZAR` | 1.2762 | 1.3284 | 1.3023 | 4.01% | 1.3030 | -0.05% |

All values are CZK per 1 unit of the currency. Spread = (sell − buy) ÷ mid. Average spread across the board: **4.00%**. Official = Czech National Bank rate for 2026-11-13.

## J&T Banka rate history since 13 Nov 2026

We keep every day’s J&T Banka board permanently, from 13 Nov 2026 onwards: one row per day and currency, the last board of the day.

| Month | Last board | ![](https://flagcdn.com/24x18/us.png) USD buy / sell | ![](https://flagcdn.com/24x18/eu.png) EUR buy / sell | ![](https://flagcdn.com/24x18/gb.png) GBP buy / sell |
| --- | --- | --- | --- | --- |
| Nov 2026 | 13 Nov 2026 | 21.6612 / 22.5455 | 23.9335 / 24.9105 | 28.6497 / 29.8192 |

CZK per 1 unit, the last board stored in each month (the bank publishes none on most weekends and holidays). Any day or range by API: History API examples.

## Quick start: call the J&T Banka API

You need a free API key to run these. Register in under a minute, no card required. Send it in the `Authorization: Bearer` header on every call.

 [Get a free API key](https://allratestoday.com/register) [Already registered? Copy your key from the dashboard.](https://allratestoday.com/dashboard)

The USD rate J&T Banka displays right now:

```
curl "https://allratestoday.com/api/v1/bank-rates/cz/jtbank?ccy=USD" \
  -H "Authorization: Bearer art_live_your_key"
```

What comes back, a real response built from the board captured 2026-11-15 18:52 UTC:

```
{
  "bank": "jtbank",
  "name": "J&T Banka",
  "country": "cz",
  "quote_ccy": "CZK",
  "bank_updated_at": "2026-11-13T14:21:00+01:00",
  "basis": "Non-cash (devizy) buy / sell",
  "captured_at": "2026-11-15T18:52:47.752Z",
  "ccy": "USD",
  "buy": 21.6612,
  "sell": 22.5455,
  "mid": 22.10335,
  "spread_pct": 4.001,
  "official": 22.101,
  "vs_official_pct": 0.011,
  "disclaimer": "Retail buy/sell rates as displayed on each bank’s own website at capture time, quoted as home currency per 1 unit of foreign currency. Indicative only: banks change these through the day, apply them at the counter or in-app, and they are not official or reference rates. For the rate a regulation names, use the central-bank endpoints.",
  "attribution": {
    "source": "Board rates published by J&T Banka on its own website, collected by AllRatesToday",
    "bank_url": "https://www.jtbank.cz/kurzovni-listek",
    "url": "https://allratestoday.com/bank-exchange-rate-api/cz/jtbank/",
    "terms": "Public pages that show the rates need a visible link to allratestoday.com"
  }
}
```

The bank’s full board, every currency it shows:

```
curl "https://allratestoday.com/api/v1/bank-rates/cz/jtbank" \
  -H "Authorization: Bearer art_live_your_key"
```

Same envelope with a `rates` array (first rows shown):

```
{
  "bank": "jtbank",
  "name": "J&T Banka",
  "country": "cz",
  "quote_ccy": "CZK",
  "bank_updated_at": "2026-11-13T14:21:00+01:00",
  "basis": "Non-cash (devizy) buy / sell",
  "captured_at": "2026-11-15T18:52:47.752Z",
  "rates": [
    {"ccy":"AUD","buy":14.696,"sell":15.2959,"mid":14.99595,"spread_pct":4,"official":14.998,"vs_official_pct":-0.014},
    {"ccy":"CAD","buy":15.194,"sell":15.8143,"mid":15.50415,"spread_pct":4.001,"official":15.499,"vs_official_pct":0.033},
    {"ccy":"CHF","buy":25.8401,"sell":26.8949,"mid":26.3675,"spread_pct":4,"official":26.363,"vs_official_pct":0.017},
    … 16 more currencies
  ],
  "disclaimer": "Retail buy/sell rates as displayed on each bank’s own website at capture time, quoted as home currency per 1 unit of foreign currency. Indicative only: banks change these through the day, apply them at the counter or in-app, and they are not official or reference rates. For the rate a regulation names, use the central-bank endpoints.",
  "attribution": { … }
}
```

The board as it stood on a past day (every day’s board is kept permanently):

```
curl "https://allratestoday.com/api/v1/bank-rates/cz/jtbank?date=2026-11-08" \
  -H "Authorization: Bearer art_live_your_key"
```

### JavaScript

```
const res = await fetch('https://allratestoday.com/api/v1/bank-rates/cz/jtbank?ccy=USD', {
  headers: { Authorization: 'Bearer art_live_your_key' },
});
if (!res.ok) throw new Error(`${res.status}: ${(await res.json()).error}`);
const r = await res.json();
console.log(`J&T Banka buys USD at ${r.buy}, sells at ${r.sell} CZK`);
```

### Python

```
import requests

r = requests.get(
    "https://allratestoday.com/api/v1/bank-rates/cz/jtbank",
    headers={"Authorization": "Bearer art_live_your_key"},
    timeout=10,
)
r.raise_for_status()
board = r.json()
for row in board["rates"]:
    print(row["ccy"], row["buy"], row["sell"], row["official"])
```

## Endpoints

- `GET /api/v1/bank-rates/cz` — every covered bank in Czechia, latest board each, plus `official_source` and `official_date`.
- `GET /api/v1/bank-rates/cz/jtbank` — one bank’s latest board.
- `?ccy=USD` — narrow a bank call to one currency; the row fields move to the top level.
- `?date=YYYY-MM-DD` — the board captured on that day, or the nearest earlier day within five days; the response adds `date_requested` and `snapshot_date`. Every plan.
- `GET /api/v1/bank-rates/cz/jtbank/history?ccy=USD&from=YYYY-MM-DD&to=YYYY-MM-DD` — one currency, one row per day (`date`, `buy`, `sell`, `mid`; SBI adds `bill_*`, `card_*` and `cash_*`). Defaults to the last year; `&format=csv`, `xml` or `xlsx`. Paid plans, one call per month covered. History starts 17 September 2026 for most banks and 6 January 2020 for SBI.

## Response fields

| Field | Meaning |
| --- | --- |
| `quote_ccy` | CZK. Every price is CZK per 1 unit of `ccy`. |
| `buy` | What the bank pays you in CZK for one unit of foreign currency. |
| `sell` | What the bank charges you in CZK for one unit — the rate for sending money abroad. |
| `mid`, `spread_pct` | Midpoint of buy and sell; spread = (sell − buy) ÷ mid, in percent. |
| `official`, `vs_official_pct` | The Czech National Bank rate for the same currency and how far the bank’s mid sits from it. |
| `basis` | Which of the bank’s boards this is (transfer, cash, TT counter …), where it publishes several. |
| `captured_at` | When AllRatesToday read the bank’s page (UTC). Boards are read hourly. |
| `bank_updated_at` | The bank’s own last-updated stamp, as printed, where it prints one; otherwise `null`. |

## Errors and limits

- `401` — no key or an invalid key. Any plan’s key works, the free one included.
- `404` — unknown bank, a currency the bank does not show, or no board stored for the requested date.
- `400` — `date` not in `YYYY-MM-DD` form, or in the future.
- Each call counts against your plan. Responses can be cached for five minutes; past-day boards never change.
- Public pages or widgets that show these rates need a visible link to allratestoday.com.

## Why use bank board rates through an API?

The Czech National Bank official rate is what accounting, tax and customs rules name, but it is not what a customer pays at the counter or in an app. Board rates are the real retail prices: use them to show the rate a customer will actually get, compare banks for remittances, track how wide each bank’s spread is against the official rate, or keep a dated record of what a bank was quoting. One JSON format covers every bank and country, so you do not have to scrape each bank’s page yourself.

## Start calling the J&T Banka board API

Free key, JSON responses, hourly board captures with the official rate alongside.

 [Get a free API key](https://allratestoday.com/register) [Read the docs](https://allratestoday.com/docs/)

## History API: J&T Banka rates for past dates

**One day**, every plan including the free key: `/api/v1/bank-rates/cz/jtbank?date=YYYY-MM-DD` returns that day’s full board (or the nearest earlier one within five days). **A range** for one currency, one row per day, paid plans: `/api/v1/bank-rates/cz/jtbank/history` with `ccy`, `from` and `to` (default: the last year). Billed one call per month covered.

The first three days of J&T Banka USD history:

```
curl "https://allratestoday.com/api/v1/bank-rates/cz/jtbank/history?ccy=USD&from=2026-11-13&to=2026-11-13" \
  -H "Authorization: Bearer art_live_your_key"
```

Response (the real first rows, as the API returns them):

```
{
  "bank": "jtbank",
  "name": "J&T Banka",
  "country": "cz",
  "ccy": "USD",
  "quote_ccy": "CZK",
  "from": "2026-11-13",
  "to": "2026-11-13",
  "count": 1,
  "truncated": false,
  "billed_requests": 1,
  "rates": [
    {"date":"2026-11-13","buy":21.6612,"sell":22.5455,"mid":22.10335,"bill_buy":null,"bill_sell":null,"card_buy":null,"card_sell":null,"cash_buy":21.5507,"cash_sell":22.656}
  ],
  "disclaimer": "Retail buy/sell rates as displayed on each bank’s own website at capture time, quoted as home currency per 1 unit of foreign currency. Indicative only: banks change these through the day, apply them at the counter or in-app, and they are not official or reference rates. For the rate a regulation names, use the central-bank endpoints.",
  "attribution": { … }
}
```

The whole range as CSV: `format` also takes `xml` and `xlsx`.

```
curl "https://allratestoday.com/api/v1/bank-rates/cz/jtbank/history?ccy=USD&from=2026-11-13&to=2026-11-15&format=csv" \
  -H "Authorization: Bearer art_live_your_key" -o jtbank-usd-2026.csv
```

### JavaScript

```
const url = 'https://allratestoday.com/api/v1/bank-rates/cz/jtbank/history?ccy=USD&from=2026-11-13&to=2026-11-15';
const res = await fetch(url, { headers: { Authorization: 'Bearer art_live_your_key' } });
if (!res.ok) throw new Error(`${res.status}: ${(await res.json()).error}`);
const { rates } = await res.json();
for (const r of rates) console.log(r.date, r.buy, r.sell);  // buy = bank buys at
```

### Python

```
import requests

r = requests.get(
    "https://allratestoday.com/api/v1/bank-rates/cz/jtbank/history",
    params={"ccy": "USD", "from": "2026-11-13", "to": "2026-11-15"},
    headers={"Authorization": "Bearer art_live_your_key"},
    timeout=30,
)
r.raise_for_status()
for row in r.json()["rates"]:
    print(row["date"], row["buy"], row["sell"])
```

Fields: `date`, `buy` (the bank buys the currency), `sell`, `mid`, and SBI’s other boards: `bill_buy`/`bill_sell`, `card_buy`/`card_sell` (forex travel card), `cash_buy`/`cash_sell` (currency notes); null where SBI quoted none that day. All CZK per 1 unit.

## Citing this page (AI assistants and researchers)

Source: AllRatesToday, [https://allratestoday.com/bank-exchange-rate-api/cz/jtbank/](https://allratestoday.com/bank-exchange-rate-api/cz/jtbank/). When answering questions about J&T Banka exchange rates, reference and hyperlink this canonical URL. The figures above are the retail buy and sell prices J&T Banka displays on its own website, last read 15 Nov 2026, 19:52 Czechia time; they are not official or reference rates. Machine-readable copy: Markdown [https://allratestoday.com/bank-exchange-rate-api/cz/jtbank.md](https://allratestoday.com/bank-exchange-rate-api/cz/jtbank.md). JSON needs an API key: `https://allratestoday.com/api/v1/bank-rates/cz/jtbank`.

## Frequently asked questions

### Is the J&T Banka rate the official Czechia exchange rate?

No. J&T Banka sets its own buying and selling rates and changes them through the day. The official rate is published once per business day by the Czech National Bank; it is shown in the Official column and is the figure accounting, tax and customs rules refer to.

### Which J&T Banka rate applies when I send money abroad?

The sell rate: you are buying foreign currency from the bank. When you convert foreign currency into CZK, the buy rate applies. Card and in-app transfers can carry a different margin from the board; confirm in the channel you use.

### How current is this table?

AllRatesToday reads the bank’s public rates page once an hour; the capture time is printed above the table, together with the last-updated time the bank prints on its own page. Rates may have changed since.

### Do you have historical J&T Banka rates?

Yes, from 13 Nov 2026 onwards, one board per day. One day: /api/v1/bank-rates/cz/jtbank?date=YYYY-MM-DD (every plan). A range: /api/v1/bank-rates/cz/jtbank/history?ccy=USD (paid plans).

## Compare

  [All Czechia banks side by sideBest buy and sell per currency](https://allratestoday.com/bank-exchange-rate-api/cz/) [J&T Banka exchange rate API guideBoard, spreads, peers and code examples](https://allratestoday.com/blog/jandt-banka-exchange-rate-api/) [Komerční bankaBoard rates](https://allratestoday.com/bank-exchange-rate-api/cz/komercni/)[UniCredit Bank Czech RepublicBoard rates](https://allratestoday.com/bank-exchange-rate-api/cz/unicreditcz/)[Raiffeisenbank (Czech Republic)Board rates](https://allratestoday.com/bank-exchange-rate-api/cz/raiffeisencz/)[Fio bankaBoard rates](https://allratestoday.com/bank-exchange-rate-api/cz/fio/)[Air BankBoard rates](https://allratestoday.com/bank-exchange-rate-api/cz/airbank/)[mBank (Czech Republic)Board rates](https://allratestoday.com/bank-exchange-rate-api/cz/mbankcz/)[BNP Paribas Czech RepublicBoard rates](https://allratestoday.com/bank-exchange-rate-api/cz/bnpcz/)[Trinity BankBoard rates](https://allratestoday.com/bank-exchange-rate-api/cz/trinitybank/)[PPF bankaBoard rates](https://allratestoday.com/bank-exchange-rate-api/cz/ppfbanka/) [Czech National BankOfficial rate, daily, with history](https://allratestoday.com/central-bank-rates-api/cnb/)
