VK
8 мин·

Ограничения VK API для сообществ и бизнес-аккаунтов

Все ограничения VK API в одном месте: rate limits, права доступа, модерация и стратегии работы.

Обзор ограничений VK API

VK API — мощный инструмент, но с большим количеством ограничений, которые далеко не всегда очевидны из документации. Для бизнеса, строящего уведомления или рассылки через VK, понимание этих ограничений критически важно: нарушение лимитов ведёт к временным блокировкам, потере сообщений и даже бану сообщества.

В этой статье мы систематизируем все ключевые ограничения VK API, актуальные на 2026 год, с фокусом на рассылки от имени сообществ. Если вы строите массовые уведомления через VK, также стоит ознакомиться с «VK API для массовых уведомлений: пошаговый разбор».

VK регулярно ужесточает ограничения без предупреждения. Мы обновляем эту статью по мере появления новых лимитов. Последнее обновление: февраль 2026.

Rate limits по методам API

VK использует многоуровневую систему rate limiting. Лимиты зависят от типа токена (пользователь или сообщество), метода API и типа приложения.

Категория методаЛимит (сообщество)Лимит (пользователь)Примечание
Общий rate limit20 req/s3 req/sНа один access_token
messages.send20 req/sЗапрещено для рассылокГруппировка через execute
messages.getConversations3 req/s3 req/sСтрогий лимит
users.get20 req/s3 req/sДо 1000 user_ids за запрос
wall.post~50/день~50/деньВнутренний лимит VK
execute20 req/s3 req/sДо 25 вложенных вызовов
groups.getMembers3 req/s3 req/sДо 1000 записей за запрос
Загрузка файлов~5 req/s~5 req/sЗависит от размера файла

Обратите внимание: VK не всегда возвращает стандартный HTTP 429 при превышении лимитов. Часто API отвечает кодом 200 с ошибкой error_code: 6 (Too many requests per second) или error_code: 9 (Flood control). Это требует специфической обработки.

Лимиты на сообщения сообществ

Лимиты на отправку сообщений — самое критичное ограничение для бизнеса:

ОграничениеЗначениеОбход
Рассылка в сутки5 000 сообщенийРаспределение по дням
Сообщения не подписчикуЗапрещеноТолько через подписку
Ответ в диалоге (24 ч)Без лимита
Проактивное сообщение (>24 ч)Через рассылкуСчитается в суточный лимит
Размер сообщения4 096 символовРазбивка на несколько сообщений
ВложенияДо 10 шт.
Inline-кнопки10×5 = 50 макс.

Суточный лимит в 5 000 сообщений — это «потолок» для большинства сообществ. Для сравнения, В MAX ориентируйтесь на актуальные лимиты из нашего разбора MAX Bot API, а в Telegram — на отдельный разбор ограничений Telegram.

Права доступа и разрешения

VK API использует систему прав (permissions), которые запрашиваются при создании токена. Для работы с сообщениями сообщества необходимы:

  • messages — доступ к сообщениям сообщества. Без этого права отправка невозможна
  • manage — управление сообществом. Необходимо для настройки Callback API и рассылок
  • photos — загрузка фотографий. Нужно при отправке изображений в сообщениях
  • docs — работа с документами. Для отправки файлов (PDF, XLSX и т.д.)

Важные ограничения по правам:

  • Токен пользователя не может использоваться для рассылок — только токен сообщества
  • Для создания токена нужны права управления сообществом
  • Нельзя отправлять сообщения пользователям, которые добавили сообщество в чёрный список
  • VK может отозвать права без уведомления при обнаружении подозрительной активности

Модерация контента

VK активно модерирует содержимое сообщений от сообществ. Нарушение правил ведёт к блокировке рассылки или бану сообщества:

  • Спам-фильтр — автоматическая проверка контента. Одинаковый текст большому количеству получателей повышает спам-скор
  • Жалобы пользователей — если более 2–3% получателей пожалуются, рассылка блокируется
  • Запрещённый контент — ссылки на внешние ресурсы (не VK) могут снижать доставляемость
  • Капча — VK может потребовать капчу при подозрительной активности (error_code: 14)
