POST /api/v1/bulk-taskscurl -X POST "https://tgvalidator.com/api/v1/bulk-tasks" \
-H "X-API-Key: sk_your_api_key" \
-F service_type=tg_username_profile_batch \
-F file=@usernames.txtPOST /api/v1/bulk-tasksservice_type=tg_username_profile_batchМассовый продукт tg_username_profile_batch
ID пользователя, дни активности и URL аватара для целого списка имён пользователей.
Дополнение для больших списков целиком — для нескольких номеров проверка в реальном времени отвечает в том же запросе. Проверка в реальном времени →
Контракт API
При отправке сразу возвращается id задачи; проверяйте задачу по этому id, и после успешного завершения ответ будет содержать ссылку для скачивания файла результата. Каждый запрос показан вместе со своим ответом.
id задачи возвращается сразу с preparing = true, пока файл подготавливается в фоне: некорректные строки, дубликаты и — для задач с номерами — номера без кода страны или из другой страны удаляются и не оплачиваются. Баланс резервируется за отправленные строки, а расчёт производится по завершении; разница возвращается.
POST /api/v1/bulk-taskscurl -X POST "https://tgvalidator.com/api/v1/bulk-tasks" \
-H "X-API-Key: sk_your_api_key" \
-F service_type=tg_username_profile_batch \
-F file=@usernames.txt200 OK{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "tg_username_profile_batch",
"status": "processing",
"submitted_lines": 1015,
"total": 1015,
"invalid_cnt": 0,
"no_code_cnt": 0,
"other_country_cnt": 0,
"duplicate_cnt": 0,
"preparing": true,
"created_at": "2026-09-08T09:30:00Z"
}
}Опрашивайте по id задачи. После завершения подготовки submitted_lines = total + invalid_cnt + no_code_cnt + other_country_cnt + duplicate_cnt, где total — количество проверяемых и оплачиваемых номеров. Успешный ответ содержит количество успешных и неудачных проверок и ссылку для скачивания файла результата; задача, отклонённая при подготовке, получает статус failed с reason_detail, и средства возвращаются полностью.
GET /api/v1/bulk-tasks/{id}curl "https://tgvalidator.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
-H "X-API-Key: sk_your_api_key"200 OK{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "tg_username_profile_batch",
"status": "success",
"submitted_lines": 1015,
"total": 1000,
"invalid_cnt": 3,
"no_code_cnt": 0,
"other_country_cnt": 0,
"duplicate_cnt": 12,
"preparing": false,
"success_cnt": 990,
"failure_cnt": 10,
"result_url": "https://…/result.csv",
"created_at": "2026-09-08T09:30:00Z"
}
}Как это работает
Массовая проверка — это не увеличенная проверка в реальном времени, а схема «отправили один раз, выполняется в фоне, забрали позже». Держать страницу открытой не нужно: состояние задачи и результаты сохраняются в вашей панели.
Файл .txt или .csv с одним номером на строку. Он передаётся потоком напрямую, ничего не записывается на диск.
Очевидные проблемы (пустой файл, неверный формат, слишком мало строк) отклоняются при загрузке. Затем резервируется баланс, и файл подготавливается в фоне: удаляются некорректные строки, дубликаты и номера без кода страны или из другой страны, а также проверяется правило одной страны. Файл, не прошедший этот этап, завершается как неудавшаяся задача с полным возвратом средств; в противном случае проверяются только оставшиеся строки, а расчёт по задаче производится по её завершении.
Задача выполняется самостоятельно — страницу можно закрыть. О сбое сообщается сразу, и средства возвращаются полностью.
Заберите файл на странице массовой проверки. Вы платите только за номера, по которым действительно получен результат; разница возвращается.
Поля результата
Для скачивания предоставляется один файл CSV с этой полной таблицей.
identifier · alex_kim — Отправленное имя пользователя без @ и t.me/ (например, alex_kim).activated · true — Принадлежит ли имя пользователя существующему аккаунту Telegram: true или false. Если значение не true, все остальные столбцы в этой строке остаются пустыми.uid · 1234567890 — ID пользователя Telegram; может быть пустым даже для существующего аккаунта.activedays · 9 — Количество дней с последнего посещения аккаунта, целым числом — чем меньше, тем свежее. Если аккаунт скрывает точное время последнего посещения, Telegram раскрывает только диапазон, и значение приблизительное: 0 (недавно), 7 (в течение недели), 30 (в течение месяца) или 1000 (давно). Может быть пустым, если аккаунт не раскрывает сведений о последнем посещении.avatar_url · https://cdn5.telesco.pe/file/example.jpg — URL аватара; пусто, если у аккаунта нет аватара.Лучше всего подходит для
activedaysactivatedОтделите недавно активные имена пользователей от давно неактивных и в первую очередь работайте с теми, кто вероятнее ответит.
activatedactivedaysПодтвердите существование аккаунта, затем отметьте имена пользователей без признаков недавней активности, прежде чем тратить дальнейшие усилия.
activedaysuidГруппируйте имена пользователей по давности активности для последующей оценки и приоритизации списков.
uidavatar_urlДобавьте ID пользователей и ссылки на публичные аватары в существующий список имён пользователей, чтобы сократить ручной поиск в дальнейшем.
Краткий ответ
Массовая проверка профилей по именам пользователей Telegram помимо подтверждения существования аккаунта возвращает ID пользователя, количество дней с последнего посещения аккаунта и URL аватара. На входе — имена пользователей, а не номера; выбирать страну не нужно, одно имя пользователя на строку.
Чёткие границы
Когда подходит массовая проверка
| Проверка в реальном времени | Массовая проверка | |
|---|---|---|
| Сколько номеров | 1 номер на одиночную проверку; несколько — в множественном запросе, точные лимиты указаны в документации API | Большой список целиком в одной задаче — текущий диапазон размеров указан на странице цен |
| Получение результатов | Сразу: одиночный и множественный эндпоинты отвечают в том же ответе; панель возвращает результаты по одному | Скачайте файл с результатом после завершения задачи |
| Страна / регион | Без ограничений — можно смешивать в одном запросе | При отправке выберите одну страну/регион; список должен в основном состоять из номеров этой страны, а при слишком большом числе номеров из других стран задача завершится ошибкой с полным возвратом |
| Формат результата | JSON, поля по каждому номеру | Файл результата (один CSV с полной таблицей) |
| Типичное применение | Проверка форм, запросы операторов, контроль перед отправкой | Очистка списков, фильтрация перед кампанией, очистка сохранённых данных |
FAQ по продукту
Используйте массовую проверку для большого списка целиком. Для нескольких номеров проверка в реальном времени отвечает в том же запросе, без планирования задачи.
Предпроверка отбрасывает некорректные строки, поэтому они не попадают в оплачиваемое количество. Из оставшихся номеров те, которые вышестоящий сервис не смог определить, тоже не оплачиваются. Вы платите только за номера, по которым действительно получен результат.
Это зависит от количества номеров и продукта. После отправки страницу можно закрыть: задача выполняется в фоне, а результат будет ждать вас на странице массовой проверки.
Да. За неудавшуюся задачу средства возвращаются полностью. Если задача выполнена, но по части номеров нет результата, эта часть возвращается автоматически. Разница между зарезервированной и фактически списанной суммой всегда возвращается.
Массовые проверки и проверки в реальном времени расходуют один баланс — ничего дополнительно включать не нужно. Зарегистрируйтесь и загрузите первый файл на странице массовой проверки.