AvatarLookup Справочник API

Все эндпоинты используют один ключ API и один баланс.

ПараметрЗначение
Базовый URLhttps://avatarlookup.com
Заголовок аутентификацииX-API-Key: sk_your_api_key
Обёртка ответа{ code, msg, data }

Цены здесь не указаны; каждый продукт оплачивается за успешную проверку. Посмотреть цены

Аутентификация

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

Заголовок аутентификации
X-API-Key: sk_your_api_key

Храните ключ API в секретеВсегда вызывайте этот эндпоинт со своего сервера. Любой, у кого есть ключ, может расходовать ваш баланс.

Синхронные проверки

POST/api/v1/checkPOST/api/v1/batch-checkPOST/api/v1/image/profile

Отправьте один идентификатор или до 100 в одном запросе и получите результат в том же ответе. Без опроса и без обратных вызовов. Неопределённый результат возвращает 422 с кодом 42200 и не оплачивается. Множественный запрос сохраняет порядок входных данных, тарифицирует каждый идентификатор отдельно и должен завершиться за 300 секунд — иначе весь запрос завершается ошибкой, а все списания возвращаются. Для анализа изображений используется отдельный эндпоинт, /api/v1/image/profile, который принимает изображение вместо идентификатора.

Параметры

ПолеТипОписание
service_typestringКод продукта — один из продуктов, перечисленных ниже.
identifierstringОдиночная проверка: один идентификатор. Сервер нормализует его.
identifiersstring[]Множественная проверка: от 1 до 100 идентификаторов. Ответ сохраняет этот порядок.
filefileАнализ изображения: одно портретное изображение (загрузка multipart). Поле identifier отсутствует.

Анализ профиля по изображению

image_profileизображение

Загрузите любое изображение и получите атрибуты портрета: оценку возраста, пол, тип изображения, цвет волос и тон кожи.

Одиночная проверка

POST/api/v1/image/profile
Запрос
curl -X POST "https://avatarlookup.com/api/v1/image/profile" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=image_profile \
  -F file=@portrait.jpg
Ответ
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "image_profile",
    "identifier": "img:7013df96c540904a4b7ba295e9162ab2",
    "category": "individual portrait",
    "age": 39,
    "gender": "male",
    "skin_color": "white",
    "hair_color": "brown"
  }
}
Поля ответа
ПолеТипОписание
identifierstringОтпечаток отправленного изображения, вычисленный по его содержимому. Одно и то же изображение всегда даёт одно и то же значение.
categorystringЧто изображено: individual portrait, group photo, game avatar, cartoon avatar, landscape, pet avatar или object. unknown, если получить портрет не удалось.
ageintegerОценка возраста целым числом с точностью примерно до 3 лет, в диапазоне 0–80. Отсутствует, если оценить не удалось (например, когда не определён пол).
genderstringmale, female или unknown.
skin_colorstringОписательный тон кожи, например white, east_asian или hispanic. Считайте набор значений открытым; unknown, если не определено.
hair_colorstringОписательный цвет волос, например black, brown, blond или gray white. Считайте набор значений открытым; unknown, если не определено.

Анализ аватаров WhatsApp

ws_profileтелефон

Проверьте, есть ли у номера аватар в WhatsApp, получите URL изображения и атрибуты портрета на этом аватаре.

Одиночная проверка

POST/api/v1/check
Запрос
curl -X POST "https://avatarlookup.com/api/v1/check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "ws_profile", "identifier": "+17253100591" }'
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "ws_profile",
    "identifier": "+17253100591",
    "registered": true,
    "avatar": true,
    "avatar_url": "https://pps.whatsapp.net/v/example.jpg",
    "category": "individual portrait",
    "age": 39,
    "gender": "male",
    "skin_color": "white",
    "hair_color": "brown"
  }
}
Поля ответа
ПолеТипОписание
registeredbooleanЗарегистрирован ли номер в WhatsApp.
avatarbooleanУстановлен ли аватар.
avatar_urlstringURL аватара; пустая строка, если фото не установлено.
categorystringЧто изображено: individual portrait, group photo, game avatar, cartoon avatar, landscape, pet avatar или object. unknown, если получить портрет не удалось.
ageintegerОценка возраста целым числом с точностью примерно до 3 лет, в диапазоне 0–80. Отсутствует, если оценить не удалось (например, когда не определён пол).
genderstringmale, female или unknown.
skin_colorstringОписательный тон кожи, например white, east_asian или hispanic. Считайте набор значений открытым; unknown, если не определено.
hair_colorstringОписательный цвет волос, например black, brown, blond или gray white. Считайте набор значений открытым; unknown, если не определено.

