Справочник
TG Validator Справочник API
Все эндпоинты используют один ключ API и один баланс.
| Параметр | Значение |
|---|---|
| Базовый URL | https://tgvalidator.com |
| Заголовок аутентификации | X-API-Key: sk_your_api_key |
| Обёртка ответа | { code, msg, data } |
Цены здесь не указаны; каждый продукт оплачивается за успешную проверку. Посмотреть цены
Аутентификация
Используйте ключ API, созданный в настройках, и передавайте его с каждым запросом.
X-API-Key: sk_your_api_keyХраните ключ API в секретеВсегда вызывайте этот эндпоинт со своего сервера. Любой, у кого есть ключ, может расходовать ваш баланс.
Синхронные проверки
Отправьте один номер телефона или до 100 номеров в одном запросе и получите результат в том же ответе. Без опроса и обратных вызовов. Неопределённый результат возвращает 422 с кодом 42200 и не оплачивается. Множественный запрос сохраняет порядок ввода, тарифицирует каждый идентификатор независимо и должен завершиться за 300 секунд — иначе весь запрос завершается неудачей и все списания возвращаются.
Параметры
| Поле | Тип | Описание |
|---|---|---|
service_type | string | Код продукта — один из продуктов, перечисленных ниже. |
identifier | string | Одиночная проверка: один номер телефона. Сервер нормализует его. |
identifiers | string[] | Множественная проверка: от 1 до 100 номеров телефонов. Ответ сохраняет этот порядок. |

Проверка регистрации в Telegram
tgтелефонУзнайте, зарегистрирован ли номер в Telegram, — удобно для проверки списка контактов перед рассылкой.
Одиночная проверка
POST/api/v1/checkcurl -X POST "https://tgvalidator.com/api/v1/check" \
-H "X-API-Key: sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{ "service_type": "tg", "identifier": "+17253100591" }'{
"code": 0,
"msg": "ok",
"data": {
"service_type": "tg",
"identifier": "+17253100591",
"registered": true
}
}Поля ответа
| Поле | Тип | Описание |
|---|---|---|
registered | boolean | Зарегистрирован ли номер в Telegram. |
Множественная проверка
POST/api/v1/batch-checkcurl -X POST "https://tgvalidator.com/api/v1/batch-check" \
-H "X-API-Key: sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{ "service_type": "tg", "identifiers": ["+17253100591", "+14155550000", "12345"] }'{
"code": 0,
"msg": "ok",
"data": {
"service_type": "tg",
"total": 3,
"succeeded": 2,
"failed": 1,
"results": [
{
"identifier": "+17253100591",
"exists": true,
"registered": true
},
{
"identifier": "+14155550000",
"exists": true,
"registered": false
},
{
"identifier": "12345",
"exists": false
}
]
}
}Поля ответа
| Поле | Тип | Описание |
|---|---|---|
exists | boolean | Получен ли результат по этому номеру. false означает, что формат недопустим, результат не определён или проверка не удалась; при false ни одно из полей ниже не возвращается. |
registered | boolean | Зарегистрирован ли номер. Присутствует, только если exists равно true; значение то же, что и при одиночной проверке. |
Асинхронные проверки
Загрузите файл и сразу получите id задачи, затем проверяйте этот id, пока задача не завершится успешно. Успешный ответ содержит result_url — ссылку для скачивания результата. Действий всего два: отправка и проверка. Опрашивайте не чаще одного раза в 30 секунд.
Параметры
| Поле | Тип | Описание |
|---|---|---|
service_type | string | Код массового продукта — один из продуктов, перечисленных ниже. |
country | string | Код ISO 3166-1, например US. Обязателен для задач с номерами: каждый номер должен содержать код страны и относиться к этой стране (остальные номера исключаются и не оплачиваются); также определяет маршрутизацию. В multipart должен идти перед file. |
file | file | Файл .txt или .csv с одним идентификатором на строку, размером до max_file_bytes (по умолчанию 20MB). |
Idempotency-Key | header | Необязательный, до 128 символов. Повторная отправка с тем же ключом возвращает исходную задачу вместо создания новой. |
Продукты этой группы
Массовая проверка регистрации в Telegramtg_batchЗагрузите целый файл номеров, узнайте, какие из них зарегистрированы в Telegram, и скачайте файл с результатом после завершения.Страница продукта
Массовая проверка активности в Telegramtg_active_batchСтатус регистрации плюс ID пользователя, имя пользователя и дни активности — сколько дней прошло с последнего посещения каждого аккаунта — по всему списку.Страница продукта
Массовая проверка профилей Telegramtg_profile_batchID пользователя, имя пользователя, дни активности, URL аватара, а также возраст, пол и тон кожи, оценённые по аватару, — по всему списку.Страница продукта
Массовая проверка имён пользователей Telegramtg_username_batchЗагрузите список имён пользователей Telegram и узнайте, какие из них принадлежат реальным аккаунтам.Страница продукта
Массовая проверка профилей по именам пользователей Telegramtg_username_profile_batchID пользователя, дни активности и URL аватара для целого списка имён пользователей.Страница продукта

