Сегодня речь пойдёт об изменениях в работе HTTP и JS Геокодера, а также об условиях использования API Яндекс.Карт.
В сентябре для пользователей HTTP Геокодера, отправляющих запросы без ключа, а также для пользователей JS Геокодера, не передающих реферер или ключ, вступят в силу территориальные ограничения. Геокодирование будет доступно в пределах России, Украины, Беларуси, Казахстана, Грузии, Абхазии, Южной Осетии, Армении, Азербайджана, Молдовы, Туркмении, Таджикистана, Узбекистана, Киргизии и Турции. Если вам нужен поиск за границами этих стран, необходимо получить ключ и отправлять запросы с ним.
Для тех, кто внимательно читал Пользовательское соглашение API Яндекс.Карт, не секрет, что существует ограничение на количество запросов к функции геокодирования и построения маршрутов. Максимально допустимо делать в сутки не более 25 000 запросов к JavaScript и HTTP геокодеру в сумме и не более 25 000 запросов к маршрутизатору.
В последнее время слишком много сайтов стали злоупотреблять нашей добротой, заметно превышая лимиты. Это создаёт дополнительную нагрузку на серверы, тем самым отбирая ресурсы у других сервисов. В ближайший месяц мы будем массово банить доступ к API Яндекс.Карт для сервисов, нарушающих ограничения.
При правильной реализации интеграции с Яндекс.Картами превысить лимит в 25 000 запросов к геокодеру в сутки достаточно сложно. Ваш сайт должен быть очень популярным, а интеграция достаточно сложной, чтобы вы не укладывались в лимит. Например, сайт Райффайзенбанка укладывается в лимит, несмотря на то, что отображает множество отделений банка, банкоматов и терминалов по России.
Мы рекомендуем кэшировать запросы к геокодеру на срок до 30 дней. Обратите внимание — пользовательское соглашение запрещает сохранять координаты и адреса в базу навсегда. Мы, как и вы, стараемся отвечать за качество предоставляемой подложки карт и геообъектов, поэтому для нас очень важно, чтобы посетители любых сайтов видели свежую и актуальную информацию на картах.
Евангелист API Яндекс.Карт Дмитрий Поклонский написал пример проксирования запросов к геокодеру через собственный сервер с кэшированием результатов. Вы можете разработать свою реализацию или воспользоваться готовым кодом. Пример доступен на Github.
Просим реализовать кэширование запросов к геокодеру в ближайшее время, чтобы избежать поломки карт на вашем сайте.
Если ваш сервис настолько популярен, что вы никак не укладываетесь в общие лимиты, скорее всего вам придётся приобрести платную лицензию на использование наших данных. Подробнее о платной версии можно прочесть на сайте технологий Яндекса.