Facebook Pages Scraper - Page Name, Likes and Contact avatar

Facebook Pages Scraper - Page Name, Likes and Contact

Pricing

from $0.10 / 1,000 facebook pages

Go to Apify Store
Facebook Pages Scraper - Page Name, Likes and Contact

Facebook Pages Scraper - Page Name, Likes and Contact

Scrape public Facebook Pages. One row per Page: name, handle, main URL and description. Like count, talking-about count, verified badge and preview image come too. Up to 10 Page URLs per run, about $0.60 per 1,000.

Pricing

from $0.10 / 1,000 facebook pages

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

1

Monthly active users

a day ago

Last modified

Share

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.