Множественная проверка

POST/api/v1/batch-check
Запрос
curl -X POST "https://avatarlookup.com/api/v1/batch-check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "ws_profile", "identifiers": ["+17253100591", "+14155550000", "12345"] }'
Ответ
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "ws_profile",
    "total": 3,
    "succeeded": 2,
    "failed": 1,
    "results": [
      {
        "identifier": "+17253100591",
        "exists": true,
        "registered": true,
        "avatar": true,
        "avatar_url": "https://pps.whatsapp.net/v/example.jpg",
        "category": "individual portrait",
        "age": 39,
        "gender": "male",
        "skin_color": "white",
        "hair_color": "brown"
      },
      {
        "identifier": "+14155550000",
        "exists": true,
        "registered": false,
        "avatar": false,
        "avatar_url": "",
        "category": "unknown",
        "gender": "unknown",
        "skin_color": "unknown",
        "hair_color": "unknown"
      },
      {
        "identifier": "12345",
        "exists": false
      }
    ]
  }
}
Поля ответа
ПолеТипОписание
existsbooleanДал ли этот идентификатор результат. false означает, что формат недопустим, результат не определён или проверка не удалась; при false ни одно из полей ниже не возвращается.
registeredbooleanСуществует ли аккаунт на этой платформе (для адреса email — доступен ли он). Присутствует только при exists = true и имеет то же значение, что и при одиночной проверке.
avatarbooleanУстановлен ли аватар.
avatar_urlstringURL аватара; пустая строка, если фото не установлено.
categorystringЧто изображено: individual portrait, group photo, game avatar, cartoon avatar, landscape, pet avatar или object. unknown, если получить портрет не удалось.
ageintegerОценка возраста целым числом с точностью примерно до 3 лет, в диапазоне 0–80. Отсутствует, если оценить не удалось (например, когда не определён пол).
genderstringmale, female или unknown.
skin_colorstringОписательный тон кожи, например white, east_asian или hispanic. Считайте набор значений открытым; unknown, если не определено.
hair_colorstringОписательный цвет волос, например black, brown, blond или gray white. Считайте набор значений открытым; unknown, если не определено.

Анализ аватаров email

email_profileemail

Проверьте, есть ли у почтового аккаунта аватар, и получите атрибуты портрета. Поддерживаются Gmail, Yandex и Mail.ru.

Одиночная проверка

POST/api/v1/check
Запрос
curl -X POST "https://avatarlookup.com/api/v1/check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "email_profile", "identifier": "alex.kim@gmail.com" }'
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "email_profile",
    "identifier": "alex.kim@gmail.com",
    "registered": true,
    "avatar": true,
    "avatar_url": "https://lh3.googleusercontent.com/a/example",
    "category": "individual portrait",
    "age": 39,
    "gender": "male",
    "skin_color": "white",
    "hair_color": "brown"
  }
}
Поля ответа
ПолеТипОписание
registeredbooleanДоступен ли адрес email (может ли он получать почту).
avatarbooleanУстановлен ли аватар.
avatar_urlstringURL аватара; пустая строка, если аватар не установлен.
categorystringЧто изображено: individual portrait, group photo, game avatar, cartoon avatar, landscape, pet avatar или object. unknown, если получить портрет не удалось.
ageintegerОценка возраста целым числом с точностью примерно до 3 лет, в диапазоне 0–80. Отсутствует, если оценить не удалось (например, когда не определён пол).
genderstringmale, female или unknown.
skin_colorstringОписательный тон кожи, например white, east_asian или hispanic. Считайте набор значений открытым; unknown, если не определено.
hair_colorstringОписательный цвет волос, например black, brown, blond или gray white. Считайте набор значений открытым; unknown, если не определено.

Множественная проверка

POST/api/v1/batch-check
Запрос
curl -X POST "https://avatarlookup.com/api/v1/batch-check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "email_profile", "identifiers": ["alex.kim@gmail.com", "no.such.user@gmail.com", "not-an-email"] }'
Ответ
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "email_profile",
    "total": 3,
    "succeeded": 2,
    "failed": 1,
    "results": [
      {
        "identifier": "alex.kim@gmail.com",
        "exists": true,
        "registered": true,
        "avatar": true,
        "avatar_url": "https://lh3.googleusercontent.com/a/example",
        "category": "individual portrait",
        "age": 39,
        "gender": "male",
        "skin_color": "white",
        "hair_color": "brown"
      },
      {
        "identifier": "no.such.user@gmail.com",
        "exists": true,
        "registered": false,
        "avatar": false,
        "avatar_url": "",
        "category": "unknown",
        "gender": "unknown",
        "skin_color": "unknown",
        "hair_color": "unknown"
      },
      {
        "identifier": "not-an-email",
        "exists": false
      }
    ]
  }
}
Поля ответа
ПолеТипОписание
existsbooleanДал ли этот идентификатор результат. false означает, что формат недопустим, результат не определён или проверка не удалась; при false ни одно из полей ниже не возвращается.
registeredbooleanСуществует ли аккаунт на этой платформе (для адреса email — доступен ли он). Присутствует только при exists = true и имеет то же значение, что и при одиночной проверке.
avatarbooleanУстановлен ли аватар.
avatar_urlstringURL аватара; пустая строка, если аватар не установлен.
categorystringЧто изображено: individual portrait, group photo, game avatar, cartoon avatar, landscape, pet avatar или object. unknown, если получить портрет не удалось.
ageintegerОценка возраста целым числом с точностью примерно до 3 лет, в диапазоне 0–80. Отсутствует, если оценить не удалось (например, когда не определён пол).
genderstringmale, female или unknown.
skin_colorstringОписательный тон кожи, например white, east_asian или hispanic. Считайте набор значений открытым; unknown, если не определено.
hair_colorstringОписательный цвет волос, например black, brown, blond или gray white. Считайте набор значений открытым; unknown, если не определено.

Асинхронные проверки

POST/api/v1/bulk-tasksGET/api/v1/bulk-tasks/{id}

Загрузите файл и сразу получите id задачи, затем проверяйте этот id, пока задача не завершится успешно. Успешный ответ содержит result_url — ссылку для скачивания результата. Действий всего два: отправка и проверка. Опрашивайте не чаще одного раза в 30 секунд.

Параметры

ПолеТипОписание
service_typestringКод массового продукта — один из продуктов, перечисленных ниже.
countrystringКод ISO 3166-1, например US. Обязателен для задач с номерами: каждый номер должен содержать код страны и относиться к этой стране (остальные номера исключаются и не оплачиваются); также определяет маршрутизацию. В multipart должен идти перед file.
filefileФайл .txt или .csv с одним идентификатором на строку, размером до max_file_bytes (по умолчанию 20MB).
Idempotency-KeyheaderНеобязательный, до 128 символов. Повторная отправка с тем же ключом возвращает исходную задачу вместо создания новой.

Продукты этой группы

Анализ аватаров WhatsApp · массовая проверка

ws_profile_batchтелефон1 000–500 000 на задачу

Загрузите целый файл номеров: URL аватара WhatsApp и что изображено на аватаре — категория, возраст, пол, тон кожи и цвет волос.

Отправка задачи

POST/api/v1/bulk-tasks
Запрос
curl -X POST "https://avatarlookup.com/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=ws_profile_batch \
  -F country=US \
  -F file=@numbers.txt
Ответ
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_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://avatarlookup.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Ответ
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_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"
  }
}
Столбцы результата
Полепример:Описание
identifier17253100591Отправленный номер в виде цифр с кодом страны, без знака плюс и пробелов (например, 17253100591).
activatedtrueЗарегистрирован ли номер в WhatsApp: true или false. Если значение не true, все остальные столбцы в этой строке остаются пустыми.
avatar_urlhttps://pps.waavatar.xyz/v/example.jpgURL аватара; пусто, если у аккаунта нет аватара.
categoryindividual portraitЧто изображено на аватаре: individual portrait, group photo, cartoon avatar, pet avatar, landscape, object и т. д.; unknown, если распознать не удалось; пусто, если аватара нет.
age31Возраст, оценённый по аватару; пусто, если оценить не удалось.
gendermaleПол, оценённый по аватару: male или female; unknown, если распознать не удалось; пусто, если аватара нет.
skin_coloreast_asianТон кожи, оценённый по аватару, например white, asian, east_asian; unknown, если распознать не удалось; пусто, если аватара нет.
hair_colorblackЦвет волос, оценённый по аватару, например black, brown; unknown, если распознать не удалось; пусто, если аватара нет.

Профиль номера Telegram · массовая проверка

tg_profile_batchтелефон1 000–500 000 на задачу

Загрузите номера: ID пользователя Telegram, имя пользователя, дни активности и URL аватара, а также возраст, пол и тон кожи, распознанные по аватару.

Отправка задачи

POST/api/v1/bulk-tasks
Запрос
curl -X POST "https://avatarlookup.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://avatarlookup.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"
  }
}
Столбцы результата
Полепример:Описание
identifier17253100591Отправленный номер в виде цифр с кодом страны, без знака плюс и пробелов (например, 17253100591).
activatedtrueЗарегистрирован ли номер в Telegram: true или false. Если значение не true, все остальные столбцы в этой строке остаются пустыми.
uid1234567890ID пользователя Telegram.
usernamealex_kimИмя пользователя; пусто, если у аккаунта его нет.
activedays9Сколько дней назад аккаунт был в сети в последний раз, целым числом — чем меньше, тем недавнее. Если аккаунт скрывает точное время последнего посещения, Telegram раскрывает только диапазон, и значение приблизительное: 0 (недавно), 7 (в течение недели), 30 (в течение месяца) или 1000 (давно).
avatar_urlhttps://telegram.waavatar.xyz/v/example.jpgURL аватара; пусто, если у аккаунта нет аватара.
age31Возраст, оценённый по аватару; пусто, если оценить не удалось.
gendermaleПол, оценённый по аватару: male или female; unknown, если распознать не удалось; пусто, если аватара нет.
skin_colorwhiteТон кожи, оценённый по аватару, например white, asian, east_asian; unknown, если распознать не удалось; пусто, если аватара нет.

Профиль имени пользователя Telegram · массовая проверка

tg_username_profile_batchимя пользователя1 000–500 000 на задачу

Загрузите имена пользователей Telegram: ID пользователя, дни активности и URL аватара для каждого аккаунта.

Отправка задачи

POST/api/v1/bulk-tasks
Запрос
curl -X POST "https://avatarlookup.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://avatarlookup.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"
  }
}
Столбцы результата
Полепример:Описание
identifieralex_kimОтправленное имя пользователя без @ и t.me/ (например, alex_kim).
activatedtrueПринадлежит ли имя пользователя существующему аккаунту Telegram: true или false. Если значение не true, все остальные столбцы в этой строке остаются пустыми.
uid1234567890ID пользователя Telegram; может быть пустым даже для существующего аккаунта.
activedays9Сколько дней назад аккаунт был в сети в последний раз, целым числом — чем меньше, тем недавнее. Если аккаунт скрывает точное время последнего посещения, Telegram раскрывает только диапазон, и значение приблизительное: 0 (недавно), 7 (в течение недели), 30 (в течение месяца) или 1000 (давно). Может быть пустым, если аккаунт не раскрывает сведений о последнем посещении.
avatar_urlhttps://cdn5.telesco.pe/file/example.jpgURL аватара; пусто, если у аккаунта нет аватара.

Профиль номера Viber · массовая проверка

viber_profile_batchтелефон1 000–500 000 на задачу

Загрузите номера: ID участника Viber, дни активности и URL аватара, а также категория, возраст, пол и тон кожи, распознанные по аватару.

Отправка задачи

POST/api/v1/bulk-tasks
Запрос
curl -X POST "https://avatarlookup.com/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=viber_profile_batch \
  -F country=US \
  -F file=@numbers.txt
Ответ
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "viber_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://avatarlookup.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Ответ
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "viber_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"
  }
}
Столбцы результата
Полепример:Описание
identifier17253100591Отправленный номер в виде цифр с кодом страны, без знака плюс и пробелов (например, 17253100591).
activatedtrueЗарегистрирован ли номер в Viber: true или false. Если значение не true, все остальные столбцы в этой строке остаются пустыми.
uidA5qCVDb3jPU=ID участника Viber.
activedays3Сколько дней назад аккаунт был в сети в последний раз — чем меньше, тем недавнее.
avatar_urlhttps://viber.waavatar.xyz/v/example.jpgURL аватара; пусто, если у аккаунта нет аватара.
categoryindividual portraitЧто изображено на аватаре: individual portrait, group photo, cartoon avatar, pet avatar, landscape, object и т. д.; unknown, если распознать не удалось; пусто, если аватара нет.
age31Возраст, оценённый по аватару; пусто, если оценить не удалось.
gendermaleПол, оценённый по аватару: male или female; unknown, если распознать не удалось; пусто, если аватара нет.
skin_colorwhiteТон кожи, оценённый по аватару, например white, asian, east_asian; unknown, если распознать не удалось; пусто, если аватара нет.

