# VK API: Выгрузить участников сообщества

Сценарий из mcp-everything. Актуально на 2026-10-24.

Список подписчиков для аналитики или сегментации.

1. Запроси первую тысячу: POST /method/groups.getMembers с group_id, count = 1000 и offset = 0. В ответе count — общее число участников.
2. Листай с шагом offset += 1000, пока не наберёшь всех.
3. Для больших сообществ упакуй до 25 вызовов в один запрос: POST /method/execute с кодом на VKScript — так быстрее и не упрёшься в ограничение частоты (ошибка 6).
4. Если нужны поля участников (город, пол), передай fields — но ответ станет тяжелее.

```bash
curl https://api.vk.ru/method/execute -H "Authorization: Bearer $VK_SERVICE_TOKEN" \
  -d v=5.199 \
  --data-urlencode 'code=var i = 0; var res = []; while (i < 25) { res.push(API.groups.getMembers({"group_id": 123456, "count": 1000, "offset": i * 1000}).items); i = i + 1; } return res;'
```

## Базовые URL

- Боевой: `https://api.vk.ru`
- URL метода: `https://api.vk.ru/method/<имя-API-метода>`

## Авторизация

Тип: Bearer-токен

Ключ доступа передаётся в каждом запросе в заголовке `Authorization: Bearer <КЛЮЧ_ДОСТУПА>`. Тип ключа указан у каждого метода: ключ пользователя, ключ сообщества или сервисный ключ приложения.

Ответ:

```
curl 'https://api.vk.ru/method/users.get' \
  -H 'Authorization: Bearer <КЛЮЧ_ДОСТУПА>' \
  -F 'user_ids=743784474' \
  -F 'fields=bdate' \
  -F 'v=5.131'
```

## Методы сценария

### POST /method/groups.getMembers — Участники сообщества

Ключи: пользователя, сообщества, сервисный.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `v` | body | string | да | Версия API |
| `group_id` | body | string | нет | ID или короткое имя сообщества |
| `sort` | body | string | нет | id_asc (по умолчанию), id_desc, time_asc, time_desc |
| `offset` | body | integer | нет | Смещение |
| `count` | body | integer | нет | Количество, по умолчанию и максимум 1000 |
| `fields` | body | array | нет | Доп. поля участников |
| `filter` | body | string | нет | friends, unsure и др. |

### POST /method/execute — Пакетное выполнение кода

Ключи: пользователя, сообщества. Выполняет код, вызывающий несколько методов API за один запрос; ошибка компиляции — код 12.

## Нюансы

- HTTP-методы GET и POST равнозначны; только HTTPS.
- Обязательный во всех запросах параметр `v` — версия API. В документации указана актуальная версия 5.131, а официальная JSON-схема методов VK описывает версию 5.199.
- Тело POST — `application/x-www-form-urlencoded` или `multipart/form-data` (для файлов и данных больше 2 КБ); `application/json` не поддерживается.
- Имя метода чувствительно к регистру.
- Общие параметры для всех методов: `lang` (`ru`, `uk`, `be`, `en`, `es`, `fi`, `de`, `it`) и `test_mode=1`.
- ID сообщества в `owner_id` передаётся со знаком минус.
- Кроме ограничений частоты есть закрытые количественные лимиты на однотипные методы: при превышении метод может стать временно недоступен или потребовать капчу.

## Другие сценарии

- [Бот сообщества: принимать сообщения через Long Poll](https://mcp-everything.ru/integrations/vk-api/scenarios/bot-soobschestva-prinimat-soobscheniya.md)
- [Кнопки в боте сообщества](https://mcp-everything.ru/integrations/vk-api/scenarios/knopki-v-bote-soobschestva.md)
- [Опубликовать пост с картинкой в сообществе](https://mcp-everything.ru/integrations/vk-api/scenarios/opublikovat-post-s-kartinkoy.md)
- [Узнать данные пользователя или сообщества по ссылке](https://mcp-everything.ru/integrations/vk-api/scenarios/uznat-dannye-polzovatelya-ili.md)

---

Если этого недостаточно — официальная документация: https://dev.vk.com/ru/api/api-requests
Вся интеграция одним документом: https://mcp-everything.ru/integrations/vk-api.md