Массовая проверка регистрации в Telegram
tg_batchтелефон1 000–500 000 на задачуЗагрузите целый файл номеров, узнайте, какие из них зарегистрированы в Telegram, и скачайте файл с результатом после завершения.
Отправка задачи
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_batch \
-F country=US \
-F file=@numbers.txt{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "tg_batch",
"status": "processing",
"country": "US",
"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"
}
}Проверка задачи
GET/api/v1/bulk-tasks/{id}curl "https://tgvalidator.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
-H "X-API-Key: sk_your_api_key"{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "tg_batch",
"status": "success",
"country": "US",
"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"
}
}Столбцы результата
| Поле | пример: | Описание |
|---|---|---|
identifier | 17253100591 | Отправленный номер в виде цифр с кодом страны, без знака плюс и пробелов (например, 17253100591). |
activated | true | Зарегистрирован ли номер в Telegram: true или false. |

Массовая проверка активности в Telegram
tg_active_batchтелефон1 000–500 000 на задачуСтатус регистрации плюс ID пользователя, имя пользователя и дни активности — сколько дней прошло с последнего посещения каждого аккаунта — по всему списку.
Отправка задачи
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_active_batch \
-F country=US \
-F file=@numbers.txt{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "tg_active_batch",
"status": "processing",
"country": "US",
"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"
}
}Проверка задачи
GET/api/v1/bulk-tasks/{id}curl "https://tgvalidator.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
-H "X-API-Key: sk_your_api_key"{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "tg_active_batch",
"status": "success",
"country": "US",
"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"
}
}Столбцы результата
| Поле | пример: | Описание |
|---|---|---|
identifier | 17253100591 | Отправленный номер в виде цифр с кодом страны, без знака плюс и пробелов (например, 17253100591). |
activated | true | Зарегистрирован ли номер в Telegram: true или false. Если значение не true, все остальные столбцы в этой строке остаются пустыми. |
uid | 1234567890 | ID пользователя Telegram. |
username | alex_kim | Имя пользователя; пусто, если у аккаунта его нет. |
activedays | 9 | Количество дней с последнего посещения аккаунта, целым числом — чем меньше, тем свежее. Если аккаунт скрывает точное время последнего посещения, Telegram раскрывает только диапазон, и значение приблизительное: 0 (недавно), 7 (в течение недели), 30 (в течение месяца) или 1000 (давно). |

Массовая проверка профилей Telegram
tg_profile_batchтелефон1 000–500 000 на задачуID пользователя, имя пользователя, дни активности, URL аватара, а также возраст, пол и тон кожи, оценённые по аватару, — по всему списку.
Отправка задачи
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_profile_batch \
-F country=US \
-F file=@numbers.txt{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "tg_profile_batch",
"status": "processing",
"country": "US",
"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"
}
}Проверка задачи
GET/api/v1/bulk-tasks/{id}curl "https://tgvalidator.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
-H "X-API-Key: sk_your_api_key"{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "tg_profile_batch",
"status": "success",
"country": "US",
"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"
}
}Столбцы результата
| Поле | пример: | Описание |
|---|---|---|
identifier | 17253100591 | Отправленный номер в виде цифр с кодом страны, без знака плюс и пробелов (например, 17253100591). |
activated | true | Зарегистрирован ли номер в Telegram: true или false. Если значение не true, все остальные столбцы в этой строке остаются пустыми. |
uid | 1234567890 | ID пользователя Telegram. |
username | alex_kim | Имя пользователя; пусто, если у аккаунта его нет. |
activedays | 9 | Количество дней с последнего посещения аккаунта, целым числом — чем меньше, тем свежее. Если аккаунт скрывает точное время последнего посещения, Telegram раскрывает только диапазон, и значение приблизительное: 0 (недавно), 7 (в течение недели), 30 (в течение месяца) или 1000 (давно). |
avatar_url | https://telegram.waavatar.xyz/v/example.jpg | URL аватара; пусто, если у аккаунта нет аватара. |
age | 31 | Возраст, оценённый по аватару; пусто, если оценить невозможно. |
gender | male | Пол, оценённый по аватару: male или female; unknown, если распознать не удалось, пусто, если аватара нет. |
skin_color | white | Тон кожи, оценённый по аватару, например white, middle_eastern, east_asian; unknown, если распознать не удалось, пусто, если аватара нет. |

