Facebook Public Profile Scraper by ID or Username avatar

Facebook Public Profile Scraper by ID or Username

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Facebook Public Profile Scraper by ID or Username

Facebook Public Profile Scraper by ID or Username

Collect publicly visible profile details from supplied Facebook profile IDs, usernames, or URLs.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

karamelo

karamelo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Categories

Share

Scrape public Facebook profiles by username, numeric ID, or profile URL. This Actor turns the public details of known profiles into a flat, exportable dataset: identity, category, public audience labels and counts, work and education entries, profile and cover image URLs, and other visible profile information when available. Start with one public profile to check the result, then submit a list for research or monitoring.

How to scrape a Facebook public profile

  1. Open the Actor in Apify Console and enter a known public profile under Profiles. A username such as cnn, a numeric ID, or a full Facebook profile URL works.
  2. Run the Actor and open its Results dataset. Each successful target produces a profile row. An invalid or unavailable target can produce an outcome row explaining what happened.

Example input:

{
"startUrls": ["https://www.facebook.com/cnn"]
}

Use the dataset in Apify Console or export it for your own analysis. Apify also supports scheduled runs and dataset access through its API.

What Facebook profile data can you get?

The result is one flat row per processed target, not a copy of the page. This abbreviated example uses identity and count values from a verified public CNN profile result; image URLs are shortened illustrations because public media links can change.

{
"recordType": "profile",
"status": "ok",
"sourceUrl": "https://www.facebook.com/cnn",
"url": "https://www.facebook.com/cnn",
"username": "cnn",
"profileId": "100059479812265",
"name": "CNN",
"alternateName": null,
"accountType": "page",
"category": "Media/news company",
"followers": 43828261,
"followersText": "43M followers",
"following": 76,
"followingText": "76 following",
"friends": null,
"talkingAbout": null,
"likes": null,
"verified": true,
"profilePictureUrl": "https://example.com/profile-image.jpg",
"coverPhotoUrl": "https://example.com/cover-image.jpg",
"linkedPageId": null,
"isMemorialized": null,
"workHistory": [],
"educationHistory": [],
"websites": [],
"emails": [],
"phones": [],
"introItems": [],
"inputUrl": "https://www.facebook.com/cnn",
"errorCode": null,
"errorMessage": null
}

The example omits other fields. Actual profilePictureUrl and coverPhotoUrl values are public image URLs returned for that profile, not the illustrative example.com links above. Media URLs may change or expire; save the images separately if you need a durable copy.

FieldsMeaning
recordType, status, errorCode, errorMessageDistinguish a successful profile from an invalid or unavailable outcome, with a reason when present.
sourceUrl, inputUrl, url, username, profileId, name, alternateNameSupplied target in normalized form and the public profile identity returned.
bio, accountType, category, verified, isMemorialized, linkedPageIdPublic introduction, record type, category, verification or memorial indicators, and linked Page ID when available.
followers, followersText, following, followingText, friends, talkingAbout, likesVisible counts and their public labels when available.
profilePictureUrl, coverPhotoUrlPublic profile-picture and cover-image URLs when available.
work, workHistory, education, educationHistory, currentCity, hometown, relationshipOther visible profile details. History entries retain the public text plus available title, organization, URL, year, and current-status values.
externalLinks, websites, emails, phones, introItemsPublic contact, website, and profile-introduction entries when available. introItems contains text and an optional url.
attempts, scrapedAtNumber of attempts associated with the result and its ISO 8601 processing timestamp.

Absent scalar values are null; list fields such as workHistory, educationHistory, websites, emails, phones, and introItems may be empty arrays. Counts and profile details reflect what was publicly visible at collection time, so use scrapedAt when comparing runs.

Facebook profile scraper input

InputRequiredWhat to enter
startUrlsYesOne or more public profile URLs, usernames, numeric IDs, or objects with a url value.

Supported URL forms include username profiles, profile.php?id=<numeric-id>, and /people/.../<numeric-id> links. The Actor processes the supplied list without a profile-count or request-count setting; duplicate normalized targets are processed once. Invalid entries can produce outcome rows. Large runs remain subject to Apify's run time and resource allowances.

Use cases for public profile data

  • Known-profile research: Supply a list of public usernames or URLs and export name, bio, accountType, work, education, and externalLinks in one dataset. This is useful when reviewing a defined set of profiles rather than discovering new ones.
  • Changes over time: Run the same known profiles on an Apify schedule and compare followers, following, and scrapedAt between datasets. Counts describe what was publicly visible at each collection time; a missing count is not zero.
  • Profile asset review: Keep profilePictureUrl and coverPhotoUrl beside profileId and url for a catalog or manual review. The links point to public media and may change, so they are not permanent image copies.
  • Application enrichment: Match profileId or username to records already held in your application, then use the exported profile fields where present. Handle invalid and unavailable outcomes separately from successful rows.

This Actor is for known public profiles, not discovery of unknown profiles, private-profile access, posts, comments, or friends lists.

Use the Apify API

The Apify API can start this Actor with the same startUrls input used in Console. A run response includes a run ID and defaultDatasetId. Check the run status before reading the dataset so an unsuccessful run is not mistaken for a complete result.

curl -X POST "https://api.apify.com/v2/actors/karamelo~facebook-public-profile-scraper-by-id-or-username/runs" \
-H "Authorization: Bearer <APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"startUrls":["https://www.facebook.com/cnn"]}'
curl "https://api.apify.com/v2/actor-runs/<RUN_ID>?waitForFinish=60" \
-H "Authorization: Bearer <APIFY_TOKEN>"
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?format=json" \
-H "Authorization: Bearer <APIFY_TOKEN>"

Replace the placeholders with your token and the IDs returned by the API; keep the token private. Repeat the run-status request while its status is READY or RUNNING. Read dataset items after SUCCEEDED; if the status is FAILED, ABORTED, or TIMED-OUT, inspect the run in Console before using any partial data. See Apify's run, status, and dataset items references for response details.

Use this Actor with an AI agent

Apify's MCP server lets compatible AI clients find and run eligible Actors and read their datasets. Connect https://mcp.apify.com in your MCP client, authorize the connection, and select karamelo/facebook-public-profile-scraper-by-id-or-username in the MCP configurator if it is available there. Give the Actor a startUrls list of known public profiles. After the run, the agent needs to read the returned dataset ID to obtain the rows; starting a run alone does not return the profile records.

For agents that use Apify's account-free payment options, authorization and payment are handled by Apify, not by an input to this Actor. Apify documents prepaid-token access for limited-permission Actors and separate eligibility rules for per-request payment methods. Check the current Apify guidance and this Actor's availability for the method your agent uses.

Profile availability

Public does not mean every field is available. Private, removed, restricted, or temporarily unavailable profiles may return an unavailable outcome, and a public profile may omit particular fields. If a result is missing, confirm the supplied URL or ID and inspect status, errorCode, and errorMessage. Respect Facebook's terms and applicable privacy requirements when using the data.