// Обработка ошибок VK API в JavaScript
async function safeSendVk(userId, text, token) {
  const params = new URLSearchParams({
    user_id: String(userId),
    random_id: String(Math.floor(Math.random() * 1e9)),
    message: text,
    access_token: token,
    v: '5.199'
  });

  const res = await fetch(
    'https://api.vk.com/method/messages.send?' + params.toString()
  );
  const data = await res.json();

  if (data.error) {
    switch (data.error.error_code) {
      case 6:   // Too many requests
        await sleep(1000);
        return safeSendVk(userId, text, token); // retry
      case 9:   // Flood control
        await sleep(5000);
        return safeSendVk(userId, text, token); // retry с увеличенной паузой
      case 14:  // Captcha required
        console.error('Captcha required — нужно ручное вмешательство');
        throw new Error('CAPTCHA_REQUIRED');
      case 901: // Пользователь запретил сообщения
        console.warn(`User ${userId} has blocked messages`);
        return null; // не повторять
      case 914: // Рассылка заблокирована
        console.error('Mailing is blocked by VK');
        throw new Error('MAILING_BLOCKED');
      default:
        throw new Error(`VK Error: ${data.error.error_code} — ${data.error.error_msg}`);
    }
  }
  return data.response;
}

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

Версионирование и устаревание API

VK поддерживает несколько версий API одновременно, но периодически устаревает старые версии без длительного переходного периода:

  • Актуальная версия — 5.199 (февраль 2026). Лучше использовать её во всех запросах
  • Минимальная поддерживаемая — 5.131. Более старые версии могут возвращать ошибки или некорректные данные
  • Обратная совместимость — не гарантирована. VK может изменить формат ответа между версиями
  • Уведомления — об устаревании публикуются в блоге VK для разработчиков, но срок обычно составляет 3–6 месяцев

Всегда указывайте параметр v=5.199 в запросах. Без указания версии VK использует версию, привязанную к приложению (часто устаревшую).

Проблема версионирования VK API — одна из причин, почему разработчики предпочитают абстрагироваться через платформу-посредник. Релая отслеживает изменения в VK API и адаптируется автоматически, так что ваш код не ломается при обновлении VK.

Обходные решения и best practices

Многие ограничения VK API можно обойти грамотной архитектурой:

  • Используйте execute — группируйте до 25 вызовов в один запрос. Это фактически увеличивает пропускную способность в 25 раз при 20 req/s
  • Реализуйте retry с backoff — при ошибке 6 (rate limit) используйте экспоненциальный backoff: 1с → 2с → 4с → 8с
  • Персонализируйте сообщения — уникальный контент для каждого получателя снижает спам-скор VK
  • Распределяйте рассылку по времени — не отправляйте все 5 000 сообщений в одну минуту. Равномерно растяните на 2–4 часа
  • Мониторьте error rate — если процент ошибок превышает 5%, приостановите рассылку и проверьте причину
  • Сегментируйте базу — отправляйте разный контент разным группам подписчиков для повышения вовлечённости

И самый эффективный «обход» — использовать несколько каналов. Если суточный лимит VK (5 000) недостаточен, подключите MAX и Telegram через Релая.

Сравнение с MAX API

Для бизнеса, уставшего от ограничений VK, полезно взглянуть на альтернативы. MAX API предлагает принципиально другой подход:

КритерийVK APIMAX API
Модель взаимодействияЧерез сообществаНапрямую через ботов
Rate limit20 req/s~30 req/s
Суточный лимит рассылки5 000Нет жёсткого лимита
Подписка пользователяОбязательна (сложно)Нужен /start от пользователя
КапчаМожет потребоватьсяНет
ВерсионированиеЧастые измененияСтабильное
Хранение данных (152-ФЗ)РоссияРоссия

MAX API проще, быстрее и менее ограничен. Для бизнеса, которому нужна массовая рассылка в России, MAX становится предпочтительным каналом.

Не обязательно выбирать между VK и MAX — через Релая вы можете использовать оба канала (и Telegram) через единый API. VK для существующей аудитории, MAX для роста, Telegram как резерв. Подробнее: массовые уведомления через VK.

Создайте бесплатный MAX-профиль

Если хочется не просто читать, а сразу проверить сценарий руками: подключите MAX, отправьте себе тестовое сообщение и уже потом решайте, нужны ли другие каналы.