API профиля Facebook по ID/имени: массовая проверка
Проверяйте профили и страницы (Pages) Facebook по числовому ID профиля, имени пользователя (vanity) или ссылке на профиль и получайте фото профиля (размещённое по постоянной ссылке), числовой ID, каноническое имя пользователя, отображаемое имя, короткое описание, а также число подписчиков и число «обсуждают это». Продукт читает только публичную страницу профиля Facebook, видимую без входа: вход не используется, данные о друзьях не собираются. Профили, которые не существуют, деактивированы или не видны посетителям без входа, возвращаются как неактивные. Задача использует стандартный асинхронный пакетный процесс.
Формат входных данных
Загрузите текстовый файл с одним идентификатором Facebook в строке. Принимаемые формы:
- Числовой ID профиля, например
4 - Имя пользователя (vanity), например
zuckили@zuck; буквы, цифры и точки, от 1 до 50 символов, регистр не учитывается - Ссылка на профиль, например
facebook.com/zuck,facebook.com/profile.php?id=100003012457235илиfacebook.com/people/<Name>/<ID>
Ссылки facebook.com, не ведущие на профиль (группы, управление страницами, вход и подобные пути), отклоняются как некорректные строки.
4zuck@Metahttps://www.facebook.com/profile.php?id=100003012457235https://www.facebook.com/people/Mark-Zuckerberg/4/Создание задачи
POST https://api.checknumber.ai/v1/tasks
curl --location 'https://api.checknumber.ai/v1/tasks' \--header 'X-API-Key: YOUR_API_KEY' \--form 'file=@"./input.txt"' \--form 'task_type="facebook_profile"'API возвращает ID задачи. Сохраните его для опроса статуса.
Ответ при загрузке
{ "task_id": "d4g8o46p2jvh04o9uolg", "status": "pending", "total": 5000, "estimated_amount": { "amount": "1.500000", "currency": "USD" }, "message": "Task created successfully"}Проверка статуса задачи
POST https://api.checknumber.ai/v1/gettasks
curl --location 'https://api.checknumber.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.500000", "currency": "USD" }}Поля результата
CSV результата содержит следующие столбцы в этом порядке: username,activated,avatar,fb_id,fb_username,name,image,tagline,followers,talking_about.
| Поле | Описание | Пример |
|---|---|---|
username | Отправленный идентификатор (ID, имя пользователя или ссылка на профиль), без изменений. | 4 |
activated | Получена ли публичная страница профиля (yes/no). no означает, что профиль не существует, деактивирован или не виден посетителям без входа; Facebook показывает одну и ту же страницу «контент недоступен» во всех трёх случаях, поэтому различить их нельзя. | yes |
avatar | Постоянная ссылка на фото профиля, размещённое нами на fb.waavatar.xyz. Пусто, если activated равно no. | https://fb.waavatar.xyz/ins/62e8bb6110133ef3115f55454ff66c4d.jpg |
fb_id | Числовой ID профиля Facebook, извлечённый со страницы. | 4 |
fb_username | Каноническое имя пользователя (vanity), которое показывает Facebook; пусто для профилей только с ID. | zuck |
name | Отображаемое имя. | Mark Zuckerberg |
image | Собственная подписанная CDN-ссылка Facebook на фото профиля. Истекает через несколько дней; для долговременной ссылки используйте avatar. | https://scontent.xx.fbcdn.net/v/…jpg?…&oe=… |
tagline | Короткий текст описания со страницы; может быть пустым. | Bringing the world closer together. |
followers | Число подписчиков. Для страниц (Pages) это число отметок «Нравится». Целое число; пусто, если не показано. | 121439077 |
talking_about | Число «обсуждают это» по данным Facebook. Целое число; пусто, если не показано. | 918893 |
Примеры строк:
username,activated,avatar,fb_id,fb_username,name,image,tagline,followers,talking_about4,yes,https://fb.waavatar.xyz/ins/62e8bb6110133ef3115f55454ff66c4d.jpg,4,zuck,Mark Zuckerberg,https://scontent.xx.fbcdn.net/v/....jpg?...&oe=...,Bringing the world closer together.,121439077,918893zzqqxxjjkk993827a,no,,,,,,,,Поддерживаются как личные профили, так и страницы (Pages). Например, Meta разрешается в fb_id 100080376596424, а его followers — это число отметок «Нравится» страницы.
Работа с файлом результата
Скачивайте файл по 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 для опроса статуса.
- Цена: $3 за 10 000 идентификаторов. Оплата по отправленному количеству: каждый отправленный идентификатор оплачивается независимо от того, найден ли профиль. Минимальное оплачиваемое количество в задаче — 500 идентификаторов; меньшие задачи оплачиваются как 500.
- Результаты отражают публичную страницу профиля на момент проверки. Кэш не используется; каждая отправка проверяется заново.
- Перед загрузкой проверьте лимиты входных данных продукта.
- Строки с ошибками отражаются в экспортированном результате и счётчиках.
- Поля основаны на текущей выборке и могут измениться при изменении структуры страницы.