API профиля Instagram по ID/имени: массовая проверка
Проверяйте аккаунты Instagram по имени пользователя (ID) или ссылке на профиль и получайте перезалитое фото лица, вырезанное из последней публикации с лицом, полное имя, число публикаций, подписчиков и подписок, а также признаки приватности и верификации. Несуществующие аккаунты возвращаются как неактивные; приватные — как активные с данными профиля, но без фото. Задача использует стандартный асинхронный пакетный процесс.
Формат входных данных
Загрузите текстовый файл с одним именем пользователя (ID) Instagram в строке. Принимаются username, @username и полные ссылки instagram.com/<username>; регистр не учитывается.
cristiano@zuckhttps://www.instagram.com/natgeo/Создание задачи
POST https://api.numberchecker.ai/v1/tasks
curl --location 'https://api.numberchecker.ai/v1/tasks' \--header 'X-API-Key: YOUR_API_KEY' \--form 'file=@"./input.txt"' \--form 'task_type="instagram_profile"'API возвращает ID задачи. Сохраните его для опроса статуса.
Ответ при загрузке
{ "task_id": "d4g8o46p2jvh04o9uolg", "status": "pending", "total": 5000, "estimated_amount": { "amount": "1.250000", "currency": "USD" }, "message": "Task created successfully"}Проверка статуса задачи
POST https://api.numberchecker.ai/v1/gettasks
curl --location 'https://api.numberchecker.ai/v1/gettasks' \--header 'X-API-Key: YOUR_API_KEY' \--form 'task_id="d4g8o46p2jvh04o9uolg"'Опрашивайте, пока status не станет exported. Не считайте pending или processing завершённым результатом.
Ответ в обработке
{ "task_id": "d4g8o46p2jvh04o9uolg", "status": "processing", "total": 5000, "success": 2500, "failure": 0}Ответ после экспорта
{ "task_id": "d4g8o46p2jvh04o9uolg", "status": "exported", "total": 5000, "success": 5000, "failure": 0, "result_url": "https://example-link-to-results.zip", "actual_amount": { "amount": "1.250000", "currency": "USD" }}Поля результата
| Поле | Описание | Пример |
|---|---|---|
username | Отправленное имя пользователя или ссылка, без изменений. | cristiano |
activated | Существует ли аккаунт (no = такого имени нет). | yes |
avatar | Публичная ссылка на фото лица из последней публикации с лицом, размещённое на ins.waavatar.xyz (бессрочно); пусто, если лицо не найдено, аккаунт приватный или без публикаций. | https://ins.waavatar.xyz/ins/ec966a0f864e4aba1fd2899dce2c3fed.jpg |
full_name | Имя, показанное в профиле. | Cristiano Ronaldo |
posts | Число публикаций. | 4138 |
followers | Число подписчиков. | 679725371 |
following | Число подписок. | 636 |
private | Приватный ли аккаунт (yes/no). | no |
verified | Есть ли значок верификации (yes/no). | yes |
face_status | Результат извлечения лица: ok (фрагмент больше 400 px), ok_small (сохранено небольшое лицо), no_face, no_640_face (нет изображения не менее 640 px), private, empty (нет публикаций), posts_missed. | ok |
Работа с файлом результата
Скачивайте файл по result_url только после экспорта. Сохраняйте имена столбцов при дальнейшей обработке.
Поля ответа
| Поле | Описание |
|---|---|
created_at | Время создания задачи. |
updated_at | Время последнего обновления статуса. |
task_id | Уникальный идентификатор задачи. |
status | pending, processing, exported или failed. |
total | Всего обработано значений. |
success | Успешно обработано. |
failure | Обработано с ошибкой. |
result_url | Ссылка для скачивания после экспорта. |
actual_amount | Итоговая списанная сумма, если доступна. |
estimated_amount | Оценочная сумма при создании задачи. |
Коды состояния
| Статус | Описание |
|---|---|
200 | Запрос выполнен. |
202 | Задача создана, оценочная сумма списана. |
400 | Неверный файл, неподдерживаемый тип задачи или слишком мало корректных строк. |
401 | Отсутствует или неверный ключ API. |
402 | Недостаточно средств. |
403 | Продукт недоступен для вашего аккаунта (снят или только по белому списку); обратитесь в поддержку. |
404 | Задача не найдена. |
413 | Загруженный файл слишком большой. |
500 | Внутренняя ошибка сервера; повторите позже. |
503 | Продукт временно недоступен (пауза на обслуживание); средства не списываются, повторите позже. |
Примечания
- Задача асинхронная; используйте ID для опроса статуса.
- Перед загрузкой проверьте лимиты входных данных продукта.
- Строки с ошибками отражаются в экспортированном результате и счётчиках.
- Фото вырезаются из публичных публикаций в разрешении, которое Instagram отдаёт без входа (640 px), поэтому большинство фрагментов меньше 400 px и помечаются
ok_small. - Поля основаны на текущей выборке и могут измениться при изменении схемы экспорта.