Skip to content

September 23, 2026 · 13 min read

Facebook Followers Scraper: Get 8-Row Previews and Total Counts (2026)

By Crawlerbros Engineering Team

Facebook Followers & Following Scraper returns up to 8 real preview rows per target including names, profile URLs, and aggregate counts without requiring a login or cookies. This Actor provides exactly what Facebook exposes to logged-out visitors, which includes the account's total follower and following integers alongside a limited sample of individual profiles. It is designed to pull structured data from the location and workplace subtitles when available. This tool is for researchers and analysts needing fast, low-cost sampling of public audience data, not for those requiring a complete roster of millions of followers.

What does a Facebook Followers & Following Scraper run cost?

Each result costs $0.005 on the free tier, which is $5.00 per 1,000 results. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.

Apify plan Per result Per 1,000 results
FREE $0.005 $5.00
BRONZE $0.00367 $3.67
SILVER $0.00233 $2.33
GOLD $0.001 $1.00
PLATINUM $0.001 $1.00
DIAMOND $0.001 $1.00

Pricing is fixed at $0.005 per result, meaning a single target with a full preview costs approximately $0.045 for the 8 rows plus the summary record. The number of URLs in the startUrls array is the primary driver of your total bill. To minimize costs, use a single URL to verify the target is public before running large batches.

How do you run Facebook Followers & Following Scraper from the API?

The schema marks 1 of its 2 controls as required: startUrls. Nothing in the payload below is illustrative. Those are the schema's prefilled defaults for Facebook Followers & Following Scraper, so the request works once your token is in place.

Call the synchronous endpoint to start a run and receive dataset items in one request:

curl -X POST "https://api.apify.com/v2/acts/crawlerbros~facebook-followers-following-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"startUrls":[{"url":"https://www.facebook.com/nike"}],"mode":"followers"}'

The same run from Python, using the official client:

from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")

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

run = client.actor("crawlerbros~facebook-followers-following-scraper").call(run_input=run_input)

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

And from Node.js:

import { ApifyClient } from 'apify-client'

const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })

const input = {
  "startUrls": [
    {
      "url": "https://www.facebook.com/nike"
    }
  ],
  "mode": "followers"
}

const run = await client.actor('crawlerbros~facebook-followers-following-scraper').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)

Because the call is synchronous, your client waits for the whole run. Keep it for exploration. For scheduled work, start the run without waiting and collect the dataset afterwards, so network trouble costs you a retry rather than the results.

Which Facebook Followers & Following Scraper inputs matter, and which can you skip?

The startUrls array is the only required input and dictates which accounts are sampled. The mode selector toggles between followers, following, and friends, though friends only works for personal profiles. Most users should stick to the default followers mode unless specific outbound connection data is needed.

Fixed-choice controls: mode accepts followers, following, friends.

Move one control per run. Compare each new sample against the previous one and keep the accepted, uncertain, and excluded counts side by side. A control that increases volume without improving decision quality still bills at $0.005 per result.

What does Facebook Followers & Following Scraper return?

The output contains recordType fields distinguishing between individual followers and targetSummary metadata. You will receive structured location and workplace data, but note that these fields are frequently omitted if the user has not shared that information publicly. It does not contain private contact details like email addresses or phone numbers.

  • name - the follower/following/friend's display name
  • profileUrl - direct link to their Facebook profile/Page
  • imageUrl - their profile picture URL
  • isVerified - true 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
  • recordType - follower, following, or friend, matching the selected mode
  • 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

Treat this as the documented field list, not a guarantee for every record. Measure the presence of any field your deliverable depends on across a real sample before automating the handoff.

How do you build the workflow end to end?

Open Facebook Followers & Following Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.

  1. Input a single public Facebook Page or Profile link into the startUrls array to verify the target's public visibility.
  2. Select followers, following, or friends from the mode dropdown based on the specific preview roster you need to sample.
  3. Execute a test run and check the recordType field in the results to ensure you are receiving both row and targetSummary records.
  4. Examine the accessState field for the value results to confirm the target is not private or restricted.
  5. Verify the returnedCount is between 1 and 8 before adding more links to the startUrls list.
  6. Compare the followersCount integer against the followersCountFormatted string to ensure the aggregate totals match your expectations.
  7. Scale up by pasting multiple URLs into the startUrls array once the single-target schema is confirmed.

How do you apply it? Three worked playbooks

These are Facebook Followers & Following Scraper's own documented use cases, each worked through as an operating pattern rather than a description.

Use case 1: Social media monitoring

Outcome: track a competitor Page's follower growth and following list over time

Configure: Set startUrls to the competitor Page URL and mode to followers.

Working method: Schedule the Actor to run weekly, capturing the targetSummary record for every execution to track growth.

Deliverable: A time-series dataset comparing followersCount values over multiple ISO 8601 timestamps.

Stop condition: The followersCount stays static while the target continues to post new content regularly.

Use case 2: Influencer & partnership vetting

Outcome: spot-check a Profile's or Page's follower quality and verification status before a partnership

Configure: Add the influencer Profile URL to startUrls and set mode to followers.

Working method: Review the isVerified boolean and location strings across the 8 available preview rows for authenticity signals.

