Skip to content

atlorium-api/cbr-bik-api-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Справочник БИК ЦБ РФ — API проверки БИК, корсчёта и реквизитов банка

Русский · English

examples license API

Готовые примеры работы с API справочника БИК ЦБ РФ на шести языках: Python, TypeScript (Node.js), Go, Java, C#, PHP. Проверка БИК и поиск кредитной организации по названию, городу или SWIFT. В ответе — корсчёт по БИК, SWIFT-код, реквизиты банка, регион, адрес, статус участника и ограничения. Источник — ежедневный справочник Банка России (ED807 / УФЭБС).

Каждый пример запускается сразу — без регистрации, без ключа, без карты. В коде зашит публичный демо-ключ.

git clone https://github.com/atlorium-api/cbr-bik-api-client
cd cbr-bik-api-client/python && pip install -r requirements.txt && python main.py
ПАО «Филатов, Ситникова and Мишина БАНК»
  БИК 044525225 · рег. № 4862
  Корсчёт: 30143017336663637516
  SWIFT: BQAENCY1QEU
  Адрес: 707151 г Екатеринбург, ул. Ломоносова, 737
  Регион: 94 · Статус: PSAC
  В справочнике с 2025-08-04

Платёж на счёт 40702810638000000000 (БИК 044525225):
Стоп-факторов не обнаружено — реквизиты можно использовать.
  [i] Контрольный ключ счёта 40702810638000000000 верен
  [i] SWIFT: BQAENCY1QEU

Справочник ЦБ РФ актуален на 2026-07-12, участников: 3187.

Демо-ключ отвечает правдоподобными моками, а не реальными данными справочника — поэтому название банка в примере выше выглядит сгенерированным. Так и задумано: интеграцию можно написать и протестировать до оплаты. Подставьте боевой ключ — тот же код начнёт возвращать настоящие данные ЦБ РФ.


Зачем это нужно

Проверка платёжных реквизитов перед отправкой платежа, автозаполнение полей «Банк получателя» и «Корсчёт» по БИК, валидация форм, сверка реестров контрагентов, бухгалтерские и банковские интеграции. Вместо ручного поиска в справочнике ЦБ — один HTTP-запрос.

Примеры не просто печатают JSON, а применяют данные: в каждом есть функция validatePaymentDetails(), которая по БИК и номеру счёта выносит вердикт — действует ли участник, не отозвана ли лицензия, нет ли ограничений и ареста по счетам, и сходится ли контрольный ключ расчётного счёта с БИК банка. Контрольный ключ считается по официальному алгоритму ЦБ РФ (весовые коэффициенты 7-1-3, сумма по модулю 10) — это ловит опечатку в 20-значном номере счёта до того, как платёж уйдёт.

Быстрый старт за 60 секунд

Проверить API вообще без клонирования:

curl -H "Authorization: Bearer ak_sandbox_demo_mockdata_v1" \
     "https://atlorium.com/api/cbr/044525225"
Язык Запуск Требуется
Python pip install -r requirements.txt && python main.py Python 3.10+
TypeScript / Node.js npm install && npm start Node.js 20+
Go go run . Go 1.22+
Java java Main.java JDK 17+ (без зависимостей)
C# dotnet run .NET 8+
PHP php main.php PHP 8.1+

Передать свой БИК и номер счёта аргументами: python main.py 044525225 40702810638000000000

Аутентификация

Ключ передаётся в заголовке Authorization:

Authorization: Bearer ВАШ_КЛЮЧ
Ключ Что делает
ak_sandbox_demo_mockdata_v1 Демо-ключ. Публичный, один на всех. Возвращает моки, денег не списывает, регистрации не требует. Ответы детерминированы — на них можно писать стабильные тесты.
Боевой ключ Реальные данные справочника ЦБ РФ. Получить в личном кабинете: atlorium.com

Переход на боевой ключ не требует правок в коде — все примеры читают переменную окружения:

export ATLORIUM_API_KEY="ak_ваш_боевой_ключ"

Каждый ответ песочницы помечен заголовком X-Atlorium-Sandbox: true — перепутать мок с реальными данными невозможно.

Эндпоинты

Базовый адрес: https://atlorium.com

Метод Путь Назначение
GET /api/cbr/{bik} Реквизиты участника по точному БИК
GET /api/cbr/search Поиск по названию, городу, SWIFT или началу БИК
GET /api/cbr/stats Статистика справочника: размер, дата актуальности, готовность

GET /api/cbr/{bik}

Параметр Где Тип Описание
bik путь string БИК — банковский идентификационный код, ровно 9 цифр. Например, 044525225

Если участника с таким БИК в справочнике нет — 404.

GET /api/cbr/search

Параметр Где Тип Описание
query query string Строка поиска. Если состоит только из цифр — трактуется как БИК и ищется по началу кода; иначе ищется как подстрока в наименовании, населённом пункте и SWIFT
limit query int Максимум результатов: по умолчанию 20, максимум 100

GET /api/cbr/stats

Без параметров.

Поля ответа

Карточка участника (GET /api/cbr/{bik}, а также элементы results в поиске):

