Skip to content

Rate limits

Each API key may send a fixed number of requests per minute: 60 unless your contract sets another rate. The owner sees the current rate in Settings → API keys.

The limit counts every request with the key, including field calls and requests that end in 202 or an error. Each key has its own counter, so two keys of one organization can each use the full rate.

Requests over the limit are refused by the API gateway and are not billed:

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

Wait the number of seconds in Retry-After, then send the request again.

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

--retry makes curl honour Retry-After on 429. It does not repeat 202.

  • Spread bulk work, such as registering many fields, over time instead of sending it in a burst.
  • Poll GET /v1/fields/{id} every Retry-After seconds rather than faster.
  • Keep the responses you already have, such as statistics for past dates, instead of requesting them again.
  • Use one key per environment so tests do not eat into production’s rate.