Клуб API Карт

Ограничения API Яндекс.Карт для пользователей геокодера и маршрутизатора

Пост в архиве.

Сегодня речь пойдёт об изменениях в работе HTTP и JS Геокодера, а также об условиях использования API Яндекс.Карт.

В сентябре для пользователей HTTP Геокодера, отправляющих запросы без ключа, а также для пользователей JS Геокодера, не передающих реферер или ключ, вступят в силу территориальные ограничения. Геокодирование будет доступно в пределах России, Украины, Беларуси, Казахстана, Грузии, Абхазии, Южной Осетии, Армении, Азербайджана, Молдовы, Туркмении, Таджикистана, Узбекистана, Киргизии и Турции. Если вам нужен поиск за границами этих стран, необходимо получить ключ и отправлять запросы с ним.

Для тех, кто внимательно читал Пользовательское соглашение API Яндекс.Карт, не секрет, что существует ограничение на количество запросов к функции геокодирования и построения маршрутов. Максимально допустимо делать в сутки не более 25 000 запросов к JavaScript и HTTP геокодеру в сумме и не более 25 000 запросов к маршрутизатору.

В последнее время слишком много сайтов стали злоупотреблять нашей добротой, заметно превышая лимиты. Это создаёт дополнительную нагрузку на серверы, тем самым отбирая ресурсы у других сервисов. В ближайший месяц мы будем массово банить доступ к API Яндекс.Карт для сервисов, нарушающих ограничения.

При правильной реализации интеграции с Яндекс.Картами превысить лимит в 25 000 запросов к геокодеру в сутки достаточно сложно. Ваш сайт должен быть очень популярным, а интеграция достаточно сложной, чтобы вы не укладывались в лимит. Например, сайт Райффайзенбанка укладывается в лимит, несмотря на то, что отображает множество отделений банка, банкоматов и терминалов по России.

Мы рекомендуем кэшировать запросы к геокодеру на срок до 30 дней. Обратите внимание — пользовательское соглашение запрещает сохранять координаты и адреса в базу навсегда. Мы, как и вы, стараемся отвечать за качество предоставляемой подложки карт и геообъектов, поэтому для нас очень важно, чтобы посетители любых сайтов видели свежую и актуальную информацию на картах.

Евангелист API Яндекс.Карт Дмитрий Поклонский написал пример проксирования запросов к геокодеру через собственный сервер с кэшированием результатов. Вы можете разработать свою реализацию или воспользоваться готовым кодом. Пример доступен на Github.

Просим реализовать кэширование запросов к геокодеру в ближайшее время, чтобы избежать поломки карт на вашем сайте.

Если ваш сервис настолько популярен, что вы никак не укладываетесь в общие лимиты, скорее всего вам придётся приобрести платную лицензию на использование наших данных. Подробнее о платной версии можно прочесть на сайте технологий Яндекса.

31 комментарий

Здравствуйте!

 

Максимально допустимо делать в сутки не более 25 000 запросов к JavaScript и HTTP геокодеру в сумме и не более 25 000 запросов к маршрутизатору.

Каким способом можно определить количество сделанных запросов и/или сколько осталось до окончания лимита?

Здравствуйте! Отслеживать статистику вы можете на своей стороне, для пользователей бесплатного API Яндекс, к сожалению, не предоставляет статистику по запросам.
Антон Скользнев
27 января 2016, 22:31
Добрый день!

А как будет вести себя сервер в случае превышения допустимого лимита? Будет ли возвращаться сообщения с соответствующей ошибкой?
В случае превышения придёт письмо с предупреждением и предложением перейти на платную версию, если превышение по бесплатной версии API сохранится, доступ будет заблокирован.
Василий Летуев
15 марта 2019, 06:48
Maps API,
 Добрый день! При блокировке, какой ответ сервера на запрос я получу (если можно в json формате)?