Поле Тип Что содержит
bik string БИК участника, 9 цифр
name string Наименование кредитной организации
englishName string Наименование латиницей
corrAccount string Корреспондентский счёт участника в Банке России
countryCode string Код страны
parentBic string БИК головной организации (для филиалов)
regionCode string Код региона
postalIndex string Почтовый индекс
localityType / locality string Тип и название населённого пункта
address string Адрес
registrationNumber string Регистрационный номер по книге государственной регистрации
uid string Уникальный идентификатор участника в справочнике
dateIn date Дата включения в справочник
swift string Основной SWIFT/BIC-код
swiftCodes array Все SWIFT-коды участника
status string Ключевое поле для проверки. Статус участника: PSAC — действующий
participantType string Тип участника (код УФЭБС)
serviceCode string Код обслуживания
exchangeType string Тип обмена
accounts array Счета участника (см. ниже)
restrictions array Признак риска. Ограничения участника: { code, date }

Элемент accounts[]:

Поле Тип Что содержит
account string Номер счёта, 20 цифр
accountType string Тип счёта
controlKey string Контрольный ключ счёта
cbrBic string БИК подразделения Банка России, где открыт счёт
status string Статус счёта: ACAC — действующий
dateIn date Дата открытия
restrictions array Ограничения по счёту: { code, date, successorBic }

Ответ GET /api/cbr/stats:

Поле Тип Что содержит
isReady bool Загружен ли справочник
totalEntries int Число участников в справочнике
withCorrAccount int Из них с корсчётом
withSwift int Из них со SWIFT-кодом
directoryDate date На какую дату актуален справочник ЦБ РФ
loadedAtUtc datetime Когда справочник был загружен

Ответ GET /api/cbr/search — объект { query, results, count, elapsedMs }, где results — массив карточек участников.

Обработка ошибок

Код Причина Что делать
400 Неверный формат БИК БИК — ровно 9 цифр
401 Ключ отсутствует, просрочен или недействителен Проверьте заголовок Authorization
402 Недостаточно кредитов на балансе Пополнить на atlorium.com
404 Участник с таким БИК не найден Формат корректен, но такого БИК в справочнике нет
429 Превышен rate-limit Повторить с задержкой
503 Справочник временно недоступен Повторить позже. За сбой на нашей стороне деньги не списываются

Во всех шести примерах коды разложены в человекочитаемые причины — смотрите класс AtloriumError.

Цены и лимиты

Оплата pay-as-you-go, без подписки: платите только за выполненные запросы. Актуальные тарифы и лимиты — на atlorium.com/pricing.

Актуальные цены и лимиты: atlorium.com/pricing

Частые вопросы

Откуда данные? Из официального справочника банковских идентификационных кодов Банка России (формат ED807 / УФЭБС). ЦБ публикует его ежедневно; поле directoryDate в /stats показывает, на какую дату актуальна загруженная версия.

Как работает проверка контрольного ключа счёта? По официальному алгоритму ЦБ РФ. К 20-значному номеру счёта слева приписывается условный номер: для корсчёта банка в Банке России (номер начинается на 301) — «0» и 5-я с 6-й цифры БИК, для обычного счёта в самом банке — последние 3 цифры БИК. Получившиеся 23 цифры умножаются на весовые коэффициенты 7-1-3-7-1-3-…, сумма произведений берётся по модулю 10; счёт корректен, если остаток равен нулю. Реализация — в каждом из шести примеров, функция checkAccountControlKey().

Значит ли «ключ сошёлся», что счёт существует? Нет — и это важно. Контрольный ключ ловит опечатку в номере: переставленные или искажённые цифры почти наверняка не пройдут проверку. Но у любого правильно составленного номера ключ сойдётся, даже если такого счёта нет ни у кого. Существование счёта и его принадлежность получателю справочник БИК не подтверждает — этих данных в нём просто нет.

Чем это отличается от бесплатного XML с сайта ЦБ? Тем же данным придана машиночитаемая форма и добавлен поиск: ЦБ отдаёт большой суточный XML-архив, который нужно самому скачивать, разбирать, обновлять и индексировать. Здесь — один HTTP-запрос, готовый JSON, поиск по названию, городу и SWIFT, и всегда свежая версия справочника.

Обязательна ли регистрация, чтобы попробовать? Нет. Демо-ключ публичный и работает без аккаунта — но возвращает моки, а не реальные данные. Учтите: у мок-банков номера счетов сгенерированы случайно, поэтому их корсчета контрольную проверку не проходят — прогоняйте checkAccountControlKey() на реальных номерах.

Есть ли SDK-пакет в PyPI/npm? Пока нет — это самодостаточные примеры без зависимостей, чтобы их можно было скопировать в свой проект целиком.

Другие API Atlorium

Проверка реквизитов редко бывает единственной задачей. Из того же аккаунта и тем же ключом доступны:

Полный каталог — atlorium.com

Ссылки

Лицензия

MIT — берите код и используйте как хотите, в том числе в коммерческих проектах.

About

API справочника БИК ЦБ РФ: банк по БИК, корсчёт, SWIFT, реквизиты, проверка расчётного счёта. Примеры на Python, TypeScript, Go, Java, C#, PHP. Russian bank BIC directory API client.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors