Лимиты
В castbase действуют три вида лимитов: лимиты тарифа проекта, лимит запросов на ключ и лимиты самого Instagram.
Лимиты тарифа
Тариф задаёт, сколько в проекте может быть постов в месяц и каналов. Бесплатный тариф — со своими ключами Instagram; платные дополнительно открывают подключение через приложение castbase («Войти через Instagram»). Актуальные значения тарифов — на странице «Тарифы» в кабинете проекта (значения, которые ещё не определены, показываются как «уточняется»).
Расход и остаток — GET /v1/usage:
{
"plan": {"code": "free", "title": "Бесплатный", "period_end": null},
"period": {"start": "2026-11-01T00:00:00+00:00", "resets_at": "2026-12-01T00:00:00+00:00"},
"posts": {"limit": 100, "used": 12, "remaining": 88},
"channels": {"limit": 3, "used": 1},
"managed_connect": false,
"placeholder": false
}
limit: null — ограничения нет. period.resets_at — когда счётчик постов обнулится.
channels.used — каналы, занимающие место в лимите: подключённые и ещё проверяемые. Не считаются отключённые,
неудавшиеся подключения и канал в статусе reauth_required — его можно переподключить новым токеном на том же тарифе.
Превышение
| Лимит | Ответ | Что делать |
|---|---|---|
| Постов в месяц | 429 posts_limit_exceeded + Retry-After (секунды до сброса), поля limit, plan, resets_at |
дождаться сброса или сменить тариф |
| Каналов | 402 channels_limit_exceeded, поля limit, plan |
отключить канал или сменить тариф: ждать бесполезно |
Различие 429 и 402 осмысленное: 429 проходит со временем, 402 — только со сменой тарифа.
Пост засчитывается в лимит при постановке в расписание.
{
"type": "https://castbase.ru/docs/errors#posts_limit_exceeded",
"title": "Лимит тарифа исчерпан",
"status": 429,
"detail": "Лимит постов в месяц по тарифу исчерпан: 100. Счётчик обнулится 2026-12-01T00:00:00+00:00.",
"code": "posts_limit_exceeded",
"limit": 100,
"plan": "free",
"resets_at": "2026-12-01T00:00:00+00:00"
}
Лимит запросов
На каждый API-ключ — не больше 600 запросов в минуту (скользящее окно; одно значение на /v1 и /mcp). Сверх этого —
429 rate_limited и заголовок Retry-After с числом секунд до следующей попытки:
HTTP/1.1 429 Too Many Requests
Retry-After: 12
Content-Type: application/problem+json
Обрабатывайте 429 так: подождать Retry-After секунд и повторить тот же запрос с тем же Idempotency-Key.
Не опрашивайте ленту событий чаще раза в несколько секунд: минуты достаточно.
Лимиты Instagram
Instagram ограничивает число публикаций аккаунта за скользящие 24 часа и частоту вызовов API. castbase следит за этим
сам: перед публикацией спрашивает у Instagram текущую квоту, а если она исчерпана, откладывает цель
(deferred, событие post.deferred, retry_at — когда попробуем снова) вместо того, чтобы получить блокировку аккаунта.
Подробнее — в разделе Особенности Instagram.