Василий Летуев,
вы получите ошибку 403, при этом в Кабинете разработчика по вашему ключу будет видно, что превышен лимит.
Василий Летуев
15 марта 2019, 16:34
Maps API,
Спасибо!
Добрый день. Делаю сервис отзывов о жилье. Жельё идентифицируется по адресу с использованием геокодера (для поддержки различных написаний, а также устарешвих названий). Могу ли я в случае превышения платить, например, за каждую 1000 запросов?
Oleg,
на данный момент есть только те тарифы, которые описаны на нашем сайте. Рекомендуем Вам оценить ожидаемые объемы запросов и попробовать оптимизировать код (в частности для геокодера разрешено временное кеширование).
Если Вы не уложитесь в 25 000 запросов в сутки, обратитесь с Вашим вопросом по адресу: paid-api-maps@yandex-team.ru и мы поможем подобрать оптимальные условия.
Maps API,
с тарифами уже ознакомлен, но для моего скромного стартапа они пока неподъёмны. Если будет превышение, напишу на почту. Спасибо!
Иванкин Сергей
5 августа 2016, 22:00
Добрый вечер!
В случае блокировки, через сколько она снимется? Через 24 часа?
Здравствуйте! IP-адрес нашей организации (роутера, через который мы выходим в интернет, а не нашего сайта) блокирован за превышение лимита по запросам к Яндекс.Картам. Но непонятно, каким образом можно было превысить лимит в 25000 запросов с двух десятков компьютеров? И это при том, что напрямую на сайт Яндекс.Карты заходов практически нет.
Солтан Бийгишиев
4 мая 2017, 20:00
Почему приходят запросы на превышение  лимита запросов к сервису карте яндекс хотя у нас запросы составляют от 300-500 запросов в сутки (для бесплатной версии).  
Солтан Бийгишиев,
какие операции учитываются в лимите, Вы можете прочитать в документации. Если после этого у Вас останутся вопросы, пожалуйста, напишите нам через форму обратной связи или по адресу, указанному на той же странице: в письме потребуется больше деталей: адрес сервиса, IP адреса и какую ошибку Вы видите. Так мы сможем предоставить Вам расширенную статистику и посоветовать способы решения проблемы. 
Вы пишете, что запрещено сохранять адреса и координаты в базу данных навсегда. А на какое время можно?
Тахир,
 В базу сохранять вообще не желательно. Лучше проксировать запросы в геокодер через свой сервер с кешированием. т.е. на клиенте всегда вызывается geocode, но с кастомным провайдером. Этот провайдер мультиплексирует запросы (собирает все вызовы geocode по таймауту в один и отправляет на ваш сервер). Ваш сервер разбирает запрос и смотрит какие из запросов есть в кеше, а каких нет, запрашивает отсутствующие в кеше адреса у Яндекса и кладет в кеш, затем возвращает клиенту.


Вот пример такой реализации.
Кешировать рекомендуется не более чем на месяц
dimik,
так запрещено или нежелательно?
Просто тут написано:

"Данные, полученные средствами API, нельзя сохранять. Например, нельзя один раз получить данные геокодера и затем сохранить их для дальнейшего использования."
Правильно я понимаю, я могу кешировать результаты в течение 30 дней. А могу ли я хранить в базе данных 30 дней?
Тахир,
Мы не регламентируем, где именно хранить кеш. Использовать базу для кеширования, как мне кажется, неудобно. Мало в каких базах есть поддержка TTL для записей. Обычно для кеширования лучше использовать специализированные инструменты типа Redis или Memcached, но не БД
Добрый день! А возможно ли снять бан, если проблемы с превышением лимита устранены?
zmirk,
здравствуйте! Такие вопросы лучше решать через техподдержку
avazzhon.soliev
19 мая 2018, 11:18
Здравствуйте, в Яндекс.карты есть лимит на исходные точки? или только на кол-во запросов в день (25 000). Если к примеру, Я хочу подсчитать расстояние от одной точки на карте до 25 (и более) точек (в гугл.мапс есть до 25 исходных точек можно)
avazzhon.soliev,
лимит только на количество запросов к тарифицируемым сервисам. Вот тут подробнее.
Но если расстояния хотите считать с учетом движения по дорогам, например, на авто, то лучше использовать Яндекс.Маршрутизацию, т.к. многие сценарии таких расчетов запрещены условиями использования JS API. 
avazzhon.soliev
19 мая 2018, 12:00
Ри,
Спасибо.
У Яндекс.Маршрутизации есть API ? 
нужен бесплатный api для подсчёта дистанции между точками. использовать в сети нигде не собираюсь, только в рамках учебы нужен 
Обновлено 19 мая 2018, 12:00
avazzhon.soliev,
Яндекс.Маршрутизация это и есть API. Вот ссылка
Бесплатной версии, к сожалению, нет.
Сергей Б
6 июля 2018, 01:53
Добрый день!


Мой сайт бесплатен и отображает местоположение объекта на карте. У сайта есть админка - редактор. Там редактор ставит точку на карте, которая отображается для всех пользователей. Это 5 - 10 запросов в день с единственного IP. Недавно пришло письмо о нарушении пользовательского соглашения и карта в админке заблокирована. Но... Как сайт может отображать карту с нанесёнными на неё объектами, если их туда никто не может нанести?


Сайт giptrip . com
Сергей Б,
напишите, пожалуйста, в нашу техподдержку. Такие вопросы не очень корректно решать в Клубе и нужно чуть больше информации. Если карта в админке является интерфейсом к настройке общедоступной карты, как правило, это не нарушает условия использования. Пишите, разберемся!
gorod-dobrograd-arwm
28 августа 2019, 14:38
Добрый день!

Вопрос: можно ли повысить максимальное число точек при построении маршрута? Сейчас ограничение стоит на 10 штук, а необходимо 30-50.
gorod-dobrograd-arwm,
здравствуйте, в API Карт нет ограничения на количество точек.
Добрый день. 


Страница http://solidauto.bestjob.by/contacts


У себя я вижу число вызовов API 22, геокодера 16, тарифицируемых 16. Карта не работает. Где же здесь превышение? Выдаётся ошибка 429.


Создал ещё один ключ. Заменил - не работает.

Координаты и адреса объектов карты сохраняются в базу MySQL на Joomla сайте. Это нарушение?
verstalkin,
сохранение результатов геокодировани к себе в базу является нарушением условий использования. Напишите, пожалуйста, нам в техподдержку, поможем разобраться с ошибкой 429 и устранить нарушения.
Товарищи, подскажите как настроить geocode-tool. Творение товарища Поклонского.