Официальный архив курсов валют ЦБ РФ: способы получения данных через веб‑интерфейс и API

Откройте официальный архив курсов ЦБ РФ – полные исторические цены валют с 1992 года, удобный поиск и экспорт данных для аналитики.

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

Официальный архив курсов валют Центрального банка Российской Федерации (ЦБ РФ) является первичным и наиболее авторитетным источником информации о стоимости иностранных валют по отношению к российскому рублю. Данные архива используются для бухгалтерского учета, налогового учета, расчета таможенных пошлин, судебных разбирательств и анализа финансовых рынков.

Где находится официальный архив

Основной доступ к историческим данным предоставляется через официальный сайт Банка России:

  • Адрес раздела: cbr.ru/currency_base/daily/ (Ежедневные курсы валют)
  • Адрес раздела динамики: cbr.ru/currency_base/dynamics/ (Динамика курсов валют за период)

Способы получения данных

Через веб-интерфейс (ручной режим)

Это самый простой способ для разовых проверок.

  1. Перейдите на страницу «Ежедневные курсы валют».
  2. В календаре выберите нужную дату (доступны данные с 1992 года).
  3. Нажмите кнопку «Получить».
  4. В таблице отобразятся курсы всех валют на выбранный день.

Для получения данных за диапазон дат (например, за месяц или год) удобнее использовать раздел «Динамика курсов валют»:

  1. Выберите валюту из выпадающего списка (по коду ISO 4217 или названию).
  2. Укажите дату начала и дату окончания периода.
  3. Нажмите «Получить». Результат можно экспортировать в Excel (CSV).

Через API (автоматизированный режим)

Для разработчиков, 1С, ERP-систем и автоматического обновления курсов в базах данных ЦБ РФ предоставляет XML API и JSON API.

Основные эндпоинты:

  • XML ежедневные курсы на дату: https://www.cbr.ru/scripts/XML_daily.asp?date_req=DD/MM/YYYY
  • XML динамика курсов за период: https://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=DD/MM/YYYY&date_req2=DD/MM/YYYY&VAL_NM_RQ=КОД_ВАЛЮТЫ
  • JSON ежедневные курсы (современный формат): https://www.cbr-xml-daily.ru/daily_json.js (актуальные) или https://www.cbr-xml-daily.ru/archive/YYYY/MM/DD/daily_json.js (архив).
Важно: Параметр date_req в XML API должен передаваться в формате DD/MM/YYYY (день/месяц/год). Например, для 1 января 2024 года: .

Пример запроса XML для конкретной даты

GET https://www.cbr.ru/scripts/XML_daily.asp?date_req=

Ответ вернет XML-структуру с атрибутом Date="" и списком валют (Valute), где для каждой указаны:

  • NumCode, числовой код (ISO 4217)
  • CharCode — буквенный код (USD, EUR, CNY и т.д.)
  • Nominal — номинал (количество единиц валюты)
  • Name — название валюты
  • Value, курс в рублях за номинал
  • VunitRate — курс за 1 единицу валюты (добавлен позже, удобен для расчетов)

Особенности и нюансы использования архива

Выходные и праздничные дни

Курсы валют устанавливаются только в рабочие дни Банка России. В выходные и праздничные дни новые курсы не публикуются.

  • Если вам нужен курс на субботу, воскресенье или официальный праздник — используется курс последнего предшествующего рабочего дня.
  • В XML/API при запросе даты выходного дня вернется курс на последний рабочий день (дата в XML-ответе будет соответствовать рабочему дню, а не запрошенной дате).

Время публикации

  • Официальные курсы на «завтра» публикуются в 13:00–14:00 по московскому времени текущего рабочего дня.
  • Курсы на «сегодня» (текущий рабочий день) были утверждены вчера в 13:00–14:00.

Номинал и пересчет

