Facebook Followers & Following Scraper avatar

Facebook Followers & Following Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Facebook Followers & Following Scraper

Facebook Followers & Following Scraper

Scrape Facebook Page and Profile followers, following, and friends previews plus aggregate follower/following counts, with structured location/workplace/school parsing. No login, cookies, or proxy required.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Scrape Facebook followers, following, and friends previews for any public Page or Profile — no login, no cookies, and no proxy required. Get up to 8 real preview rows per target (name, profile URL, verification badge, location/workplace/school where shown) plus the account's aggregate follower and following counts, straight from Facebook's own logged-out preview.

Important: Facebook's 8-row preview cap

Facebook does not expose a full follower/following/friends roster to logged-out visitors — only a fixed preview of up to 8 rows per target, regardless of the target's real follower count (confirmed identically on accounts ranging from 2K to 62M followers). This actor always returns exactly what Facebook itself shows on the page: the 8-row preview plus the account's aggregate counts. It never promises — and cannot deliver — a complete roster. If you need every one of a target's 10,000+ followers, no tool (including this one) can honestly provide that without the target's own login session.

What this actor does

  • Three modes: followers, following, friends (friends is only meaningful for Profile URLs)
  • Batch input: scrape any number of Facebook Page or Profile URLs in a single run
  • Structured parsing: location, workplace, and school pulled out of Facebook's free-text subtitle line where it shows one
  • Aggregate counts: follower/following totals, both as Facebook's abbreviated string (e.g. 39M) and as a parsed integer
  • Explicit access states: every target reports whether it returned real results, is private, doesn't exist, or was blocked — a restricted target is never silently mistaken for zero followers
  • No login, no cookies, no proxy — works out of the box on the free Apify plan
  • Empty fields are omitted, not returned as null

Output

Every target produces up to 8 row records plus exactly 1 target summary record.

Row fields (recordType: follower / following / friend)

  • name — the follower/following/friend's display name
  • profileUrl — direct link to their Facebook profile/Page
  • imageUrl — their profile picture URL
  • isVerifiedtrue if Facebook shows a verification badge on this account
  • location — parsed location, when Facebook's subtitle line recognizably shows one (e.g. "Lives in ...", "From ...", or a bare "City, Region")
  • worksAt — parsed workplace, when Facebook's subtitle line starts with "Works at ..."
  • studiedAt — parsed school, when Facebook's subtitle line starts with "Studied at ..."
  • subtitleRaw — the raw, unparsed subtitle text Facebook showed under this row, kept for transparency even when location/worksAt/studiedAt couldn't be confidently parsed
  • accessState — the access state of the target this row came from (see below)
  • sourceUrl — the exact followers/following/friends page URL that was fetched
  • targetUrl — the original Page/Profile URL from your input
  • scrapedAt — ISO 8601 timestamp of when this row was scraped
  • recordTypefollower, following, or friend, matching the selected mode

Target summary fields (recordType: targetSummary)

  • targetUrl — the original Page/Profile URL from your input
  • mode — the mode that was run for this target: followers, following, or friends
  • accessState — one of results (rows were returned), empty_valid (Facebook shows a genuine "no followers/results" message), private_or_restricted (target is privacy-restricted), not_found (target doesn't exist or isn't reachable), login_required (Facebook demanded a login), checkpoint_or_challenge (Facebook served a bot-challenge/checkpoint page instead of the target), schema_failure (an unrecognized page layout that doesn't match any known state), or fetch_failed (the request itself failed after retries)
  • returnedCount — how many preview rows were returned for this target (0-8)
  • followersCount — the target's aggregate follower count, as a parsed integer
  • followersCountFormatted — the target's aggregate follower count, as Facebook's own abbreviated string (e.g. 39M)
  • followingCount — the target's aggregate following count, as a parsed integer
  • followingCountFormatted — the target's aggregate following count, as Facebook's own abbreviated string
  • scrapedAt — ISO 8601 timestamp of when this target was scraped
  • recordType — always targetSummary

Input

FieldTypeDefaultDescription
startUrlsarray[{"url": "https://www.facebook.com/nike"}]One or more Facebook Page or Profile URLs, e.g. https://www.facebook.com/nike, https://www.facebook.com/zuck, or https://www.facebook.com/profile.php?id=...
modestringfollowersWhich preview list to fetch: followers, following, or friends (Profile URLs only)

Example: followers preview for multiple brand Pages

{
"startUrls": [
{ "url": "https://www.facebook.com/nike" },
{ "url": "https://www.facebook.com/Starbucks" },
{ "url": "https://www.facebook.com/BBCNews" }
],
"mode": "followers"
}

Example: who a Page is following

{
"startUrls": [{ "url": "https://www.facebook.com/nike" }],
"mode": "following"
}

Example: a Profile's friends preview

{
"startUrls": [{ "url": "https://www.facebook.com/zuck" }],
"mode": "friends"
}

Use cases

  • Social media monitoring — track a competitor Page's follower growth and following list over time
  • Influencer & partnership vetting — spot-check a Profile's or Page's follower quality and verification status before a partnership
  • Market research — sample which brands, media outlets, or public figures a Page follows
  • Lead enrichment — pull location/workplace signals surfaced on public follower/friend previews
  • Audience overlap analysis — compare the follower previews of multiple related Pages
  • Compliance & brand safety — confirm a Page's public-facing follower counts match what's advertised elsewhere

FAQ

Why only 8 results per target? This is a Facebook platform limit on the logged-out preview, not a limitation of this actor. Facebook caps the followers/following/friends preview shown to non-logged-in visitors at 8 rows regardless of the target's true follower count — see "Important" above.

Why is a field missing for some rows? Facebook only shows a location/workplace/school subtitle for some accounts, never all. This actor only includes fields Facebook actually exposes — it never fabricates placeholder values.

Does this work on private profiles? No. A privacy-restricted or blocked target returns no rows, with an accessState of private_or_restricted, not_found, or checkpoint_or_challenge depending on exactly how Facebook responds, matching what a logged-out visitor would see in a browser.

Do I need a Facebook account, cookies, or a proxy to use this actor? No. It works entirely through Facebook's public, logged-out pages — no login, no cookies, and no proxy configuration needed to get started.

Can I get a target's full follower list, not just the preview? No. Facebook does not expose a complete roster to logged-out visitors under any circumstances, so no tool — including this one — can honestly deliver more than the 8-row preview without the target's own login session.

What does friends mode return for a Facebook Page? Nothing useful — friends is a Profile-only concept on Facebook. Use friends mode only with personal Profile URLs.

Is this actor affiliated with Facebook or Meta? No. This is an independent, third-party actor that reads Facebook's own publicly accessible pages; it is not affiliated with, endorsed by, or operated by Meta Platforms, Inc.

How fresh is the data? Every run fetches the target's live followers/following/friends page at request time — there's no caching, so results reflect what Facebook shows at the moment the actor runs.