Профиль номера MAX · массовая проверка

max_profile_batchтелефон1 000–500 000 на задачу

Загрузите номера: ID пользователя MAX, URL аватара и пол.

Отправка задачи

POST/api/v1/bulk-tasks
Запрос
curl -X POST "https://avatarlookup.com/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=max_profile_batch \
  -F country=US \
  -F file=@numbers.txt
Ответ
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "max_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://avatarlookup.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Ответ
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "max_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"
  }
}
Столбцы результата
Полепример:Описание
identifier17253100591Отправленный номер в виде цифр с кодом страны, без знака плюс и пробелов (например, 17253100591).
activatedtrueЗарегистрирован ли номер в MAX: true или false. Если значение не true, все остальные столбцы в этой строке остаются пустыми.
uid343064807ID пользователя MAX.
avatar_urlhttps://i.oneme.ru/i?r=exampleURL аватара; пусто, если у аккаунта нет аватара.
gendermaleПол владельца аккаунта: male или female; пусто, если неизвестен.

Анализ аватаров LINE · массовая проверка

line_profile_batchтелефон2 000–500 000 на задачу

Загрузите номера: ID пользователя LINE и URL аватара, а также категория, возраст, пол, тон кожи и цвет волос, распознанные по аватару.

Отправка задачи

POST/api/v1/bulk-tasks
Запрос
curl -X POST "https://avatarlookup.com/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=line_profile_batch \
  -F country=US \
  -F file=@numbers.txt
Ответ
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "line_profile_batch",
    "status": "processing",
    "country": "US",
    "submitted_lines": 2027,
    "total": 2027,
    "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://avatarlookup.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Ответ
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "line_profile_batch",
    "status": "success",
    "country": "US",
    "submitted_lines": 2027,
    "total": 2000,
    "invalid_cnt": 3,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 24,
    "preparing": false,
    "success_cnt": 1980,
    "failure_cnt": 20,
    "result_url": "https://…/result.csv",
    "created_at": "2026-09-08T09:30:00Z"
  }
}
Столбцы результата
Полепример:Описание
identifier17253100591Отправленный номер в виде цифр с кодом страны, без знака плюс и пробелов (например, 17253100591).
activatedtrueЗарегистрирован ли номер в LINE: true или false. Если значение не true, все остальные столбцы в этой строке остаются пустыми.
uidu5158553776c28d9164035c4fd0a07cd4ID пользователя LINE.
avatar_urlhttps://profile.line-scdn.net/exampleURL аватара; пусто, если у аккаунта нет аватара.
categoryindividual portraitЧто изображено на аватаре: individual portrait, group photo, cartoon avatar, pet avatar, landscape, object и т. д.; unknown, если распознать не удалось; пусто, если аватара нет.
age31Возраст, оценённый по аватару; пусто, если оценить не удалось.
gendermaleПол, оценённый по аватару: male или female; unknown, если распознать не удалось; пусто, если аватара нет.
skin_coloreast_asianТон кожи, оценённый по аватару, например white, asian, east_asian; unknown, если распознать не удалось; пусто, если аватара нет.
hair_colorblackЦвет волос, оценённый по аватару, например black, brown; unknown, если распознать не удалось; пусто, если аватара нет.

Профиль номера Zalo · массовая проверка

zalo_profile_batchтелефон1 000–500 000 на задачу

Загрузите номера: ID пользователя Zalo и URL аватара, а также категория, возраст, пол и тон кожи, распознанные по аватару.

Отправка задачи

POST/api/v1/bulk-tasks
Запрос
curl -X POST "https://avatarlookup.com/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=zalo_profile_batch \
  -F country=US \
  -F file=@numbers.txt
