Квоты, баланс и лимиты

Каждый ключ получает бесплатную дневную квоту. Сверх неё запросы списываются с предоплаченного баланса или покрываются пакетом Unlimited. Каждый ответ сообщает в заголовках, в каком положении вы находитесь.

Дневная квота

КлючБесплатно за сутки UTCПосле бесплатной квотыIP-слоты
Без ключа2 500 на адресНичего; 429 quota_exceeded с Retry-After до сбросаНет
Оплата по мере использования2 5000,0001 € за запрос с баланса аккаунта; 402 no_credits, когда баланс пуст2 за скользящие 24 часа
UnlimitedВсеНичего3 за скользящие 24 часа

Квота с ключом считается на ключ, а не на аккаунт: три ключа означают трижды по 2 500 бесплатных запросов. Квота без ключа считается на адрес, и адреса из одной сети делят её между собой. Сеть и ключи, используемые из неё, расходуют одну квоту: запросы без ключа уменьшают то, что получит в этот день ключ, используемый из той же сети, и наоборот, поэтому бесплатные 2 500 нельзя получить дважды с одного места. Баланс относится к аккаунту, и с него списывает тот ключ, который превысил свою квоту. Сутки это календарные сутки UTC; X-Quota-Reset содержит точное время Unix следующего сброса.

Что считается запросом

IP-слоты

Ключ работает с двух IP-адресов одновременно (с трёх для ключа Unlimited). Каждый адрес удерживает свой слот 24 часа с момента первого запроса, а затем освобождает его. Запрос с ещё одного адреса, когда все слоты заняты, получает 403 key_ip_limit с временем освобождения следующего слота. Подробности и примеры приведены на странице аутентификации.

Всплески

Фиксированного лимита запросов в секунду сейчас нет, ни с ключом, ни без него. Трафик, похожий на зациклившийся скрипт или атаку, может замедляться, и мы сообщим вам, если это произойдёт с одним из ваших ключей. Если у вас большая задача, используйте пакетные формы (ips, locations), а не тысячи одиночных вызовов.

Как читать заголовки

x-quota-limit: 2500          # free per day for this key; -1 on an Unlimited key
x-quota-used: 2431           # counted today on this key, including this request
x-quota-free-remaining: 69   # free requests left today on this key
x-credits-remaining: 148200  # requests the account's credit still covers
x-key-ips-used: 1            # IP slots currently held on this key
x-key-ips-limit: 2           # slots on this key
x-quota-reset: 1789948800    # Unix time of the next 00:00 UTC
x-request-id: 2726386e38428697

Обработка 402 и 403

{ "status": "error", "error": { "code": "no_credits", "message": "The free allowance of 2500 requests for today is used and the account balance (€0.0000, 0 requests) does not cover this request. Add credit at https://www.mygeocode.com/dashboard or wait for the reset at 00:00 UTC." } }

Не повторяйте запрос в цикле: ответ будет тем же, пока не пополнится баланс или не наступят новые сутки. Прочитайте X-Quota-Reset и либо подождите, либо завершите операцию с ошибкой и сообщите пользователю, либо пополните баланс. Личный кабинет присылает письмо, когда баланс подходит к концу.

{ "status": "error", "error": { "code": "key_ip_limit", "message": "This key is already in use from 2 IP addresses in the last 24 hours (limit 2). The next slot frees at 2026-09-21 23:06 UTC. Use another key or an additional Unlimited package for more addresses." } }

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

Как сократить число запросов

Результаты можно кешировать бессрочно, так и делайте. Адреса не перемещаются; то же прямое геокодирование завтра даст тот же ответ. Блоки IP меняются медленно; сутки являются безопасным временем кеширования. Правила часовых поясов для точки меняются редко, а имя IANA практически никогда. Для автодополнения применяйте debounce к вводу примерно на 150 мс и прекращайте отправку, как только пользователь выбрал подсказку.