CN

CNB

czech API

CNB

Type: company
Module: Cnb

Capabilities

Regulated Entity Lookup License Verification Exchange Rate Data Financial Institution Registry Supervisory Decisions AML Obligated Entities

Try CNB

API Endpoint

Results

Overview

CNB (Ceska narodni banka -- Czech National Bank) is the central bank of the Czech Republic and the primary financial market supervisor responsible for maintaining price stability, overseeing the financial system, and regulating all financial market participants operating within Czech jurisdiction. Established in 1993 following the dissolution of Czechoslovakia, CNB exercises comprehensive supervisory authority over banks, credit unions, insurance companies, pension funds, investment firms, payment institutions, electronic money issuers, and foreign exchange offices.

For OSINT analysts, compliance professionals, and due diligence investigators, CNB registries represent the authoritative source for verifying the regulatory status of financial entities operating in the Czech Republic. The CNB maintains public registries (seznamy regulovanych a registrovanych subjektu) that enumerate every entity authorized to conduct financial activities, the scope of their permitted operations, and any supervisory actions taken against them. This data is essential for KYC (Know Your Customer) verification, AML (Anti-Money Laundering) compliance, counterparty risk assessment, and financial crime investigation.

The CNB's ARAD (Automatizovany RADa) database system provides comprehensive economic and financial statistics covering monetary policy, banking sector performance, balance of payments, financial market data, and real sector indicators. The ARAD system contains over 5,000 time series updated on schedules ranging from daily (exchange rates) to annual (structural statistics), making it one of the most comprehensive economic data repositories for any Central European economy.

Beyond its regulatory and statistical functions, CNB plays a critical role in the Czech AML/CFT framework. It maintains the list of obligated entities under Act No. 253/2008 Sb. (the Czech AML Act), conducts supervisory inspections, and publishes enforcement decisions. CNB supervisory decisions -- including fines, license revocations, and administrative proceedings -- are published and provide valuable intelligence for assessing the compliance posture and operational integrity of regulated entities.

The CNB also manages the Czech Republic's position in international financial organizations, participates in European Systemic Risk Board (ESRB) activities, and coordinates with the European Central Bank (ECB) on monetary and financial stability matters. For investigators working on cross-border financial cases, understanding CNB's role in the European supervisory architecture is essential.

Data Sources and Coverage

Regulated Entity Registries

CNB maintains comprehensive registries covering all categories of regulated financial entities authorized to operate in the Czech Republic.

RegistryEntities CoveredApproximate Count
Credit InstitutionsBanks, building societies, credit unions~50
Insurance CompaniesLife, non-life, reinsurance~30
Pension FundsSupplementary pension companies~10
Investment FirmsBrokers, asset managers, investment advisors~100
Investment Fund ManagersUCITS, AIF managers~30
Payment InstitutionsLicensed payment service providers~30
Electronic Money IssuersE-money license holders~10
Foreign Exchange OfficesLicensed currency exchange operators~800
Insurance IntermediariesAgents, brokers, tied agents~150,000
EU Passport HoldersEntities operating under EU passporting~2,000

ARAD Statistical Database

CategoryTime SeriesUpdate Frequency
Exchange Rates30+ currenciesDaily
Monetary Statistics500+ seriesMonthly
Banking Sector200+ seriesQuarterly
Balance of Payments300+ seriesQuarterly
Financial Markets400+ seriesDaily/Monthly
Insurance Sector100+ seriesQuarterly
Capital Markets200+ seriesMonthly
Real Sector300+ seriesMonthly/Quarterly

Supervisory Decisions

Decision TypePublic AccessHistorical Depth
Administrative FinesFull text published10+ years
License RevocationsFull text published10+ years
License RestrictionsSummary published10+ years
WarningsSummary published5+ years
Cease and DesistSummary published5+ years

API Integration

Exchange Rate API

CNB provides freely accessible exchange rate data through multiple formats without authentication requirements.

Base URLs:

  • Exchange rates: https://www.cnb.cz/cs/financni-trhy/devizovy-trh/kurzy-devizoveho-trhu/kurzy-devizoveho-trhu/
  • ARAD: https://www.cnb.cz/arad/
  • Entity registry: https://apl.cnb.cz/apljerrsdad/
EndpointFormatDescription
/denni_kurz.txtText/CSVDaily exchange rates (current day)
/denni_kurz.txt?date=DD.MM.YYYYText/CSVExchange rates for specific date
/rok.txt?rok=YYYYText/CSVAnnual exchange rate data
ARAD REST endpointsXML/JSONStatistical time series
JERRS web interfaceHTMLRegulated entity registry

Rate Limits

ServiceLimitAuthentication
Exchange RatesNo official limitNone required
ARAD StatisticsNo official limitNone for public series
Entity RegistryReasonable useNone required
Supervisory DecisionsWeb accessNone required

curl Examples

# Get today's exchange rates
curl "https://www.cnb.cz/cs/financni-trhy/devizovy-trh/kurzy-devizoveho-trhu/kurzy-devizoveho-trhu/denni_kurz.txt"