Массовая проверка имён пользователей Telegram
tg_username_batchимя пользователя1 000–500 000 на задачуЗагрузите список имён пользователей Telegram и узнайте, какие из них принадлежат реальным аккаунтам.
Отправка задачи
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_batch \
-F file=@usernames.txt{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "tg_username_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"
}
}Проверка задачи
GET/api/v1/bulk-tasks/{id}curl "https://tgvalidator.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
-H "X-API-Key: sk_your_api_key"{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "tg_username_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"
}
}Столбцы результата
| Поле | пример: | Описание |
|---|---|---|
identifier | alex_kim | Отправленное имя пользователя без @ и t.me/ (например, alex_kim). |
activated | true | Принадлежит ли имя пользователя существующему аккаунту Telegram: true или false. |

Массовая проверка профилей по именам пользователей Telegram
tg_username_profile_batchимя пользователя1 000–500 000 на задачуID пользователя, дни активности и URL аватара для целого списка имён пользователей.
Отправка задачи
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.txt{
"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"
}
}Проверка задачи
GET/api/v1/bulk-tasks/{id}curl "https://tgvalidator.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
-H "X-API-Key: sk_your_api_key"{
"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"
}
}Столбцы результата
| Поле | пример: | Описание |
|---|---|---|
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 аватара; пусто, если у аккаунта нет аватара. |
Баланс
Получение текущего баланса аккаунта в микродолларах USD. Только чтение: запись о проверке не создаётся, списаний нет.
Баланс
GET/api/v1/balancecurl "https://tgvalidator.com/api/v1/balance" \
-H "X-API-Key: sk_your_api_key"{
"code": 0,
"msg": "ok",
"data": {
"balance_micros": 12500000
}
}Параллельность, тайм-ауты и повторные попытки
Проверки регистрации в Telegram синхронны. По возвращённому code решайте, принять результат или повторить запрос.
| Поле | Описание |
|---|---|
5 одновременных запросов на пользователя | Одиночные и множественные проверки делят этот лимит, причём множественный запрос считается одним запросом независимо от количества номеров в нём. Кроме того, на один аккаунт одновременно выполняется только одна множественная проверка; вторая отклоняется, пока не завершится первая. При достижении любого из лимитов сразу возвращается code 42901 без списания и заголовок Retry-After — отправьте запрос повторно после завершения одного из выполняющихся запросов. |
60 с для одиночной, 300 с для множественной | При превышении лимита времени возвращается code 50400 без списания. Множественная проверка, превысившая время ожидания, завершается неудачей целиком — без частичных результатов, и вся сумма возвращается. |
Множественная проверка — до 100 номеров | Результаты сохраняют порядок и количество отправленных номеров. Для одного аккаунта одновременно выполняется одна множественная проверка; отправляйте следующий пакет после того, как вернётся предыдущий. |
Коды ошибок
| Код | Описание |
|---|---|
40000 | Неподдерживаемый тип сервиса или конфликтующие поля запроса |
40001 | Недопустимое тело JSON |
40002 | Недопустимый номер |
40100 | Ключ API отсутствует или недействителен |
40200 | Недостаточно средств на балансе |
42200 | Номер не удалось определить в данный момент. Данные не возвращаются, и запрос не оплачивается |
42900 | Исчерпана квота использования или слишком много незавершённых заказов |
42901 | Заняты все пять слотов для выполняющихся запросов или на этом аккаунте уже выполняется множественная проверка; отправьте запрос после завершения одного из выполняющихся. Отклонённый запрос не оплачивается и содержит заголовок Retry-After |
50303 | Сервис сейчас работает на пределе мощности; без списания. Подождите указанное в Retry-After число секунд и отправьте тот же запрос повторно |
50400 | Проверка не завершилась за отведённое время и не оплачивается; повторите её. Превышение времени пакета приводит к ошибке всего пакета и полному возврату суммы |
50300 | Техобслуживание сервиса проверки |