Home Documentation Bank Rates Playground Pricing API Status Blog About FAQ Support

National Bank of Ukraine Exchange Rate API: Official UAH Rates as JSON

Reviewed by Madhushan, Fintech Developer — August 2026

The National Bank of Ukraine sets the hryvnia's official exchange rates for around 45 currencies each business day — published in the afternoon for the next working day — and these are the published official rates Ukrainian accounting and customs law mandate, not moving market prices. This guide shows how to pull them as JSON: via a REST endpoint or the zero-dependency nbu-exchange-rate npm package, with history back to September 1996.

USD → UAH — official National Bank of Ukraine official rate
Weekly observations, Aug '25 – Aug '26 · Ukrainian hryvnias per 1 US dollar
4244Aug '25Nov '25Feb '26May '26Aug '2644.762025-08-07: 41.61 UAH2025-08-08: 41.46 UAH2025-08-09: 41.46 UAH2025-08-10: 41.46 UAH2025-08-11: 41.39 UAH2025-08-12: 41.45 UAH2025-08-13: 41.43 UAH2025-08-14: 41.51 UAH2025-08-15: 41.45 UAH2025-08-16: 41.45 UAH2025-08-17: 41.45 UAH2025-08-18: 41.34 UAH2025-08-19: 41.26 UAH2025-08-20: 41.36 UAH2025-08-21: 41.38 UAH2025-08-22: 41.22 UAH2025-08-23: 41.22 UAH2025-08-24: 41.22 UAH2025-08-25: 41.28 UAH2025-08-26: 41.43 UAH2025-08-27: 41.40 UAH2025-08-28: 41.32 UAH2025-08-29: 41.26 UAH2025-08-30: 41.26 UAH2025-08-31: 41.26 UAH2025-09-01: 41.32 UAH2025-09-02: 41.37 UAH2025-09-03: 41.36 UAH2025-09-04: 41.37 UAH2025-09-05: 41.35 UAH2025-09-06: 41.35 UAH2025-09-07: 41.35 UAH2025-09-08: 41.22 UAH2025-09-09: 41.25 UAH2025-09-10: 41.12 UAH2025-09-11: 41.21 UAH2025-09-12: 41.31 UAH2025-09-13: 41.31 UAH2025-09-14: 41.31 UAH2025-09-15: 41.28 UAH2025-09-16: 41.23 UAH2025-09-17: 41.18 UAH2025-09-18: 41.19 UAH2025-09-19: 41.25 UAH2025-09-20: 41.25 UAH2025-09-21: 41.25 UAH2025-09-22: 41.25 UAH2025-09-23: 41.38 UAH2025-09-24: 41.38 UAH2025-09-25: 41.41 UAH2025-09-26: 41.49 UAH2025-09-27: 41.49 UAH2025-09-28: 41.49 UAH2025-09-29: 41.48 UAH2025-09-30: 41.32 UAH2025-10-01: 41.14 UAH2025-10-02: 41.22 UAH2025-10-03: 41.28 UAH2025-10-04: 41.28 UAH2025-10-05: 41.28 UAH2025-10-06: 41.23 UAH2025-10-07: 41.34 UAH2025-10-08: 41.32 UAH2025-10-09: 41.40 UAH2025-10-10: 41.51 UAH2025-10-11: 41.51 UAH2025-10-12: 41.51 UAH2025-10-13: 41.60 UAH2025-10-14: 41.61 UAH2025-10-15: 41.75 UAH2025-10-16: 41.76 UAH2025-10-17: 41.64 UAH2025-10-18: 41.64 UAH2025-10-19: 41.64 UAH2025-10-20: 41.73 UAH2025-10-21: 41.76 UAH2025-10-22: 41.74 UAH2025-10-23: 41.76 UAH2025-10-24: 41.90 UAH2025-10-25: 41.90 UAH2025-10-26: 41.90 UAH2025-10-27: 42.00 UAH2025-10-28: 42.07 UAH2025-10-29: 42.08 UAH2025-10-30: 42.01 UAH2025-10-31: 41.97 UAH2025-11-01: 41.97 UAH2025-11-02: 41.97 UAH2025-11-03: 41.89 UAH2025-11-04: 42.04 UAH2025-11-05: 42.07 UAH2025-11-06: 42.07 UAH2025-11-07: 42.08 UAH2025-11-08: 42.08 UAH2025-11-09: 42.08 UAH2025-11-10: 41.98 UAH2025-11-11: 41.96 UAH2025-11-12: 42.01 UAH2025-11-13: 42.04 UAH2025-11-14: 42.06 UAH2025-11-15: 42.06 UAH2025-11-16: 42.06 UAH2025-11-17: 42.04 UAH2025-11-18: 42.07 UAH2025-11-19: 42.09 UAH2025-11-20: 42.09 UAH2025-11-21: 42.15 UAH2025-11-22: 42.15 UAH2025-11-23: 42.15 UAH2025-11-24: 42.27 UAH2025-11-25: 42.37 UAH2025-11-26: 42.40 UAH2025-11-27: 42.30 UAH2025-11-28: 42.19 UAH2025-11-29: 42.19 UAH2025-11-30: 42.19 UAH2025-12-01: 42.27 UAH2025-12-02: 42.34 UAH2025-12-03: 42.33 UAH2025-12-04: 42.20 UAH2025-12-05: 42.18 UAH2025-12-06: 42.18 UAH2025-12-07: 42.18 UAH2025-12-08: 42.06 UAH2025-12-09: 42.07 UAH2025-12-10: 42.18 UAH2025-12-11: 42.28 UAH2025-12-12: 42.27 UAH2025-12-13: 42.27 UAH2025-12-14: 42.27 UAH2025-12-15: 42.19 UAH2025-12-16: 42.25 UAH2025-12-17: 42.18 UAH2025-12-18: 42.34 UAH2025-12-19: 42.34 UAH2025-12-20: 42.34 UAH2025-12-21: 42.34 UAH2025-12-22: 42.25 UAH2025-12-23: 42.15 UAH2025-12-24: 42.10 UAH2025-12-25: 42.15 UAH2025-12-26: 41.93 UAH2025-12-27: 41.93 UAH2025-12-28: 41.93 UAH2025-12-29: 42.06 UAH2025-12-30: 42.22 UAH2025-12-31: 42.39 UAH2026-01-01: 42.35 UAH2026-01-02: 42.17 UAH2026-01-03: 42.17 UAH2026-01-04: 42.17 UAH2026-01-05: 42.29 UAH2026-01-06: 42.42 UAH2026-01-07: 42.56 UAH2026-01-08: 42.72 UAH2026-01-09: 42.99 UAH2026-01-10: 42.99 UAH2026-01-11: 42.99 UAH2026-01-12: 43.08 UAH2026-01-13: 43.26 UAH2026-01-14: 43.18 UAH2026-01-15: 43.12 UAH2026-01-16: 43.39 UAH2026-01-17: 43.39 UAH2026-01-18: 43.39 UAH2026-01-19: 43.41 UAH2026-01-20: 43.27 UAH2026-01-21: 43.25 UAH2026-01-22: 43.18 UAH2026-01-23: 43.17 UAH2026-01-24: 43.17 UAH2026-01-25: 43.17 UAH2026-01-26: 43.14 UAH2026-01-27: 43.13 UAH2026-01-28: 42.96 UAH2026-01-29: 42.77 UAH2026-01-30: 42.85 UAH2026-01-31: 42.85 UAH2026-02-01: 42.85 UAH2026-02-02: 42.81 UAH2026-02-03: 42.97 UAH2026-02-04: 43.19 UAH2026-02-05: 43.17 UAH2026-02-06: 43.14 UAH2026-02-07: 43.14 UAH2026-02-08: 43.14 UAH2026-02-09: 43.05 UAH2026-02-10: 43.03 UAH2026-02-11: 43.09 UAH2026-02-12: 43.03 UAH2026-02-13: 42.99 UAH2026-02-14: 42.99 UAH2026-02-15: 42.99 UAH2026-02-16: 43.10 UAH2026-02-17: 43.17 UAH2026-02-18: 43.26 UAH2026-02-19: 43.29 UAH2026-02-20: 43.27 UAH2026-02-21: 43.27 UAH2026-02-22: 43.27 UAH2026-02-23: 43.27 UAH2026-02-24: 43.30 UAH2026-02-25: 43.26 UAH2026-02-26: 43.24 UAH2026-02-27: 43.21 UAH2026-02-28: 43.21 UAH2026-03-01: 43.21 UAH2026-03-02: 43.10 UAH2026-03-03: 43.23 UAH2026-03-04: 43.45 UAH2026-03-05: 43.72 UAH2026-03-06: 43.81 UAH2026-03-07: 43.81 UAH2026-03-08: 43.81 UAH2026-03-09: 43.73 UAH2026-03-10: 43.90 UAH2026-03-11: 43.86 UAH2026-03-12: 43.98 UAH2026-03-13: 44.16 UAH2026-03-14: 44.16 UAH2026-03-15: 44.16 UAH2026-03-16: 44.14 UAH2026-03-17: 44.08 UAH2026-03-18: 43.95 UAH2026-03-19: 43.90 UAH2026-03-20: 43.96 UAH2026-03-21: 43.96 UAH2026-03-22: 43.96 UAH2026-03-23: 43.82 UAH2026-03-24: 43.83 UAH2026-03-25: 43.92 UAH2026-03-26: 43.87 UAH2026-03-27: 43.88 UAH2026-03-28: 43.88 UAH2026-03-29: 43.88 UAH2026-03-30: 43.84 UAH2026-03-31: 43.80 UAH2026-04-01: 43.92 UAH2026-04-02: 43.78 UAH2026-04-03: 43.81 UAH2026-04-04: 43.81 UAH2026-04-05: 43.81 UAH2026-04-06: 43.65 UAH2026-04-07: 43.58 UAH2026-04-08: 43.49 UAH2026-04-09: 43.38 UAH2026-04-10: 43.47 UAH2026-04-11: 43.47 UAH2026-04-12: 43.47 UAH2026-04-13: 43.46 UAH2026-04-14: 43.44 UAH2026-04-15: 43.50 UAH2026-04-16: 43.52 UAH2026-04-17: 43.64 UAH2026-04-18: 43.64 UAH2026-04-19: 43.64 UAH2026-04-20: 43.89 UAH2026-04-21: 44.10 UAH2026-04-22: 44.12 UAH2026-04-23: 43.89 UAH2026-04-24: 43.94 UAH2026-04-25: 43.94 UAH2026-04-26: 43.94 UAH2026-04-27: 44.00 UAH2026-04-28: 44.09 UAH2026-04-29: 44.07 UAH2026-04-30: 44.08 UAH2026-05-01: 43.96 UAH2026-05-02: 43.96 UAH2026-05-03: 43.96 UAH2026-05-04: 43.91 UAH2026-05-05: 44.00 UAH2026-05-06: 43.97 UAH2026-05-07: 43.85 UAH2026-05-08: 43.80 UAH2026-05-09: 43.80 UAH2026-05-10: 43.80 UAH2026-05-11: 43.85 UAH2026-05-12: 43.96 UAH2026-05-13: 43.97 UAH2026-05-14: 43.97 UAH2026-05-15: 43.96 UAH2026-05-16: 43.96 UAH2026-05-17: 43.96 UAH2026-05-18: 44.07 UAH2026-05-19: 44.16 UAH2026-05-20: 44.15 UAH2026-05-21: 44.23 UAH2026-05-22: 44.23 UAH2026-05-23: 44.23 UAH2026-05-24: 44.23 UAH2026-05-25: 44.26 UAH2026-05-26: 44.24 UAH2026-05-27: 44.28 UAH2026-05-28: 44.30 UAH2026-05-29: 44.27 UAH2026-05-30: 44.27 UAH2026-05-31: 44.27 UAH2026-06-01: 44.27 UAH2026-06-02: 44.30 UAH2026-06-03: 44.34 UAH2026-06-04: 44.35 UAH2026-06-05: 44.38 UAH2026-06-06: 44.38 UAH2026-06-07: 44.38 UAH2026-06-08: 44.36 UAH2026-06-09: 44.51 UAH2026-06-10: 44.84 UAH2026-06-11: 44.98 UAH2026-06-12: 44.93 UAH2026-06-13: 44.93 UAH2026-06-14: 44.93 UAH2026-06-15: 44.81 UAH2026-06-16: 44.82 UAH2026-06-17: 44.78 UAH2026-06-18: 44.81 UAH2026-06-19: 44.91 UAH2026-06-20: 44.91 UAH2026-06-21: 44.91 UAH2026-06-22: 44.91 UAH2026-06-23: 44.91 UAH2026-06-24: 44.88 UAH2026-06-25: 44.87 UAH2026-06-26: 44.92 UAH2026-06-27: 44.92 UAH2026-06-28: 44.92 UAH2026-06-29: 44.86 UAH2026-06-30: 44.85 UAH2026-07-01: 44.79 UAH2026-07-02: 44.77 UAH2026-07-03: 44.80 UAH2026-07-04: 44.80 UAH2026-07-05: 44.80 UAH2026-07-06: 44.57 UAH2026-07-07: 44.56 UAH2026-07-08: 44.51 UAH2026-07-09: 44.48 UAH2026-07-10: 44.52 UAH2026-07-11: 44.52 UAH2026-07-12: 44.52 UAH2026-07-13: 44.49 UAH2026-07-14: 44.67 UAH2026-07-15: 44.88 UAH2026-07-16: 44.75 UAH2026-07-17: 44.62 UAH2026-07-18: 44.62 UAH2026-07-19: 44.62 UAH2026-07-20: 44.67 UAH2026-07-21: 44.70 UAH2026-07-22: 44.75 UAH2026-07-23: 44.77 UAH2026-07-24: 44.81 UAH2026-07-25: 44.81 UAH2026-07-26: 44.81 UAH2026-07-27: 44.81 UAH2026-07-28: 44.86 UAH2026-07-29: 44.93 UAH2026-07-30: 44.88 UAH2026-07-31: 44.69 UAH2026-08-01: 44.69 UAH2026-08-02: 44.69 UAH2026-08-03: 44.64 UAH2026-08-04: 44.79 UAH2026-08-05: 44.75 UAH2026-08-06: 44.69 UAH2026-08-07: 44.76 UAH
Source: National Bank of Ukraine published rates · chart data from the AllRatesToday API (/api/v1/central-bank/nbu/history?source=USD&target=UAH).

