Перейти к содержимому

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, не ведущие на профиль (группы, управление страницами, вход и подобные пути), отклоняются как некорректные строки.

4
zuck
@Meta
https://www.facebook.com/profile.php?id=100003012457235
https://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_about
4,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,918893
zzqqxxjjkk993827a,no,,,,,,,,

Поддерживаются как личные профили, так и страницы (Pages). Например, Meta разрешается в fb_id 100080376596424, а его followers — это число отметок «Нравится» страницы.

Работа с файлом результата

Скачивайте файл по result_url только после экспорта. Сохраняйте имена столбцов при дальнейшей обработке.

Поля ответа

ПолеОписание
created_atВремя создания задачи.
updated_atВремя последнего обновления статуса.
task_idУникальный идентификатор задачи.
statuspending, 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.
  • Результаты отражают публичную страницу профиля на момент проверки. Кэш не используется; каждая отправка проверяется заново.
  • Перед загрузкой проверьте лимиты входных данных продукта.
  • Строки с ошибками отражаются в экспортированном результате и счётчиках.
  • Поля основаны на текущей выборке и могут измениться при изменении структуры страницы.