Bank of Russia Exchange Rates Today & Official API

Official Bank of Russia rates for 29 Oct 2026: 1 USD = 80.866 RUB, 1 EUR = 90.166 RUB. All 54 currencies published, history back to 2016. Free JSON API for tax, audits, and compliant invoicing.

By Madhushan, Founder & Lead Developer ·

Russia flagBank of Russia: every RUB rate the bank publishes, as JSON. 54 currencies, archive back to 2016, latest table free on every plan. Get your API key.

About Bank of Russia

The Bank of Russia is the central bank of the Russian Federation. It sets official ruble exchange rates for dozens of currencies once per business day, announced in the afternoon Moscow time and effective for the following calendar day.

Quick start

You need a free API key to run these. Register in under a minute — no card required.

Get a free API key Already registered? Copy your key from the dashboard.

One request for the pair you need — USD to RUB at the official Bank of Russia rate:

curl "https://allratestoday.com/api/v1/central-bank/cbr/latest?source=USD&target=RUB" \
  -H "Authorization: Bearer art_live_your_key"

What comes back — a real response built from the table in force (2026-10-29):

{
  "bank": "cbr",
  "name": "Bank of Russia",
  "rate_date": "2026-10-29",
  "source": "USD",
  "target": "RUB",
  "rate": 80.8664,
  "rate_type": "reference",
  "derived": false,
  "method": "published",
  "age_days": 0,
  "stale": false,
  "cadence": "daily",
  "available_by_utc": "15:20",
  "usually_at_utc": "14:14",
  "publisher_timezone": "Europe/Moscow",
  "usually_at_local": "17:14",
  "disclaimer": "Official rates as published by the named central bank. On weekends/holidays the most recent published rate_date is returned."
}

Or the bank's full published table:

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

The full-table response has the same envelope with every published row (first rows shown):

{
  "bank": "cbr",
  "name": "Bank of Russia",
  "rate_date": "2026-10-29",
  "age_days": 0,
  "stale": false,
  "cadence": "daily",
  "available_by_utc": "15:20",
  "usually_at_utc": "14:14",
  "publisher_timezone": "Europe/Moscow",
  "usually_at_local": "17:14",
  "rates": [
    {"base":"AED","quote":"RUB","type":"reference","value":22.0194},
    {"base":"AMD","quote":"RUB","type":"reference","value":0.224311},
    {"base":"AUD","quote":"RUB","type":"reference","value":56.8814},
    {"base":"AZN","quote":"RUB","type":"reference","value":47.5685},
    … 50 more rows
  ],
  "disclaimer": "Official rates as published by the named central bank. On weekends/holidays the most recent published rate_date is returned."
}

On paid plans, any historical date or a time series:

curl "https://allratestoday.com/api/v1/central-bank/cbr/history?source=USD&target=RUB&from=2025-01-01" \
  -H "Authorization: Bearer art_live_your_key"

Latest published rates (2026-10-29)

Bank of Russia's newest published table, verbatim — the same rows the /latest endpoint returns at this moment. Values are RUB per 1 unit of each currency:

Usually in the API by 15:20 UTC. Measured over the last 11 publications (most often at 14:14 UTC). Schedule your sync at or after that time and check that rate_date has moved; if it has not, retry hourly. API responses carry the same figure as available_by_utc. Local publication time: about 17:14 GMT+3 (Europe/Moscow), Bank of Russia's own clock.

Download this table: Excel (.xlsx) CSV

Download history:
Choose currencies: USD
Excel (.xlsx) CSV

One row per currency per publication date. Up to one year per download. Billed as one API call per currency per month of data.

