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

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

Лимиты по скользящему окну на каждый ключ API, заголовки X-RateLimit и правильная стратегия повторов.

Обновлено 13 августа 2026 г.

Лимиты считаются на каждый ключ по скользящему окну в одну минуту. По умолчанию: 600 запросов в минуту для ключей рабочего пространства, 1200 для партнёрских; ваш тариф может задавать другие значения, а фактический лимит всегда указан в заголовках ответа.

Заголовки

Каждый ответ несёт текущее состояние:

X-RateLimit-Limit: 600
X-RateLimit-Remaining: 273
X-RateLimit-Reset: 1755081600
  • X-RateLimit-Limit — ёмкость окна для этого ключа.
  • X-RateLimit-Remaining — сколько запросов осталось в текущем окне.
  • X-RateLimit-Reset — время Unix (в секундах), когда окно освободится.

При превышении API отвечает 429 с заголовком Retry-After:

{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit exceeded, retry later",
    "doc_url": "https://linkprofit.com/docs/api/errors"
  }
}
Retry-After: 12

Окно скользит

Счётчик не обнуляется в начале минуты: всплеск в 10:00:55 всё ещё учитывается в окне в 10:01:05. Планируйте ровный темп, а не всплески, выровненные по минутам.

Отклонённые запросы тоже считаются — плотный цикл повторов на 429 лишь держит ключ заблокированным.

Повтор, который ведёт себя прилично

async function withRateLimit(request) {
  for (let attempt = 0; attempt < 5; attempt += 1) {
    const response = await request();
    if (response.status !== 429) return response;

    const wait = Number(response.headers.get("retry-after") ?? "1");
    await new Promise((resolve) => setTimeout(resolve, wait * 1000 + attempt * 250));
  }
  throw new Error("Rate limit retries exhausted");
}

Уважайте Retry-After вместо того, чтобы гадать, добавляйте джиттер, чтобы параллельные обработчики не повторяли запросы синхронно, и ограничивайте число попыток.

Как оставаться в пределах лимита

  • Следите за X-RateLimit-Remaining и замедляйтесь до того, как дойдёте до нуля.
  • Используйте POST /links/bulk — один запрос создаёт до 100 ссылок.
  • Предпочитайте webhook опросу: события приходят к вам за секунды и не стоят ни одного запроса.