Перейти к содержимому

Лимиты частоты

Каждый API-ключ может отправлять фиксированное число запросов в минуту: 60, если договор не задаёт другое значение. Текущий лимит владелец видит в разделе Настройки → API-ключи.

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

Запросы сверх лимита отклоняет шлюз API, и они не оплачиваются:

HTTP/1.1 429 Too Many Requests
Retry-After: 17
Content-Type: application/json
{"success": false, "error": {"code": "rate_limited", "message": "Rate limit exceeded."}}

Подождите столько секунд, сколько указано в Retry-After, и отправьте запрос снова.

curl --retry 5 \
"https://api.agrosat.uz/v1/fields" -H "X-API-Key: $AGROSAT_API_KEY"

С --retry curl учитывает Retry-After при ответе 429. Ответ 202 он не повторяет.

  • Растягивайте массовые операции, например регистрацию большого числа полей, во времени, а не отправляйте их пачкой.
  • Опрашивайте GET /v1/fields/{id} раз в Retry-After секунд, не чаще.
  • Не запрашивайте повторно то, что уже получили, например статистику за прошедшие даты.
  • Используйте отдельный ключ для каждого окружения, чтобы тесты не съедали лимит продакшена.