SourceFinch Verified · Exchange rates
Czech koruna exchange rate fixing, daily
The Czech National Bank's daily exchange rates of the Czech koruna against about 30 commonly traded currencies, one record per currency with the date, amount and rate in koruna.
- Healthy · 100% of observed runs successful
- Exchange rates
- Czech National Bank
- Czech Republic
- Publisher's public API
- 7 typed fields
Monitor this sourceAPI, CLI, SDK and MCP
Part of: Exchange-rate desk
At a glance
- Publisher
- Czech National Bank · homepage
- Category
- Exchange rates
- Jurisdiction
- Czech Republic
- Publisher updates
- Each working day at around 2.30 p.m. CET
- SourceFinch checks
- Daily by default
- Records per run
- 30 in the latest run
- Record key
currency_code- Acquired from
- Publisher's public API:
https://api.cnb.cz/cnbapi/exrates/daily?lang=EN - Recipe
- v1.0.0, approved October 12, 2026
- Verified since
- October 12, 2026
- Last green run
- October 12, 2026
What the data contains
The Czech National Bank declares exchange rates of the Czech koruna against commonly traded currencies every working day at around 2.30 p.m.; each rate is valid for that day and any following weekend or public holiday. The CNB publishes the fixing through its keyless CNB API. This source reads the current fixing on each daily run and makes one record per currency, keyed by the ISO currency code, with the country, currency name, the amount the rate refers to (1, 100 or 1,000 units), the rate in koruna for that amount, the date it is valid for and the CNB's running fixing number for the year. A monitor reports each new fixing per currency. The data describes exchange rates and contains no personal data. SourceFinch is independent of the CNB.
Fields and types
Every record has these fields. The key field currency_code identifies a record across runs, so changes are reported field by field.
| Field | Type | Description |
|---|---|---|
currency_codekey | string | ISO 4217 code of the foreign currency. The record key. |
valid_for | date, nullable | Date the declared rate is valid for (YYYY-MM-DD); it also applies to any following weekend or public holiday. |
fixing_number | integer, nullable | The CNB's running number of the fixing within the year. |
country | string, nullable | Country or area of the currency, as the CNB names it (for example EMU for the euro). |
currency | string, nullable | Name of the currency in English. |
amount | integer, nullable | Number of currency units the rate refers to (1, 100 or 1,000). |
rate | number | Czech koruna per the stated amount of the foreign currency. |
Sample output
The first 5 of 30 records from SourceFinch's own run on October 12, 2026, exactly as delivered.
| Field | Record 1 | Record 2 | Record 3 | Record 4 | Record 5 |
|---|---|---|---|---|---|
currency_code | AUD | BRL | CAD | CNY | DKK |
valid_for | 2026-10-12 | 2026-10-12 | 2026-10-12 | 2026-10-12 | 2026-10-12 |
fixing_number | 196 | 196 | 196 | 196 | 196 |
country | Australia | Brazil | Canada | China | Denmark |
currency | dollar | real | dollar | renminbi | krone |
amount | 1 | 1 | 1 | 1 | 1 |
rate | 15.212 | 4.369 | 15.293 | 3.259 | 3.263 |
Sample as JSON
[
{
"rate": 15.212,
"amount": 1,
"country": "Australia",
"currency": "dollar",
"valid_for": "2026-10-12",
"currency_code": "AUD",
"fixing_number": 196
},
{
"rate": 4.369,
"amount": 1,
"country": "Brazil",
"currency": "real",
"valid_for": "2026-10-12",
"currency_code": "BRL",
"fixing_number": 196
},
{
"rate": 15.293,
"amount": 1,
"country": "Canada",
"currency": "dollar",
"valid_for": "2026-10-12",
"currency_code": "CAD",
"fixing_number": 196
},
{
"rate": 3.259,
"amount": 1,
"country": "China",
"currency": "renminbi",
"valid_for": "2026-10-12",
"currency_code": "CNY",
"fixing_number": 196
},
{
"rate": 3.263,
"amount": 1,
"country": "Denmark",
"currency": "krone",
"valid_for": "2026-10-12",
"currency_code": "DKK",
"fixing_number": 196
}
]Evidence behind every value
- Each run keeps the publisher's exact response, hashed with SHA-256. This sample came from a response with hash
619e5ed6175c2b98d1ec15ce0256ae6e025fe0a0313b1fee5d3d1ea12d32f084. - Every value records where it came from in that response: a JSON Pointer into the retained capture.
- Each run gets a signed manifest (Ed25519) timestamped by an RFC 3161 authority: this run's manifest hash is
0bda95f5344a2ec7994e5d4ac248700428241439c68d1b6ae47a8d1c372805e7, timestamped October 12, 2026. - The compliance state at capture is recorded with the evidence: robots.txt hash and verdict, AI-preference signals, crawler identity and the usage rights below.
- Download any run as an evidence bundle (WACZ) and check it offline, without trusting SourceFinch:
sourcefinch verify-bundle run.wacz.
Terms posture and usage rights
- Terms
- Automated access permitted · publisher's terms
- robots.txt
- None published (HTTP 404); access allowed under RFC 9309
- AI-preference signals
- None observed at review
- Public record
- No
- Reviewed
- October 12, 2026; next review April 12, 2027
- Licence basis
- Publisher's terms of use
- Commercial use
- Allowed
- Redistribution
- Allowed with conditions
- Attribution
- Required (text below)
The Czech National Bank's disclaimer and copyright notice lets users store, distribute and reproduce all of its internet information except texts with a named author and images whose copyright the CNB does not own, provided the CNB is always stated as the source (Source: the CNB) and the content is not altered or its meaning changed; the CNB logo may not be used without approval. api.cnb.cz serves no robots.txt (HTTP 404), which RFC 9309 treats as allowing access, and the API needs no key.
Source: the CNB (Czech National Bank exchange rate fixing), values unaltered and reformatted by SourceFinch. SourceFinch is independent of and not endorsed by the Czech National Bank.
Usage rights travel with every record SourceFinch delivers (API, exports, webhooks and evidence bundles). They are our documented understanding of the publisher's stated terms, not legal advice.
Reliability
- Runs, last 30 days
- 1
- Green
- 100%
- Failed
- 0
- Median run time
- 1.3 s
- Latest run
- success, October 12, 2026
Measured on completed runs of this recipe version across SourceFinch, anonymized, within a rolling 30-day window. First successful observation: October 12, 2026. A new recipe has only the history collected since that date; this is not a 30-day uptime guarantee.
Use it
Every surface creates the same monitor from this Verified recipe. Monitors keep record history, report field-level changes and deliver by webhook, export or email. You confirm you have the right to collect the source (rights: true).
Console
Open this recipe in the console: it preserves the reviewed URL, fields and record key. Review the latest captured sample, confirm source rights, and choose a schedule before creating your monitor.
Portable recipe
Copy into the console's Import or share a recipe panel to customize fields, types and schedules. This configuration contains no captured records or workspace IDs.
{
"schema": "sourcefinch/source@1",
"name": "Czech koruna exchange rate fixing, daily",
"url": "https://api.cnb.cz/cnbapi/exrates/daily?lang=EN",
"recipe": {
"mode": "http",
"format": "json",
"items": "rates[*]",
"fields": {
"rate": "rate",
"amount": "amount",
"country": "country",
"currency": "currency",
"valid_for": "validFor",
"currency_code": "currencyCode",
"fixing_number": "order"
},
"required": [
"currency_code",
"rate"
],
"types": {
"amount": "integer",
"fixing_number": "integer",
"rate": "number",
"valid_for": "date"
}
},
"schedule": "daily",
"key_field": "currency_code"
}source.json
The request body used by the API, CLI and SDK examples.
{
"name": "Czech koruna exchange rate fixing, daily",
"url": "https://api.cnb.cz/cnbapi/exrates/daily?lang=EN",
"recipe": {
"mode": "http",
"format": "json",
"items": "rates[*]",
"fields": {
"rate": "rate",
"amount": "amount",
"country": "country",
"currency": "currency",
"valid_for": "validFor",
"currency_code": "currencyCode",
"fixing_number": "order"
},
"required": [
"currency_code",
"rate"
],
"types": {
"rate": "number",
"amount": "integer",
"valid_for": "date",
"fixing_number": "integer"
}
},
"key_field": "currency_code",
"schedule": "daily",
"rights": true,
"catalog": {
"slug": "czech-national-bank-koruna-exchange-rates",
"version_id": "f27dd921-460c-4ea0-878e-0893ba42ccea"
}
}REST API
Create an API key under Console → API keys. Reference: /docs/api.
# the Verified entry (fields, recipe, sample, terms) as JSON
curl https://sourcefinch.com/v1/catalog/czech-national-bank-koruna-exchange-rates -H "Authorization: Bearer $SOURCEFINCH_API_KEY"
# create the monitor from source.json (below)
curl -X POST https://sourcefinch.com/v1/sources \
-H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d @source.json
# then run it now (later runs follow the schedule)
curl -X POST https://sourcefinch.com/v1/sources/$SOURCE_ID/runs \
-H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"CLI
The sourcefinch CLI is not on npm yet; see /docs/cli.
sourcefinch login
sourcefinch catalog get czech-national-bank-koruna-exchange-rates --source-json > source.json
sourcefinch sources create --file source.json
sourcefinch runs create $SOURCE_ID --wait
sourcefinch records $SOURCE_IDTypeScript SDK
The SDK is not on npm yet; see /docs/sdk.
import { SourceFinch } from "@sourcefinch/sdk";
const sf = new SourceFinch({ apiKey: process.env.SOURCEFINCH_API_KEY });
const entry = await sf.catalog.get("czech-national-bank-koruna-exchange-rates");
const source = await sf.sources.create({
catalog: { slug: entry.slug, version_id: entry.recipe.version_id },
name: entry.name.slice(0, 100),
url: entry.acquisition_path.endpoint,
recipe: entry.recipe.definition,
key_field: entry.recipe.key_field,
schedule: entry.recipe.schedule,
rights: true, // you confirm you have the right to collect this source
});
const run = await sf.runs.wait((await sf.runs.create(source.id)).id);
console.log(run.status);MCP
Remote MCP server with OAuth; see /docs/mcp.
claude mcp add --transport http sourcefinch https://sourcefinch.com/mcp
# then ask your agent:
"Use SourceFinch to monitor Czech koruna exchange rate fixing, daily: get_catalog_source czech-national-bank-koruna-exchange-rates,
then create_source with its create_source_args (dry run first), then run_source."Pricing
Each check is one run, whatever the number of records, and failed runs are free. On its default daily schedule this source uses about 30 runs a month, which fits the Free plan's 300 runs. It uses HTTP acquisition, so no browser runs are needed. See plans.
Guides using this source
Related sources
More from Czech National Bank and in exchange rates.
SourceFinch is independent and is not affiliated with or endorsed by Czech National Bank. This page describes czech koruna exchange rate fixing, daily as SourceFinch acquires it.