Комментарии 8
Красавчики, наконец-то кто-то это сделал! А то я с их SOAP когда-то разбирался, спустя время смотрю - вообще ничего не понятно. А тут библиотека теперь спасёт. Спасибо!
А мосбиржа есть?
Классно, но валютные пары возвращают идентичные значения: 'EURUSD.CBR' и 'EURRUB.CBR'

Дело в том, что ЦБ дает официальные курсы валют только к рублю. Кросскурсов (EURUSD) в базе данных нет. Правильный формат запроса для курса евро:
cbrapi.get_time_series(symbol='EUR', first_date='2019-01-01', last_date='2020-12-31', period='D')Запрос с тикером EURXXX даст ровно такой же результат.
Убедиться в этом можно запросив внутренний код ЦБ для разных валютных пар.
cbrapi.get_currency_code('EUR')R01239
cbrapi.get_currency_code('EURRUB.CBR')R01239
cbrapi.get_currency_code('EURUSD.CBR')R01239
Это особенность API ЦБ. cbrapi просто передает туда запросы. Хотя предусмотреть какую-то защиту от неправильных запросов можно было бы.
П.С. В документации к функции get_time_series действительно есть ошибка. Мы её поправим.
А данные по актуальным реквизитам банков не вытягиваете?
У них описан API

Библиотека Python для доступа к данным ЦБ: cbrapi