Ответ
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "zalo_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://avatarlookup.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Ответ
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "zalo_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"
  }
}
Столбцы результата
Полепример:Описание
identifier17253100591Отправленный номер в виде цифр с кодом страны, без знака плюс и пробелов (например, 17253100591).
activatedtrueЗарегистрирован ли номер в Zalo: true или false. Если значение не true, все остальные столбцы в этой строке остаются пустыми.
uid452114152ID пользователя Zalo.
avatar_urlhttps://s160-ava-talk.zadn.vn/example.jpgURL аватара; пусто, если у аккаунта нет аватара.
categoryindividual portraitЧто изображено на аватаре: individual portrait, group photo, cartoon avatar, pet avatar, landscape, object и т. д.; unknown, если распознать не удалось; пусто, если аватара нет.
age31Возраст, оценённый по аватару; пусто, если оценить не удалось.
gendermaleПол, оценённый по аватару: male или female; unknown, если распознать не удалось; пусто, если аватара нет.
skin_colorasianТон кожи, оценённый по аватару, например white, asian, east_asian; unknown, если распознать не удалось; пусто, если аватара нет.

Проверка аватаров email · массовая проверка

email_avatar_batchemail1 000–500 000 на задачу

Загрузите адреса Gmail, Yandex или Mail.ru: доставляем ли каждый из них и его аватар.

Отправка задачи

POST/api/v1/bulk-tasks
Запрос
curl -X POST "https://avatarlookup.com/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=email_avatar_batch \
  -F file=@emails.txt
Ответ
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "email_avatar_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://avatarlookup.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Ответ
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "email_avatar_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"
  }
}
Столбцы результата
Полепример:Описание
identifieralex.kim@gmail.comОтправленный адрес в нижнем регистре.
activatedtrueДоставляем ли адрес у этого почтового сервиса — может ли он получать почту: true или false. Если значение не true, все остальные столбцы в этой строке остаются пустыми.
avatartrueУстановлен ли аватар: true или false. avatar_url может быть пустым, даже если аватар есть, когда изображение недоступно.
avatar_urlhttps://lh3.googleusercontent.com/a/exampleURL аватара; пусто, если URL недоступен.

Баланс

GET/api/v1/balance

Получение текущего баланса аккаунта в микродолларах USD. Только чтение: запись о проверке не создаётся, списаний нет.

Баланс

GET/api/v1/balance
Запрос
curl "https://avatarlookup.com/api/v1/balance" \
  -H "X-API-Key: sk_your_api_key"
Ответ
{
  "code": 0,
  "msg": "ok",
  "data": {
    "balance_micros": 12500000
  }
}

Параллельность, тайм-ауты и повторные попытки

Проверки аватаров синхронные. По возвращённому коду решайте, принять результат или повторить попытку позже.

ПолеОписание
5 одновременных запросов на пользователяОдиночные и множественные проверки делят этот лимит, причём множественный запрос считается одним запросом независимо от количества идентификаторов в нём. Кроме того, для одного аккаунта одновременно выполняется только одна множественная проверка; вторая отклоняется, пока не завершится первая. При достижении любого из лимитов сразу возвращается код 42901 без списания и с заголовком Retry-After — отправьте запрос повторно, когда завершится один из выполняющихся.
60 с для одиночной, 300 с для множественнойПри превышении лимита времени возвращается код 50400 без списания. Множественная проверка, превысившая время, завершается ошибкой целиком — без частичных результатов, вся сумма возвращается.
Множественная проверка — до 100 идентификаторовРезультаты сохраняют порядок и количество отправленных номеров. Для одного аккаунта одновременно выполняется одна множественная проверка; отправляйте следующий пакет после того, как вернётся предыдущий.

Коды ошибок

КодОписание
40000Неподдерживаемый тип сервиса или конфликтующие поля запроса
40001Недопустимое тело JSON
40002Недопустимый идентификатор
40100Ключ API отсутствует или недействителен
40200Недостаточно средств на балансе
42200Сейчас не удалось определить результат для идентификатора. Данные не возвращаются, запрос не оплачивается
42900Исчерпана квота использования или слишком много незавершённых заказов
42901Все пять слотов одновременных запросов заняты, или в этом аккаунте уже выполняется множественная проверка; отправьте запрос после завершения одного из выполняющихся. Отклонённый запрос не оплачивается и содержит заголовок Retry-After
50303Сервис сейчас работает на пределе мощности; списания нет. Подождите указанное в Retry-After число секунд и отправьте тот же запрос повторно
50400Проверка не завершилась за отведённое время и не оплачивается; повторите её. Превышение времени пакета приводит к ошибке всего пакета и полному возврату суммы
50300Техобслуживание сервиса проверки