# Get exchange rates for a specific date
curl "https://www.cnb.cz/cs/financni-trhy/devizovy-trh/kurzy-devizoveho-trhu/kurzy-devizoveho-trhu/denni_kurz.txt?date=15.01.2025"

# Get annual exchange rates
curl "https://www.cnb.cz/cs/financni-trhy/devizovy-trh/kurzy-devizoveho-trhu/kurzy-devizoveho-trhu/rok.txt?rok=2024"

# ARAD statistical data (monetary aggregates example)
curl "https://www.cnb.cz/arad/#/cs/indicators" \
  -H "Accept: application/json"

Query Examples

# Look up a regulated financial entity by name
{:ok, entities} = Cnb.search_regulated("Komercni banka")
# => [%{name: "Komercni banka, a.s.", ico: "45317054",
#       type: :bank, license_date: ~D[1993-01-01],
#       permitted_activities: ["accepting deposits", "providing credits", ...]}]

# Verify license status for a specific entity
{:ok, license} = Cnb.verify_license(ico: "45317054")
# => %{status: :active, type: :credit_institution,
#      license_number: "CNB-123/93", granted: ~D[1993-01-01],
#      permitted_activities: [...], supervisory_actions: []}

# Check for supervisory actions against an entity
{:ok, actions} = Cnb.supervisory_actions(ico: "12345678")
# => [%{type: :fine, amount: 500_000, currency: "CZK",
#       date: ~D[2024-06-15], reason: "AML compliance failure",
#       decision_reference: "CNB/2024/1234"}]

# Get current exchange rates
{:ok, rates} = Cnb.exchange_rates()
# => %{date: ~D[2025-06-15], rates: [
#       %{currency: "EUR", amount: 1, rate: 24.805},
#       %{currency: "USD", amount: 1, rate: 22.543},
#       %{currency: "GBP", amount: 1, rate: 28.912}, ...]}

# Get historical exchange rate for a specific date
{:ok, rate} = Cnb.exchange_rate("EUR", ~D[2025-01-15])
# => %{currency: "EUR", amount: 1, rate: 25.120, date: ~D[2025-01-15]}

# List all AML obligated entities of a specific type
{:ok, entities} = Cnb.aml_obligated(:payment_institution)

# Get ARAD statistical time series
{:ok, data} = Cnb.arad_series("monetary_aggregate_m3", from: ~D[2024-01-01])

Data Schema

Regulated Entity Record

%Cnb.RegulatedEntity{
  ico: "45317054",
  name: "Komercni banka, a.s.",
  entity_type: :credit_institution,
  license: %{
    number: "CNB-123/93",
    status: :active,
    granted: ~D[1993-01-01],
    last_modified: ~D[2024-03-15]
  },
  permitted_activities: [
    "Prijimani vkladu od verejnosti",
    "Poskytovani uveru",
    "Investicni sluzby",
    "Platebn sluzby"
  ],
  registered_address: %{
    street: "Na Prikope 33",
    city: "Praha 1",
    postal_code: "11407"
  },
  supervisory_actions: [],
  eu_passport: %{
    home_state: "CZ",
    host_states: ["SK", "DE"],
    passported_activities: [...]
  },
  aml_status: %{
    obligated: true,
    category: :credit_institution,
    last_inspection: ~D[2024-09-15]
  }
}

Key Data Fields

FieldTypeDescription
icoStringCompany identification number
entity_typeAtomRegulatory category (bank, insurer, etc.)
license.statusAtomActive, suspended, revoked, expired
permitted_activitiesListAuthorized financial activities
supervisory_actionsListFines, warnings, restrictions
eu_passportMapCross-border passporting details
aml_statusMapAML obligation and inspection data

Use Cases

Financial Entity Due Diligence

Before entering financial relationships, organizations verify that counterparties hold valid CNB licenses for the activities they propose to conduct. This is legally mandatory for regulated entities and a best practice for all organizations. CNB registry queries confirm license validity, scope of permitted activities, and absence of adverse supervisory actions.

AML/CFT Compliance Verification

Obligated entities under Czech AML law must verify the regulatory status of financial counterparties as part of their customer due diligence procedures. CNB registries provide authoritative confirmation of licensing status, while supervisory decision records reveal compliance failures that may indicate elevated AML risk.

Investment Fund and Manager Assessment

Investors and fund-of-funds managers use CNB registries to verify the authorization of Czech investment fund managers, confirm the registration of individual funds, and assess the regulatory compliance track record through supervisory decision analysis.

Insurance Intermediary Verification

With over 150,000 registered insurance intermediaries in the Czech Republic, CNB's intermediary registry is the authoritative source for verifying that agents and brokers hold valid registrations. This is essential for insurance distribution compliance and consumer protection.

Cross-Border Financial Services Monitoring

CNB registries include entities operating in the Czech Republic under EU passporting arrangements. Analysts can identify which foreign financial institutions have notified CNB of cross-border activities, providing intelligence on the competitive landscape and potential regulatory jurisdiction questions.