Deliverable: A spreadsheet containing up to 8 follower names, profile URLs, and verification statuses.

Stop condition: The accessState returns private_or_restricted, preventing any follower preview from being viewed.

Use case 3: Market research

Outcome: sample which brands, media outlets, or public figures a Page follows

Configure: Input a list of target brand URLs into startUrls and set mode to following.

Working method: Aggregate the profileUrl values from the following records to identify common accounts followed by the targets.

Deliverable: A consolidated list of Pages and Profiles that the target brands actively follow.

Stop condition: The returnedCount is 0 for multiple known active accounts, suggesting a change in page layout.

What breaks, and how do you design around it?

  • The Actor publishes no limitations section, so treat the observed run outcomes as the operating envelope: measure the failure rate on your own inputs before scheduling it.

You cannot bypass the 8-row limit imposed by Facebook for logged-out views; this is a hard platform constraint. If you receive a login_required state, the target has restricted their page to authenticated users only. When location data is missing, refer to subtitleRaw to see the unparsed text directly from the page.

When should you not use Facebook Followers & Following Scraper?

Do not use this Actor if your project requires a complete list of every follower for a page with thousands or millions of fans. Facebook's logged-out interface strictly limits the preview to 8 rows, and no scraper can fetch the full roster without a valid login session from the target. If you require full lists, you must use the official Facebook Graph API with the necessary permissions and user tokens. Furthermore, this Actor is not suitable for scraping private profiles or restricted groups where content is hidden behind a login wall. If your primary goal is to gather email addresses or private contact info, this scraper will fail as that data is not part of the public follower preview.

What should you check before trusting the output?

  • Stop the run if accessState is login_required or checkpoint_or_challenge, as this indicates a scraper block.
  • Flag records where location is missing but subtitleRaw contains 'Lives in' to identify parsing gaps.
  • Ensure followersCount is a non-zero integer for accounts where followersCountFormatted shows a value like 39M.
  • Verify that friends mode is only used for Profile URLs, as Page URLs will return zero preview rows.
  • Check that every run with 8 or more followers returns exactly 8 row records due to the platform preview cap.

None of this proves a record is correct. It gives a scheduled Facebook Followers & Following Scraper run defined points where it should stop instead of quietly passing bad data downstream.

Frequently asked questions

How much will it cost to scrape 100 Facebook pages?

At $5.00 per 1,000 results, scraping 100 pages will cost approximately $4.50 in result charges, before run-start fees and platform usage. Each page produces one summary record and up to 8 follower records, totaling 900 results if every page has a full preview list. This remains constant on the free tier.

Can I get more than 8 followers for a single page?

No. Facebook only shows 8 preview rows to logged-out visitors. Because this Actor operates without a login to ensure safety and speed, it is limited to the data Facebook provides publicly. You will always receive the total follower count as a number, but only 8 individual profiles.

Why are some location or workplace fields empty?

The Actor only parses location, workplace, and school data if Facebook displays it in the subtitle line of the preview row. If a follower has not shared this information publicly or Facebook chooses not to show it in the preview, the fields are omitted rather than being returned as null.

Do I need to provide my own proxies or cookies?

No. This Actor is designed to work out of the box without any external proxy configuration or Facebook account cookies. It uses the public, logged-out version of Facebook pages, making it easier to set up and less likely to trigger account-related blocks.

What happens if a Facebook profile is private?

If a profile is private, the Actor will return an accessState of private_or_restricted and will not return any follower rows. This reflects exactly what a human visitor would see when attempting to view the followers of a restricted account without being logged in.

Where to go next

Start with the Facebook Followers & Following Scraper Actor page for the current input schema, pricing tier, and run history.

If you are comparing approaches rather than committing to one Actor, these category pages list every option we publish:

Readers running Facebook Followers & Following Scraper commonly pair it with:

  • Facebook Posts Scraper Scrape public Facebook Page and Profile posts and Reels - text, reactions, comments, shares, photos, videos with captions, and hashtag/link entities.
  • Facebook Pages Scraper Discover Facebook pages through search engines and extract structured page data including IDs, names, categories, addresses, follower counts, phone numbers, emails, websites, business hours, ratings, and media.
  • TikTok Followers & Following Scraper Scrape the followers and following lists for TikTok profiles.
  • Instagram Post Scraper Scrape public Instagram posts, reels, IGTV and carousel posts from direct URLs with no login, no cookies, no browser required.
  • Instagram Followers & Following Scraper Scrape Instagram followers and following lists.
  • Facebook Events Scraper Scrape public Facebook event data without cookies or authentication.
  • Nike Scraper Scrape Nike.com's public product catalog - search by keyword or style code, browse 39 curated categories (shoes, clothing, accessories, sale), or fetch full product-page details (description, sizes, images) by URL.
  • CareerBliss Company Reviews & Salaries Scraper Scrape CareerBliss.com - employee company reviews, star ratings across 8 workplace categories, real salary data by job title, and a directory of featured employers.

Related guides:

Resources

  • Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-23.

  • Actor last updated by its maintainers on 2026-09-18.

  • Run outcome figures cover the 30 day public window ending 2026-09-23.

  • Facebook Followers & Following Scraper on Apify

● Featured actors

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.

Run on Apify ↗