Всегда проверяйте поле Nominal (Номинал).

  • Для большинства валют (USD, EUR, GBP) номинал = 1.
  • Для некоторых валют (JPY, IDR, VND, KRW, HUF, CLP и др.) номинал = 100, 1000 или 10000.
  • Формула: Курс за 1 единицу = Value / Nominal (или используйте готовое поле VunitRate в JSON/новом XML).

История изменений (реденоминация, новые валюты)

  • Архив ведется с 1992 года.
  • При реденоминации 1998 года (1000 старых рублей = 1 новый рубль) курсы в архиве уже приведены в новых рублях (RUB).
  • Коды валют соответствуют стандарту ISO 4217. При смене кода валюты (например, BYR -> BYN) в архиве появляется новый код, старый перестает обновляться.

Применение в популярных системах

1C:Предприятие 8.3

В типовых конфигурациях (ERP, КА, ЗУП, Бухгалтерия 3.0) есть встроенная обработка «Загрузка курсов валют» (меню Администрирование → Общие настройки → Курсы валют).

  • Источник: ЦБ РФ (XML).
  • Можно настроить фоновое задание на ежедневную загрузку в 14:00–15:00.
  • Есть возможность загрузить курсы за прошедший период (кнопка «Загрузить за период»).

Python (библиотека cbrf или requests)

import requests
from datetime import datetime

def get_cbr_rate(date_str, char_code='USD'):
 # date_str в формате 'DD/MM/YYYY'
 url = f"https://www.cbr.ru/scripts/XML_daily.asp?date_req={date_str}"
 response = requests.get(url)
 response.encoding = 'windows-1251' # Важно: XML отдается в кодировке windows-1251
 
 from xml.etree import ElementTree as ET
 root = ET.fromstring(response.text)
 
 for valute in root.findall('Valute'):
 if valute.find('CharCode').text == char_code:
 value = float(valute.find('Value').text.replace(',', '.'))
 nominal = int(valute.find('Nominal').text)
 return value / nominal
 return None

rate = get_cbr_rate('', 'USD')
print(f"Курс USD на : {rate} RUB")

Excel / Power Query

  1. Вкладка Данные → Получить данные → Из других источников → Из веб-страницы.
  2. Вставьте URL: https://www.cbr.ru/scripts/XML_daily.asp?date_req=
  3. Power Query автоматически распарсит XML в таблицу. Остается только развернуть колонки.

Альтернативные источники (зеркала)

Если основной сайт ЦБ РФ недоступен (техобслуживание, DDoS), можно использовать надежные зеркала:

  • cbr-xml-daily.ru, популярное независимое зеркало в JSON/XML формате с удобным архивом по датам (/archive/YYYY/MM/DD/).
  • banki.ru, moex.com, investing.com — публикуют курсы ЦБ с задержкой и в удобном виде для трейдеров.

Чек-лист: что проверить перед использованием курса

  1. Дата актуальности: Курс на дату ДД.ММ.ГГГГ утвержден вчера (или в последнюю пятницу для понедельника).
  2. Рабочий день: Является ли запрошенная дата рабочим днем ЦБ? Если нет — курс будет от прошлого рабочего дня.
  3. Номинал: Делите Value на Nominal или используйте VunitRate.
  4. Код валюты: Используйте CharCode (USD, EUR, CNY), а не название, чтобы избежать ошибок парсинга.
  5. Округление: Официальные курсы даны с 4 знаками после запятой (для валют с номиналом 1). В налоговом/бухгалтерском учете округление производится по правилам организации/НК РФ (обычно до 2 или 4 знаков).

Резюме

Архив валют ЦБ РФ за выбранную дату, это бесплатный, официальный и юридически значимый ресурс. Для ручной работы используйте раздел «Динамика курсов» на cbr.ru. Для автоматизации, XML API (XML_daily.asp) или JSON-зеркало cbr-xml-daily.ru. Главное правило: всегда учитывайте номинал валюты и режим рабочих дней Банка России.