Facebook Page & Profile Scraper avatar

Facebook Page & Profile Scraper

Pricing

from $5.40 / 1,000 pages

Go to Apify Store
Facebook Page & Profile Scraper

Facebook Page & Profile Scraper

Extract data from Facebook Pages and Profiles: name, categories, followers, likes, email, phone, address, websites, rating, About text, creation date, ad status, confirmed owner and Ad Library ID. No login or cookies needed. Export to JSON, CSV or Excel, or use via API.

Pricing

from $5.40 / 1,000 pages

Rating

0.0

(0)

Developer

Arishma

Arishma

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

15 hours ago

Last modified

Categories

Share

What is Facebook Pages Scraper?

Facebook Pages Scraper pulls public information from Facebook Pages and personal Profiles and turns it into clean, structured data. Paste in the Page URLs, click Start, and get one record per Page with its contact details, audience numbers, categories, photos and transparency info. It goes beyond what the official Facebook Graph API lets you read about Pages you do not manage.

  • 🗂 Scrape many Facebook Pages in one run
  • 👥 Works on both Pages and personal Profiles (see what each returns)
  • 📇 Get contact details, followers, likes, ratings and more
  • 📢 See when a Page was created, who owns it and whether it is running ads
  • 🔓 No Facebook login or cookies needed, so your accounts are never at risk
  • 💾 Download the data as JSON, CSV, Excel, XML or HTML
  • 🔗 Use it from code (Python and Node.js SDKs), the API, webhooks, integrations or AI agents

What Facebook Page data can I extract?

📝 Page name and intro🔗 Page URL, vanity name and IDs
🎨 Categories🌐 Websites
📧 Email📞 Phone number
📮 Address💬 Messenger link (when shown)
👥 Followers and following👍 Likes (on Pages that still show them)
🗣 "Talking about this" count📍 Check-ins ("were here")
⭐ Rating and number of reviews🕒 Opening hours, services and price range
📖 Full About text and its links🔗 Linked social accounts (Instagram, ...)
📅 Page creation date📢 Ad status (running ads or not)
🏢 Confirmed Page owner📚 Ad Library Page ID
🌄 Profile picture and cover photo URLs👤 Name, gender and pictures of personal Profiles

How do I use Facebook Pages Scraper?

  1. Create a free Apify account with your email.
  2. Open Facebook Pages Scraper.
  3. Add one or more Facebook Page URLs, for example https://www.facebook.com/humansofnewyork/.
  4. Click Start and wait a few seconds per Page.
  5. Download your data as JSON, CSV, Excel, XML or HTML, or fetch it through the API.

How much does it cost to scrape Facebook Pages?

You pay per Page scraped, and the platform usage and residential proxies are included. Pages that fail (for example, Pages that do not exist) are not charged. With the free monthly credit of the Apify Free plan you can try the scraper on hundreds of Pages before you need to upgrade.

To control costs, set a maximum cost per run in the run options. The scraper stops as soon as that limit is reached.

⬇️ Input

The input is a list of Facebook Page URLs, such as https://www.facebook.com/humansofnewyork/. Add them one by one, paste a prepared list, upload a file, or set them through the API.

FieldDescription
startUrlsPage URLs, Profile URLs, profile.php?id= URLs or plain Page names.
scrapeAboutAlso load the About section: creation date, ad status, confirmed owner and full About text. Default true. Turn it off for faster, lighter runs.
proxyProxy settings. Residential proxies (the default) work best. You can also use your own proxies in proxyUrls.

Example input:

{
"startUrls": [
{ "url": "https://www.facebook.com/ChrisBrecheensWritingAboutWriting" },
{ "url": "https://www.facebook.com/UNclimatechange" }
],
"scrapeAbout": true,
"proxy": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

⬆️ Output

The results are stored in a dataset, which you can find in the Storage tab. Each Page is one item. Here is what you get for the input above (image URLs shortened):

[
{
"facebookUrl": "https://www.facebook.com/ChrisBrecheensWritingAboutWriting",
"categories": ["Page", "Interest"],
"info": [
"Writing About Writing. 1,181,507 followers",
"11,889 talking about this. Macros, memes, quotes, puns and more as well as daily updates from the blog this page promotes: chri"
],
"likes": 0,
"messenger": null,
"title": "Writing About Writing",
"pageId": "100077736131324",
"pageName": "ChrisBrecheensWritingAboutWriting",
"pageUrl": "https://www.facebook.com/ChrisBrecheensWritingAboutWriting",
"intro": "Macros, memes, quotes, puns and more as well as daily updates from the blog this page promotes: chri",
"websites": ["http://chrisbrecheen.blogspot.com/"],
"website": "http://chrisbrecheen.blogspot.com/",
"followers": 1181507,
"followings": 3,
"talkingAbout": 11889,
"wereHere": null,
"email": "chris.brecheen@gmail.com",
"phone": null,
"address": null,
"socialMedia": [],
"profilePictureUrl": "https://scontent.xx.fbcdn.net/v/t39.30808-1/...jpg",
"coverPhotoUrl": "https://scontent.xx.fbcdn.net/v/t39.30808-6/...jpg",
"profilePhoto": "https://www.facebook.com/photo/?fbid=609196478348218&set=a.178389964762207",
"category": "Interest",
"creation_date": "October 7, 2012",
"ad_status": "This Page isn't currently running ads.",
"about_me": {
"text": "Memes, macros infographics, and quotes about writing, art, creativity, inspiration, ...",
"urls": []
},
"additionalProperties": { "...": "..." },
"facebookId": "100077736131324",
"pageAdLibrary": {
"id": "290072384435404",
"is_business_page_active": true,
"pamv_comms_data": null
}
},
{
"facebookUrl": "https://www.facebook.com/UNclimatechange",
"categories": ["Page", "Organisation"],
"info": [
"UN Climate Change, Bonn. 522,513 followers",
"2,767 talking about this",
"2,111 were here. The official Facebook page of the United Nations Framework Convention on Climate Change (UNFCCC)."
],
"likes": 0,
"messenger": null,
"title": "UN Climate Change",
"pageId": "100067499490396",
"pageName": "UNclimatechange",
"pageUrl": "https://www.facebook.com/UNclimatechange",
"intro": "The official Facebook page of the United Nations Framework Convention on Climate Change (UNFCCC).",
"websites": ["https://unfccc.int/"],
"CONFIRMED_OWNER_LABEL": "United Nations Framework Convention on Climate Change (UNFCCC)",
"website": "https://unfccc.int/",
"followers": 522513,
"followings": 118,
"talkingAbout": 2767,
"wereHere": 2111,
"email": null,
"phone": "+49 228 8151000",
"address": "Platz der Vereinten Nationen 1 , Bonn, Germany",
"socialMedia": [],
"profilePictureUrl": "https://scontent.xx.fbcdn.net/v/t39.30808-1/...jpg",
"coverPhotoUrl": "https://scontent.xx.fbcdn.net/v/t39.30808-6/...png",
"profilePhoto": "https://www.facebook.com/photo/?fbid=587061196887192&set=a.587061156887196",
"category": "Organisation",
"creation_date": "January 26, 2009",
"ad_status": "This Page isn't currently running ads.",
"confirmed_owner": "United Nations Framework Convention on Climate Change (UNFCCC) is responsible for this Page.",
"additionalProperties": { "...": "..." },
"facebookId": "100067499490396",
"pageAdLibrary": {
"id": "63044235866",
"is_business_page_active": false,
"pamv_comms_data": null
}
}
]

Local businesses also get rating, ratingOverall (percent of people who recommend), ratingCount, businessHours, services and priceRange when the Page shows them. Any other intro item is still returned, under its Facebook name (for example WORK or EDUCATION on Profiles).

Image URLs are signed by Facebook and expire after a few days, so download the images if you need to keep them.

A summary of each run (which Pages succeeded, failed or were skipped, and why) is saved as RUN_SUMMARY in the run's key-value store.

When a Page cannot be scraped (deleted, age-restricted, not a Page URL, ...), the dataset gets one free item for it with facebookUrl, error (the code, e.g. NOT_FOUND) and errorDescription, shown in the Errors view. Such a run still ends as succeeded, with the reasons in its status message; it only fails when the scraper itself could not get through to Facebook.

❓ FAQ

Is there a difference between scraping a Facebook Page and a Profile?

Yes. Pages are made for businesses, brands, organizations and public figures. They usually have a category (such as Retail company or Restaurant) and are often run by several people. Profiles are personal accounts.

The scraper handles both, but Profiles share less data. For a Profile you typically get the name, URL, IDs, follower count, intro, profile and cover photos, the public intro items (work, education, city), and a personalProfile object with the name, gender and profile pictures in three sizes.

Why do I see less information for some Pages?

Facebook only shows what the Page owner has filled in, so brands often have no address or phone, and Pages without a confirmed owner have no CONFIRMED_OWNER_LABEL. Some Pages are also restricted (for example by age or country) and show little or nothing to visitors who are not logged in.

Why is likes 0?

Facebook replaced Page likes with followers on most Pages and no longer shows a like count for them. likes is filled in for the Pages that still show one.

Can I use the Facebook Pages Scraper through the API?

Yes. Every run can be started, scheduled and monitored through the Apify API, and you can fetch the results from the run's dataset. You need an Apify account and your API token, found under Settings → API & Integrations in Apify Console. For Node.js use the apify-client NPM package, and for Python the apify-client PyPI package. The API tab has ready-to-use code examples.

Can I use it with AI agents through MCP?

Yes. Through the Apify MCP server you can let AI assistants such as Claude, or your own agents, run the scraper and read its results.

Do I need proxies to scrape Facebook Pages?

Facebook blocks most server IPs, so proxies are needed. On the Apify platform residential proxies are used by default and you do not have to set anything up. You can also plug in your own proxies in the Proxy configuration input. If a request fails on your own proxy (blocked, rate-limited, out of traffic, wrong password) or you run without a proxy, the scraper gives it one more try on Apify residential proxy, so the Page is still scraped at no extra cost.

Can I connect the scraped data to other apps?

Yes. Through Apify integrations you can send the results to Google Sheets, Google Drive, Slack, Make, Zapier, Airbyte, GitHub, Keboola and more. You can also set up webhooks to trigger an action whenever a run finishes, for example to get notified or start the next step of your pipeline.

This scraper collects only data that Pages and Profiles choose to show publicly, and it never logs in. However, your results may contain personal data, which is protected by regulations such as the GDPR in the European Union. Do not scrape personal data unless you have a legitimate reason to. If you are unsure, consult a lawyer. You can also read the Apify blog post on the legality of web scraping.

Your feedback

We are always improving this scraper. If you have technical feedback or found a bug, please open an issue in the Issues tab and include the run link and the Pages you tried.