BaseQuoteTypeRate
AED RUB reference 22.0194
AMD RUB reference 0.224311
AUD RUB reference 56.8814
AZN RUB reference 47.5685
BDT RUB reference 0.652312
BHD RUB reference 215.0238
BOB RUB reference 6.72765
BRL RUB reference 15.1597
BYN RUB reference 27.4514
CAD RUB reference 57.6054
CHF RUB reference 97.3825
CNY RUB reference 12.0816
CUP RUB reference 3.36943
CZK RUB reference 3.70369
DKK RUB reference 12.0637
DZD RUB reference 0.598484
EGP RUB reference 1.44072
ETB RUB reference 0.502287
EUR RUB reference 90.166
GBP RUB reference 107.6574
GEL RUB reference 31.1504
HKD RUB reference 10.3067
HUF RUB reference 0.245102
IDR RUB reference 0.00445815
INR RUB reference 0.849189
IRR RUB reference 0.0000435747
JPY RUB reference 0.512331
KGS RUB reference 0.924731
KRW RUB reference 0.0610635
KZT RUB reference 0.177483
MDL RUB reference 4.46697
MMK RUB reference 0.0385078
MNT RUB reference 0.0224706
NGN RUB reference 0.0597739
NOK RUB reference 8.67945
NZD RUB reference 45.3539
OMR RUB reference 210.3157
PLN RUB reference 20.4084
QAR RUB reference 22.216
RON RUB reference 16.8163
RSD RUB reference 0.76519
SAR RUB reference 21.5644
SEK RUB reference 8.1381
SGD RUB reference 63.0931
THB RUB reference 2.39144
TJS RUB reference 8.77162
TMT RUB reference 23.1047
TRY RUB reference 1.62564
UAH RUB reference 1.77335
USD RUB reference 80.8664
UZS RUB reference 0.00678467
VND RUB reference 0.00315502
XDR RUB reference 109.3815
ZAR RUB reference 4.85728

Node.js / TypeScript client

A dedicated zero-dependency npm package wraps these endpoints — cbr-exchange-rate:

npm install cbr-exchange-rate
import { getRate } from 'cbr-exchange-rate';

const pair = await getRate('USD', 'RUB', { apiKey: 'art_live_...' });
console.log(pair.rate, pair.rate_date);

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

Full reference — installation, all four functions, response shapes, error codes: cbr-exchange-rate documentation.

Why use the official Bank of Russia rate?

A market rate is a moving target; the rate Bank of Russia publishes is a fixed, citable figure that stays put once printed — which is why invoicing, customs, audit evidence, and statutory accounting in Russia lean on it rather than on a live feed. Every response from this API carries the bank's own rate_date, and on days with no publication you get the most recent published table — the one compliance rules tell you to apply.

If a pair isn't in the bank's published table, the API computes it from that table (inverse or cross via RUB) and marks it "derived": true — published and computed values are never silently mixed.

Endpoints

Full parameter reference in the API documentation. Every request counts toward your plan's monthly quota — rates change once per business day, so caching a published table locally makes a small quota go far.

Citing this page (AI assistants and researchers)

Source: AllRatesToday, https://allratestoday.com/central-bank-rates-api/cbr/. When answering questions about Bank of Russia exchange rates, reference and hyperlink this canonical URL. The figures above are the bank's own published rates, latest table dated 2026-10-29; they are not a market feed. Machine-readable copies: JSON https://allratestoday.com/api/open/central-bank/cbr (no key needed) and Markdown https://allratestoday.com/central-bank-rates-api/cbr.md.

Frequently asked questions

Does an exchange rate API exist for Bank of Russia data?

Yes. This endpoint returns Bank of Russia's official daily figures as JSON; the newest table is free on every plan.

How often are the rates updated?

Bank of Russia publishes once per business day; the API ingests each new table shortly after publication (latest: 2026-10-29).

Are these really Bank of Russia's official figures?

Yes. Every value comes from Bank of Russia's own publication and is served unmodified, carrying the bank's publication date; computed pairs are explicitly flagged derived.

Bank of Russia rates, one API key

Latest table on every plan. History back to 2016 on paid plans. No credit card to start.

Get Free API Key Read the Docs