Limitations

Registry Search Interface: The JERRS entity registry uses a web-based interface that is functional but not optimized for programmatic access. Structured API access for entity lookups requires web scraping or structured interaction approaches.

Historical Data Gaps: While current registry data is comprehensive, historical records of entities that have been deregistered or had licenses revoked may have limited detail available through the public interface.

Language: Most CNB registry data is available primarily in Czech. While exchange rate and statistical data use standard formats, entity names, activity descriptions, and supervisory decisions are in Czech, requiring language capability for full interpretation.

Intermediary Volume: The insurance intermediary registry contains over 150,000 entries, making bulk analysis challenging through the web interface. Bulk data exports may require formal data requests.

Supervisory Decision Anonymization: Some supervisory decisions are partially anonymized, particularly those involving individuals or ongoing proceedings, limiting their utility for certain investigative purposes.

CNB registry data is public information published under Czech law (Act No. 6/1993 Sb., on the Czech National Bank, and sectoral financial regulation). Access to and use of this data does not require consent or authorization. However, users should consider several aspects.

The processing of personal data from CNB registries (names and addresses of statutory representatives, insurance intermediaries) must comply with GDPR requirements. While the data is published for regulatory transparency purposes, its aggregation or use for purposes unrelated to financial regulation may require a separate lawful basis under Article 6 GDPR.

Supervisory decision data should be used responsibly. Published enforcement actions represent concluded proceedings and factual regulatory determinations. Using this data to make unsubstantiated claims about entities or individuals beyond what the published decisions state could give rise to defamation liability.

Exchange rate and statistical data from CNB is freely available for commercial and non-commercial use, subject to appropriate attribution requirements.

Integration with Prismatic Platform

Prismatic Platform integrates CNB registry data as a critical compliance verification source within the Czech entity analysis pipeline and the broader financial intelligence framework.

Compliance Verification Pipeline

defmodule Prismatic.Compliance.CnbVerification do
  @moduledoc """
  Verifies regulatory status of financial entities through CNB registries,
  cross-referencing with ARES, sanctions lists, and DPH data.
  """

  def verify_financial_entity(ico) do
    with {:ok, ares_entity} <- Ares.get_by_ico(ico),
         {:ok, cnb_status} <- Cnb.verify_license(ico: ico),
         {:ok, sanctions} <- check_sanctions(ares_entity),
         {:ok, dph_status} <- Dph.check_status(ico) do
      {:ok, %ComplianceReport{
        entity: ares_entity,
        regulatory_status: cnb_status,
        sanctions_clear: sanctions.clear?,
        vat_status: dph_status,
        risk_level: calculate_risk(cnb_status, sanctions, dph_status),
        recommendations: generate_recommendations(cnb_status)
      }}
    end
  end
end

Multi-Source Financial Intelligence

Financial entity lookups are cross-referenced with ARES business data, EU and OFAC sanctions lists, the DPH unreliable payer registry, and Hlidac statu risk analytics to provide comprehensive KYC/AML screening. The adapter automatically validates license status and flags entities with supervisory actions or revoked authorizations.

Exchange Rate Service

The platform ingests daily CNB exchange rates for use across all modules requiring currency conversion, ensuring consistent and authoritative rate application throughout the system. Historical rates are cached for retrospective analysis and reporting.

Best Practices

Verify License Scope: Checking that an entity is CNB-regulated is necessary but not sufficient. Verify that the entity's license covers the specific financial activity being proposed. A payment institution license does not authorize deposit-taking, for example.

Monitor Supervisory Actions: Set up periodic checks for supervisory decisions against counterparties and portfolio entities. New enforcement actions can significantly change the risk profile of a financial relationship.

Cross-Reference with ARES: Always correlate CNB registry data with ARES entity data to confirm that the ICO, legal name, and registered address match across both systems. Discrepancies may indicate data lag or, in rare cases, fraudulent representations.

Track EU Passporting Changes: For entities operating under EU passporting, monitor CNB notifications for changes in host-state registrations. Loss of passporting rights in certain jurisdictions may affect cross-border operations.

Cache Exchange Rates Appropriately: CNB publishes exchange rates once daily. Cache the daily rate and use it consistently throughout the business day to avoid inconsistencies. For intraday rates, commercial forex data providers are more appropriate.

Understand Decision Publication Delays: Supervisory decisions are published after they become final (after appeal periods expire). There may be a delay between the decision date and its publication in the registry.

  • ARES - Czech business registry for entity identification and cross-referencing
  • EU Sanctions - EU sanctions list for compliance screening
  • OFAC - US Treasury sanctions list for international screening
  • DPH - Czech VAT payer registry for tax compliance
  • Justice.cz - Commercial Register with company details and beneficial ownership
  • Hlidac statu - Government watchdog with company risk analytics
  • Crunchbase - Business intelligence for fintech and financial company profiling

Connect & Contribute

Created by Tomáš Korcak (korczis) | Open Source under GHL