What the NBU publishes

The USD/UAH official rate is the anchor of the table: the NBU sets it each afternoon for the next working day, and Ukrainian accounting, customs valuation, and contract law reference it directly.

Why official rates, not market rates

A live mid-market feed answers "what is USD/UAH trading at right now?" — the right tool for checkouts and dashboards. But accountants, auditors, and tax authorities ask a different question: "which rate were you required to use for this date?" That answer comes from the central bank's published rates, and it never changes after publication.

Get the latest rates (REST)

curl "https://allratestoday.com/api/v1/central-bank/bok/latest" \
  -H "Authorization: Bearer YOUR_API_KEY"

The response is the bank's most recent published data — every rate and the publication date. The latest rates are available on every plan, including the free tier (300 requests/month, no credit card).

The npm SDK

npm install nbu-exchange-rate
import { getRate, getLatestRates } from 'nbu-exchange-rate';

// One pair at the official NBU rate
const pair = await getRate('USD', 'UAH', { apiKey: 'art_live_...' });
console.log(pair.rate, pair.rate_date);

// The bank's full published table
const table = await getLatestRates({ apiKey: 'art_live_...' });
console.log(table.rate_date, table.rates.length);

Zero dependencies, TypeScript types included, and it runs anywhere fetch exists — Node 18+, Bun, Deno, and edge runtimes.

