Facebook Followers Following Scraper
Pricing
Pay per event
Facebook Followers Following Scraper
Export public Facebook follower and following identities with names, profile URLs, IDs, images, and relationship metadata from sections visible without login.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Export the follower and following identities that a Facebook Page or profile exposes publicly without login. The Actor turns the visible relationship cards into structured records with profile names, Facebook URLs, IDs, image URLs, source context, and relationship type.
Use it to refresh public audience samples, compare overlap between Pages, prepare spreadsheet exports, or feed a repeatable community-research pipeline. It does not log in, bypass privacy settings, or claim access to a complete private follower list.
What does Facebook Followers Following Scraper do?
Give the Actor one or more Facebook Page or profile URLs. It visits the requested public followers and/or following section in a resource-efficient browser, validates visible relationship cards, removes duplicates, and writes accepted records to the default Apify dataset.
The Actor:
- accepts Page/profile URLs and direct
/followersor/followingURLs; - supports followers, following, or both relationship types;
- uses sticky Apify datacenter browser sessions with bounded rotation;
- retries login-only/challenged responses with a fresh bounded session;
- stops at your global
maxItemslimit; - charges only for records actually saved;
- fails clearly when no requested source exposes useful public identities.
Who is this Facebook audience exporter for?
- Audience researchers comparing the publicly displayed communities around several Pages.
- Creator and partnership teams collecting a small public sample for manual qualification.
- Analysts refreshing source-attributed relationship rows for overlap analysis.
- Automation builders loading typed Facebook relationship data into Sheets, a warehouse, or a CRM review queue.
- Trust and safety researchers studying only information that Facebook displays while logged out.
This Actor is designed for source-specific public audience research. It is not a Facebook Dating scraper, Facebook Ad Library scraper, contact extractor, or account-growth tool.
Why use this Actor?
Facebook's public relationship pages are dynamic and may return a login screen to an ordinary request. This Actor packages the working browser, datacenter proxy, session rotation, validation, deduplication, output schema, and Apify integrations into one repeatable task.
Unlike a follower-count scraper, it returns the visible profile identities, not only an aggregate count. Every row retains its source and relationship type so multi-Page exports remain analysis-ready.
What Facebook follower data can I extract?
| Field | Meaning |
|---|---|
sourceUrl | Canonical Page/profile URL inspected |
sourceName | Public source display name, when available |
sourceProfileId | Numeric source ID exposed by public metadata, when available |
relationshipType | followers or following |
profileName | Public name shown on the relationship card |
profileUrl | Canonical public URL of the related profile/Page |
profileId | Numeric ID parsed from the public URL, when available |
username | Vanity username parsed from the URL, when available |
profileImageUrl | Public image URL shown on the card; CDN URLs can expire |
subtitle | Public card subtitle when Facebook supplies one |
scrapedAt | ISO timestamp of extraction |
Fields are nullable where Facebook does not expose a value.
How to export public Facebook followers
- Create or sign in to your Apify account.
- Open Facebook Followers Following Scraper.
- Add one or more public Facebook Page/profile URLs.
- Choose
followers,following, orboth. - Set the maximum number of records.
- Click Start.
- Open the Dataset tab and download JSON, CSV, Excel, XML, or another supported format.
The prefilled Leonardo DiCaprio followers URL is a real public source that currently yields useful rows while logged out.
Input parameters
| Input | Type | Default | Description |
|---|---|---|---|
startUrls | array | required | Public facebook.com Page/profile URLs. A direct relationship URL overrides the general relationship setting for that URL. |
relationshipType | string | both | Inspect followers, following, or both. |
maxItems | integer | 100 | Global accepted-record limit, from 1 to 10,000. |
maxSessionRetries | integer | 3 | Fresh sticky datacenter sessions allowed for a login-only/challenged page, from 1 to 3. |
Example input:
{"startUrls": [{ "url": "https://www.facebook.com/NASA/followers" },{ "url": "https://www.facebook.com/BarackObama/followers" }],"relationshipType": "followers","maxItems": 16,"maxSessionRetries": 3}
Output example
A real run produces records with this shape (personal values below are anonymized):
{"sourceUrl": "https://www.facebook.com/samplepage","sourceName": "Sample Public Page","sourceProfileId": "100012345678901","relationshipType": "followers","profileName": "Example Profile","profileUrl": "https://www.facebook.com/people/Example-Profile/61500000000001","profileId": "61500000000001","username": null,"profileImageUrl": "https://scontent.example.fbcdn.net/example-profile.jpg","subtitle": null,"scrapedAt": "2025-01-15T12:00:00.000Z"}
Results are stored in the run's default dataset, so normal Apify exports and integrations work without a custom dataset name.
How much does it cost to export Facebook followers?
The Actor uses pay-per-event pricing:
- a $0.005 Actor start event once per run;
- one public relationship record event per accepted dataset row.
At the Bronze tier, each accepted row is $0.00368. Approximate Bronze totals are:
| Accepted rows | Approximate total |
|---|---|
| 1 | $0.00868 |
| 10 | $0.04180 |
| 25 | $0.09700 |
| 100 | $0.37300 |
Your actual tier may have a lower item price. Failed, duplicate, rejected, and empty cards are not charged as item events. Facebook often exposes only a small public subset per section, so a 100-row run generally requires several sources rather than one Page.
Public visibility and list-size limits
Facebook decides whether a followers/following section is public and how many identities it displays to a logged-out visitor. The number of displayed profiles can be much smaller than the aggregate follower count.
The Actor cannot:
- reveal private or login-only identities;
- guarantee that both sections exist;
- turn an aggregate follower count into a full identity list;
- bypass a Facebook checkpoint or privacy control;
- preserve an expiring Facebook CDN image URL indefinitely.
When one requested section is unavailable but another yields rows, the run keeps the useful rows. When every requested source yields zero identities after bounded retries, the run fails instead of returning a misleading successful empty dataset.
Tips for reliable runs
- Start with a URL that you can open in a private/incognito window without signing in.
- Use a direct
/followersURL when you only need followers; this avoids checking an unavailable following section. - Use several source URLs for overlap work because one public section commonly exposes only a sample.
- Schedule moderate refresh intervals; repeated rapid runs do not make Facebook expose more public identities.
- Store downloaded images yourself if your lawful workflow needs them later; source CDN links can expire.
Refresh and compare public audience lists
Create an Apify Schedule for a weekly or monthly run. Export each dataset with its scrapedAt, sourceUrl, relationshipType, and profileUrl fields. In your warehouse or spreadsheet:
- use
sourceUrl + relationshipType + profileUrlas a stable comparison key; - compare the newest snapshot with the prior snapshot;
- label newly visible and no-longer-visible public rows;
- distinguish source visibility changes from definitive follow/unfollow events.
Because Facebook shows only a public sample, describe changes as changes in the visible sample, not proof of a person's private activity.
Export to Google Sheets or a data pipeline
From the Dataset tab, download CSV/Excel directly or attach an Apify integration. Common workflows include:
- append public relationship rows to Google Sheets;
- send a webhook after each scheduled run;
- load JSON into BigQuery, Snowflake, or a custom warehouse;
- trigger Make or Zapier only after a successful run;
- join profiles from two sources by
profileUrlfor overlap analysis.
Apply your own retention, access-control, and deletion policies downstream.
Run with the Apify API using cURL
Replace YOUR_TOKEN with your Apify API token:
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~facebook-followers-following-scraper/runs?token=YOUR_TOKEN&waitForFinish=300" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url":"https://www.facebook.com/LeonardoDiCaprio/followers"}],"relationshipType":"followers","maxItems":5}'
Fetch items from the defaultDatasetId returned by the run.
Run with JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/facebook-followers-following-scraper').call({startUrls: [{ url: 'https://www.facebook.com/NASA/followers' }],relationshipType: 'followers',maxItems: 8,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Run with Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("automation-lab/facebook-followers-following-scraper").call(run_input={"startUrls": [{"url": "https://www.facebook.com/BarackObama/followers"}],"relationshipType": "followers","maxItems": 8,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
Use with Apify MCP
Add the Actor to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/facebook-followers-following-scraper"
Claude Desktop, Cursor, and VS Code MCP setup
Use this same configuration in Claude Desktop, Cursor, or VS Code where HTTP MCP servers are supported:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/facebook-followers-following-scraper"}}}
Example prompts:
- "Export up to 8 publicly displayed followers from NASA's Facebook Page."
- "Run the public Facebook followers exporter for NASA and Barack Obama, then group rows by source URL."
- "Schedule this input monthly and summarize changes in the visible public sample."
Responsible use and legality
The Actor collects only relationship cards Facebook presents to a logged-out visitor. Public availability does not remove your legal obligations.
Use the data only with a lawful purpose. Consider privacy, data-protection, database-right, contractual, and anti-discrimination rules that apply to your location and use case. Minimize collection, avoid sensitive profiling, respect deletion requests, secure exports, and retain records only as long as needed. Do not use this Actor for harassment, surveillance, spam, or decisions that unfairly affect individuals.
When in doubt, obtain qualified legal advice for your workflow.
Troubleshooting
Why did the run say no public identities were extracted?
Open the same /followers or /following URL in an incognito browser. The section may be hidden, login-only, temporarily challenged, or may display only a count. Try a known public section such as the prefilled followers URL. The Actor retries challenged sessions but does not bypass privacy controls.
Why are there only eight records for a Page with millions of followers?
The aggregate count and the public identity sample are different surfaces. Facebook commonly displays only a small logged-out sample. maxItems is a ceiling, not a promise that the source exposes that many identities.
Why is username or subtitle null?
Many Facebook profile links use a numeric /people/.../<id> route rather than a vanity username, and current public cards often contain no subtitle. The numeric profileId and canonical profileUrl remain available when exposed.
Why did a profile image stop loading?
Facebook CDN URLs are temporary. Download images promptly when your lawful workflow requires durable media storage.
Frequently asked questions
Does this Actor need Facebook credentials?
No. It intentionally supports only sections visible while logged out and does not accept account credentials or cookies.
Can it scrape both followers and following?
Yes, when Facebook publicly exposes both sections. A direct relationship URL requests only that section. If a section is not public, the Actor reports the limitation and keeps useful rows from other requested sections.
Does it return follower counts?
The primary output is one visible relationship identity per row. The Actor does not market aggregate counts as identity records.
Can I monitor changes?
Yes. Use Apify Schedules to create repeat snapshots and compare public sample keys downstream. Do not interpret sample visibility changes as definitive private follow/unfollow behavior.
Can I export CSV or Excel?
Yes. Use the standard download options on the run's default dataset.
Related automation-lab Actors
Combine this public audience sample with:
- Facebook Pages Posts Scraper for Page content workflows.
- Facebook Page Contact Info Scraper for publicly displayed Page contact details.
- Facebook Pages Scraper for Page-level metadata and counts.
Each Actor has a separate input/output and pricing contract. Use only the minimum public data needed for your workflow.