Выгрузка
·8 мин чтения

Парсинг ВКонтакте через VK API: что разрешено, а что нет

Что можно собирать через VK API, какие лимиты на запросы, какие методы дают посты сообществ, и где проходит граница между легальным парсингом и нарушением правил ВКонтакте.

VK API — официальный интерфейс для работы с данными ВКонтакте. Через него можно собирать посты публичных сообществ, считать охваты, выгружать комментарии и реакции. Но не все методы доступны без ограничений, и не любое использование данных совпадает с правилами площадки. Ниже — практический разбор, что можно, а что нельзя, со ссылками на официальные правила и методы.

Что вообще даёт VK API

Документация на dev.vk.com описывает несколько сотен методов. Для задачи «выгрузить посты сообщества» главные — wall.get, wall.getComments, likes.getList, users.get и groups.getById.

wall.get возвращает массив записей со стены группы или пользователя. Каждая запись — это объект с id, текстом, датой, лайками, репостами, комментариями, attachments. Метод поддерживает пагинацию через offset, лимит — 100 записей за запрос. На 50 000 записей потребуется 500 запросов, и тут начинаются нюансы лимитов.

Что разрешено по правилам ВКонтакте

Согласно правилам платформы для разработчиков, открытые публикации публичных сообществ и страниц можно получать через VK API в рамках лимитов. Это включает: текст поста, метрики (просмотры, лайки, репосты, комментарии), вложенные медиа в виде ссылок, информацию об авторе записи, дату публикации.

Что должно соблюдаться: запросы идут с действительного access-токена (сервисного, приложения или пользователя — в зависимости от метода), лимиты не превышаются, данные не используются для обхода настроек приватности или массовой рассылки.

Если сообщество публичное и его записи открыты — их можно скачивать и анализировать. Это обычная работа любого медиамониторингового инструмента.

Что запрещено

Есть три явных границы.

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

2. Персональные данные пользователей за пределами публикаций. Email, номер телефона, скрытые поля профиля, история активности — это персональные данные. Их сбор без согласия пользователя нарушает и правила ВКонтакте, и 152-ФЗ. К постам публичного сообщества это не относится: автор поста — само сообщество, а реакции и комментарии — это публикуемая активность, разрешённая для агрегации.

3. Обход капчи и лимитов запросов. Если API отвечает капчей или ошибкой too many requests, нужно сбавлять темп, а не подменять токены и не запускать запросы с десятков IP. Обход технических ограничений — серая зона, которая быстро заканчивается блокировкой приложения.

Лимиты и токены

У VK API три типа доступа.

Сервисный токен (server-to-server) — для бэкенд-задач. Лимит — 5 запросов в секунду на токен. Подходит для регулярного сбора публичных данных. Получить можно в настройках приложения VK Mini Apps.

Токен приложения (Standalone) — для работы от имени пользователя. Лимит — 3 запроса в секунду. Нужен, когда метод требует пользовательского контекста.

Open API access — для веб-приложений. Дополнительные ограничения по количеству пользователей и методам.

Для задачи «выгрузить публичные посты» в 99% случаев достаточно сервисного токена. На большой объём имеет смысл ставить паузу 350–400 мс между запросами, чтобы не упереться в предел и не получить временную блокировку.

Что собирать тяжело

Реакции и сводные метрики просмотров отдаются нестабильно. Метод likes.getList возвращает список лайкнувших пользователей, но для постов с десятками тысяч реакций пагинация требует много запросов. Просмотры приходят сразу в wall.get в поле views.count, но только для записей не старше определённого срока — VK не отдаёт исторические просмотры за весь срок жизни поста.

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

Когда стоит писать свой парсер

Если у вас инженерная команда и регулярная задача собирать ВК-данные в свой дата-склад — пишите. Стек: aiohttp + ratelimiter + asyncpg, токены в Vault или Secrets Manager, очередь задач в Celery или RQ. На запуск уйдёт неделя-две, но дальше пайплайн будет давать предсказуемый поток данных.

Если задача разовая — выгрузить пять-десять сообществ для отчёта или исследования — это неделя работы программиста против пары минут парсера ВК на vygruzka.online. Сервис обращается к VK API через сервисные токены, соблюдает лимиты, отдаёт сразу xlsx со всеми реакциями и просмотрами, плюс файл со сводной аналитикой. Стоимость от 10 ₽ за сообщество, без подписки.

Что в итоге

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

Читать дальше