Request a tool
All toolsAutomationsGuidesMCP serverRequest a toolPlatformsCategories
Facebook Pages Scraper icon

Facebook Pages Scraper

Scrape public Facebook Page names, handles, likes, talking-about counts and verified badges. Up to 10 Pages per run. No login needed from you.

146 runs on Apify $0.0001 per Facebook Page ($0.1 / 1,000)
Run this in the cloudRun on Apify →

Social Media Scrapers

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust pageUrls, sessionCookies (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.0001 per Facebook Page = $0.1 per 1,000

You are charged forWhenPrice
Facebook PageOne genuine public Facebook Page metadata row stored in the dataset.$0.0001
Valid runCharged once only after at least one valid Facebook Page URL is accepted.$0.004

Pay-per-event pricing: you are billed per result, not per subscription. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-04, and they are what you are actually charged.

Inputs

FieldWhat it doesType
pageUrlsPublic page URLs such as https://www.facebook.com/NASA. Empty input returns one clearly labelled, uncharged sample row.array
sessionCookiesOptional. Pages are read without an account. Add your own cookie here, and the run uses it for Pages that need one. In Chrome: open facebook.com while signed in, press F12, then Application > Cookies > https://www.facebook.com, and paste the values as "c_user=…; xs=…". One line per account. Treat these like a password: anyone with them can act as that account, and Facebook may sign the session out or restrict the account for automated use.array

What you get

A structured dataset — each result includes fields like:

namehandlelikesCounttalkingAboutCountdescriptionisVerifiedpageUrlimageUrl

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

Related tools in Social Media Scrapers

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

LinkedIn Profile Posts Scraper iconSocial Media Scrapers

LinkedIn Profile Posts Scraper

Scrape LinkedIn profile posts with no login: post text, author, image, publish time and URL. $0.90 per 1,000 posts, flat on every plan.

1 use cases

LinkedIn Company Posts Scraper iconSocial Media Scrapers

LinkedIn Company Posts Scraper

Scrape public posts from any LinkedIn company page: post text, reactions, comments and URLs. No login or cookies. $0.90 per 1,000 posts.

Ready to run — no setup

LinkedIn Post Comments Scraper iconSocial Media Scrapers

LinkedIn Post Comments Scraper

Scrape public LinkedIn post comments: text, author name, profile URL, reactions. No login or cookie. Up to 10 per post. $0.60 per 1,000 comments.

1 use cases

RedNote Scraper iconSocial Media Scrapers

RedNote Scraper

Scrape public RedNote (Xiaohongshu) notes: description, author, likes, collects, comments, shares and images. No login. $0.90 per 1,000 notes.

Ready to run — no setup

RedNote (Xiaohongshu) Profile Scraper iconSocial Media Scrapers

RedNote (Xiaohongshu) Profile Scraper

Scrape RedNote (Xiaohongshu) profiles: nickname, RedNote ID, followers, likes, verified badge, IP location and recent notes. $2.90 per 1,000.

1 use cases

Douyin Hot Search Scraper iconSocial Media Scrapers

Douyin Hot Search Scraper

Get Douyin trending topics: rank, hot value, views, video count, badge and cover image. Hot, entertainment and society boards. No login. $0.40/1,000.

1 use cases

See all Social Media Scrapers →

Facebook Pages Scraper: the public profile of a Page, likes and talking-about count included

Paste up to ten Page links and get one row each: the Page name, its handle, the canonical link, the description Facebook publishes, the like count, the talking-about count, the verified badge and the profile picture.

It is deliberately small. Ten Pages per run, one row each, nothing about posts or reviews. If you want the contact details or what a Page has been posting, two siblings below do that instead.

InputUp to 10 public Page links
OutputOne row per Page
Ceiling10 Pages per run
Account neededNone from you
Price$0.004 per run, plus $0.10 per 1,000 Pages

🔍 What Facebook Pages Scraper does

It reads the public description Facebook publishes for a Page and turns it into typed fields. The like count and the talking-about count are pulled out of that line as numbers, so 28,716,072 likes arrives as 28716072 rather than as text you have to clean.

Give it the full link, https://www.facebook.com/NASA. That handle form is the only one it reads. A profile.php?id= link, a /p/ link or a link written without https:// will not get you the Page you meant, because only the handle part of the path is used.

Eleventh and later links in one run are ignored rather than queued, so keep each run to ten and split a longer list across runs.

📥 What you give it

{
  "pageUrls": ["https://www.facebook.com/NASA"]
}
FieldDefaultWhat it is
pageUrls[]Public Page links, one per line, in the https://www.facebook.com/<handle> form. Up to 10 per run.
proxyConfigurationApify defaultLeave it as it is unless you have your own servers you would rather use.
sessionCookiesnoneOptional, and most runs never touch it. Your own c_user and xs pair, so heavy runs use your account's own rate limit. Treat the values like a password.

Run it with empty input and you get one labelled sample row, free and uncharged, so you can see the shape before you spend anything.

📤 What you get back

A real row from a real run, with the description cut short:

{
  "ok": true,
  "recordType": "page",
  "name": "NASA - National Aeronautics and Space Administration",
  "handle": "NASA",
  "pageUrl": "https://www.facebook.com/NASA/",
  "description": "NASA - National Aeronautics and Space Administration. 28,716,072 likes · 56,411 talking about this. Explore the universe and discover our home planet. ...",
  "likesCount": 28716072,
  "talkingAboutCount": 56411,
  "imageUrl": "https://lookaside.fbsbx.com/lookaside/crawler/media/?media_id=100044561550831",
  "imageAlt": "NASA - National Aeronautics and Space Administration",
  "category": null,
  "isVerified": true,
  "source": "facebook_crawler_metadata",
  "requestedUrl": "https://www.facebook.com/NASA/",
  "transport": "direct_http"
}
FieldWhat it is
name, handleThe Page's display name and its handle. The handle is the stable key.
pageUrl, requestedUrlFacebook's canonical link for the Page, and the link you asked for, so rows join back onto your list.
descriptionThe public description line, including the counts in their original wording.
likesCount, talkingAboutCountThose same counts as numbers. null when the Page does not publish them.
imageUrl, imageAltThe Page picture and its alt text.
isVerifiedtrue on a verified Page. On everything else it is null, not false, so test for truthiness rather than for false.
categoryAlways null. Facebook stopped publishing it here, and an empty field is better than a guess.
source, transportWhere the row came from. Useful only when you are comparing runs.

🧾 Reading the output

Three kinds of row can land in your dataset, and this Actor marks them differently from its siblings: real rows carry no charged flag at all.

RowHow to spot itBilled
A Pageok: true and recordType: "page"yes
The sample row_sample: true with a _noticeno
A diagnostic_uncharged: true and a codeno

Filter on recordType == "page" and you have your data.

codeWhat happened
BAD_INPUTThat link could not be read as a Page link.
NOT_FOUNDNo public Page at that link.
NO_RESULTSThe Page came back with no public description to read.
BLOCKEDFacebook served a login screen for that Page instead of its public details.
RATE_LIMITEDFacebook asked for a slower pace. Re-run.
TARGET_ERRORFacebook answered with something the run could not read.
NETWORKFacebook could not be reached.

▶️ How to run it

1. Open Facebook Pages Scraper and click Try for free. 2. Paste your Pages into Public Facebook Page URLs, one per line, up to ten. 3. Click Start. 4. Download the dataset as JSON, CSV or Excel, or pull it from the Apify API.

💰 How much does it cost?

$0.004 for a run that accepts at least one valid Page link, plus $0.10 per 1,000 Pages. The same rates on every Apify plan, no volume tiers.

Said plainly: the run fee applies once a run has a valid link to work with, whether or not Facebook serves the Page. Sample rows and diagnostic rows are never charged, and a run with nothing but unusable links carries no run fee either.

Because of the ten-Page cap, the run fee is the larger part of a small run. That is worth knowing before you schedule this hourly on two Pages.

💡 What people use it for

  • Checking the follower size of a shortlist of Pages before deciding who to approach.
  • Snapshotting like and talking-about counts on a schedule to watch which Pages are growing.
  • Confirming a Page is the verified one before adding it to a campaign brief.
  • Filling in the name, handle and picture for Pages you only have links for.

🚧 What it does not do

  • Ten Pages per run. Links beyond the tenth are ignored, not queued.
  • No posts, reviews, events or contact details. This is the Page's own public profile and

nothing else. The siblings below cover the rest.

  • category is always empty. Facebook does not publish it on this surface.
  • Only the plain handle link form works. profile.php?id=, /p/ links and links without

https:// are not resolved.

  • isVerified is true or null, never false. An unverified Page simply has no badge to

report.

  • Counts are a snapshot at read time, and Facebook publishes them rounded on some Pages.
  • Public Pages only. Personal profiles, groups and anything behind a login are out of scope.

🧭 Which Facebook scraper do you need?

If you wantUse
A Page's name, handle, likes and badgeThis one
Its website, email, phone and addressFacebook Page Contact Info Scraper
What it has been postingFacebook Posts Scraper
Its reelsFacebook Reels Scraper
The comments under one of its postsFacebook Comments Scraper

❓ Questions people ask

Do I need a Facebook account? No. Public Pages read fine without one. sessionCookies is there for people running heavily who would rather use their own account's rate limit.

Why only ten Pages? That is the cap this Actor is built around. For a long list, run it in batches, or use the contact info scraper, which takes 200 Pages at a time.

Why is likesCount null on some Pages? Because the Page does not publish a like count. Nothing here estimates one.

I pasted a profile.php?id= link and got the wrong Page. Use the handle link instead. Open the Page in a browser and copy the address bar once it settles on facebook.com/<handle>.

Is scraping Facebook legal? This reads public Page information only. Results can still contain personal data, which GDPR and similar laws cover, so have a reason for collecting it. Apify's write-up on the legality of web scraping is a good starting point, and we are not lawyers.

Can I run it on a schedule? Yes, on Apify's scheduler, or start it from the API and read the dataset when it finishes.

🆘 If something breaks

Open the Issues tab on the actor page. Paste the Page link you used and the run ID, and the log is enough for us to see what happened.