Api получения курса валют

Параметры запроса:
get = currency_list — запрос списка валют
key = ваш API-KEY

REQUEST:
GET: https://currate.ru/api/?get=currency_list&key=YOUR-API-KEY

Параметры запроса:
get = rates — запрос котировок
pairs = валютные пары, разделенные запятой (список пар можно получить методом currency_list)
date = Дата и время [опционально], по умолчанию берутся последние данные (GMT +03:00). Пример: &date=2018-02-12T15:00:00
key = ваш API-KEY

REQUEST:
GET: https://currate.ru/api/?get=rates&pairs=USDRUB,EURRUB&key=YOUR-API-KEY

RESPONSE (json):
<"status":"200","message":"rates","data":<"EURRUB":"71.3846","USDRUB":"58.059">>
Обратите внимание, валютные пары можно задавать в любом порядке USDRUB = 56.311 или RUBUSD = 0.01776

Наши ресурсы ограничены, но мы постоянно совершенствуемся.

C 10.05.2019 введены ограничения 1000 запросов в сутки. Отслеживать количество запросов можно в личном кабинете

Example 1
Например, для получения котировок на заданный день
http://www.cbr.ru/scripts/XML_daily.asp?date_req=02/03/2002
date_req= Date of query (dd/mm/yyyy)
* если параметр(date_req) отсутствует, то Вы получите документ на последнюю зарегистрированную дату.
— Справочник по кодам валют: http://www.cbr.ru/scripts/XML_val.asp?d=0 (XML_valFull.asp список включающий ISO коды валют)
d=0 Коды валют устанавливаемые ежедневно.
d=1 Коды валют устанавливаемые ежемесячно.
http://www.cbr.ru/scripts/XML_daily.asp?date_req=02/03/2002&d=1 — котировки валют устанавливаемые ежемесячно (устарело).
Aнгл. версия:
http://www.cbr.ru/scripts/XML_daily_eng.asp?date_req=22/01/2007
http://www.cbr.ru/scripts/XML_daily_eng.asp?date_req=01/01/2007&d=1

Example 2
Пример получения динамики котировок доллара США:
http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=02/03/2001&date_req2=14/03/2001&VAL_NM_RQ=R01235
date_req1 — date_req2 = Date range
VAL_NM_RQ — unique code (you can get this code from Example 1)

Example 3
Пример получения динамики сведений об остатках средств на корреспондентских счетах кредитных организаций
date_req1 — date_req2 = Date range
http://www.cbr.ru/scripts/XML_ostat.asp?date_req1=01/06/2001&date_req2=05/06/2001

Example 4
Пример получения динамики котировок драгоценных металлов
date_req1 — date_req2 = Date range
http://www.cbr.ru/scripts/xml_metall.asp?date_req1=01/07/2001&date_req2=13/07/2001
ВНИМАНИЕ c 01.07.2008 дата установления цены является действующей, до 01.07.2008 — датой установления.

Example 6
Пример получения динамики ставок привлечения средств по депозитным операциям Банка России на денежном рынке

В последнее время технические ресурсы Банка России работают ненадежно. Усложнено получение данных о текущих курсах валют: от разработчиков требуют ставить специальные заголовки, данные не загружаются с первого раза. В следствие чего старые скрипты перестали работать.

Осложнение объясняют ведущейся на сервис DDoS атакой, но ведь нам от этого не легче.

Выход есть!

Достаточно заменить старые ссылки на сервисы ЦБ РФ на ссылки на нашем ресурсе, и получать все те же самые данные без какой-либо переделки старых скриптов.

Если вы использовали такую ссылку для получения котировок на сегодня:

То вам подойдет любая из двух ниже, в зависимости от того, нужна ли вам перекодировка в UTF-8 или устроит исходная 1251:

Если вы использовали английскую версию:

То на замену вам подойдую любые из этих, с кодировкой 1251 или в UTF-8:

Кроме файлов с курсами в формате XML на нашем ресурсе вы можете получить курсы валют в формате JSON и курсы ЦБ РФ в формате JSONP:

Для вашего удобства в последних есть курсы на сегодняшнюю и прошлую даты. Посмотрите сами.

Вот и всё!

Время, которое вы бы потратили на переписывание и обновление старых приложений, теперь вы можете использовать и для более приятных занятий.

Этот проект был бы невозможен без выделенного сервера Xeon E5 Dual от Timeweb. Сервера для любых нагрузок — от Timeweb.

Как показать текущие курсы валют на сайте?

Нет ничего проще! Добавьте такой код:

Курс валют ЦБ РФ для сайта на PHP

Страницы с курсом открываются медленней, чем без? Есть ответ! Вам нужно кешировать курсы. Они меняются не чаще раза в день, потому вы ничего не потеряете от обновления курсов раз в несколько часов. Для верности будем обновлять курсы раз в час:

Что делает эта функция:

  1. Ранее скаченные курсы будем держать в daily.json в текущем каталоге.
  2. Если файла нет или он был изменён больше чем час назад.
  3. Выгрузим новые курсы и проверим что скачка прошла успешно (функция вернула данные, а не false).
  4. Сохраним успешно выкачанные курсы в файл.
  5. Получим данные из файла, распарсим JSON и вернём объект с курсами валют ЦБ РФ.

Как получить последние курсы со стороны сервера?

Не пользуетесь PHP? Нет проблем! Добавьте такой код в /etc/cron.hourly/cbr:

Затем дайте права на выполнение:

И сделайте первую загрузку:

Эта программа будет поддерживать самую актуальную версию данных о курсах валют во всех форматах в каталоге /var/cache/cbr/

Использовать их можно, например, так:

Да, вот так просто! Работает и оффлайн.

Условия использования

Раз, не более 5 запросов в секунду, 120 запросов в минуту с одного IP и не более 10000 запросов в сутки, пожалуйста. Если вам надо больше, то вы что-то делаете не так. Попробуйте использовать кеш данных курсов валют.

Два, разместите обратную ссылку на проект:

Администрация сайта оставляет за собой право закрыть доступ для IP и сайтов, нарушающих условия использования.

Понравилось? Помогло? Сберегло время?

Помогите с оплатой услуг CDN для проекта. Услуги CDN стоят примерно 1200 рублей в месяц.

Спонсоры сайта имеют возможность обратиться к администрации сайта с вопросами и предложениями.

Данные ниже получены из файла в формате JSONP.


[an error occurred while processing the directive]
Карта сайта