Historical rates for an invoice date

import { getRatesForDate, getHistory } from 'nbu-exchange-rate';

// The official rates for an invoice date — non-publication days return
// the most recent published date, flagged via published_on_requested_date.
const day = await getRatesForDate('2026-06-30', { apiKey: 'art_live_...' });

// Time series for one pair
const series = await getHistory(
  { source: 'USD', target: 'UAH', from: '2026-01-01' },
  { apiKey: 'art_live_...' }
);

Historical dates and time series need a paid plan; the latest rates stay free.

Published vs derived pairs

If the NBU does not print a pair directly, the API resolves it from the bank's published rates — an inverse, or a cross rate via UAH — and flags it derived: true with the method used. Official and computed values are never silently mixed, which is exactly the distinction an auditor will ask about.

The full hryvnia era, 1996 to today

The series starts on 2 September 1996 — the day the hryvnia replaced the karbovanets at 1.761 per dollar. From there the official record traces the 1998 crisis, the managed pegs of the 2000s, the 2014–2015 devaluation after Crimea, the wartime fixed rate of 2022, and the managed flexibility that followed. For invoice-date lookups, audits, and research, it is the definitive official record of the hryvnia.

FAQ

Does the National Bank of Ukraine have an official exchange rate API?

Yes — the NBU has one of the friendliest open APIs of any central bank, and AllRatesToday serves the same official rates in the unified multi-bank format used by 33 other central banks: around 45 currencies against the hryvnia, history back to 1996, via REST or the nbu-exchange-rate npm package. The latest table is free.

How often do National Bank of Ukraine rates update?

Once per business day — the NBU sets the official rate in the afternoon for the next working day. These are published reference rates, not moving market prices — every API response carries the bank's own publication date so you can cite it.

Can I get the NBU rate for a past date, like an invoice date?

Yes. The /central-bank/nbu/rates-for-date endpoint returns the official rates for any date back to September 1996. Non-publication days resolve to the most recent published date and are flagged, so your audit trail stays honest. Historical dates require a paid plan; latest rates are free.

Official National Bank of Ukraine rates, as JSON

The latest rates are free — 300 requests/month, no credit card.

Get your free API key

Related Articles