Facebook Pages Scraper - Page Name, Likes and Contact
Pricing
from $0.10 / 1,000 facebook pages
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
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
1
Monthly active users
a day ago
Last modified
Categories
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.
| Input | Up to 10 public Page links |
| Output | One row per Page |
| Ceiling | 10 Pages per run |
| Account needed | None 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"]}
| Field | Default | What it is |
|---|---|---|
pageUrls | [] | Public Page links, one per line, in the https://www.facebook.com/<handle> form. Up to 10 per run. |
proxyConfiguration | Apify default | Leave it as it is unless you have your own servers you would rather use. |
sessionCookies | none | Optional, 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"}
| Field | What it is |
|---|---|
name, handle | The Page's display name and its handle. The handle is the stable key. |
pageUrl, requestedUrl | Facebook's canonical link for the Page, and the link you asked for, so rows join back onto your list. |
description | The public description line, including the counts in their original wording. |
likesCount, talkingAboutCount | Those same counts as numbers. null when the Page does not publish them. |
imageUrl, imageAlt | The Page picture and its alt text. |
isVerified | true on a verified Page. On everything else it is null, not false, so test for truthiness rather than for false. |
category | Always null. Facebook stopped publishing it here, and an empty field is better than a guess. |
source, transport | Where 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.
| Row | How to spot it | Billed |
|---|---|---|
| A Page | ok: true and recordType: "page" | yes |
| The sample row | _sample: true with a _notice | no |
| A diagnostic | _uncharged: true and a code | no |
Filter on recordType == "page" and you have your data.
code | What happened |
|---|---|
BAD_INPUT | That link could not be read as a Page link. |
NOT_FOUND | No public Page at that link. |
NO_RESULTS | The Page came back with no public description to read. |
BLOCKED | Facebook served a login screen for that Page instead of its public details. |
RATE_LIMITED | Facebook asked for a slower pace. Re-run. |
TARGET_ERROR | Facebook answered with something the run could not read. |
NETWORK | Facebook could not be reached. |
▶️ How to run it
- Open Facebook Pages Scraper and click Try for free.
- Paste your Pages into Public Facebook Page URLs, one per line, up to ten.
- Click Start.
- 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.
categoryis always empty. Facebook does not publish it on this surface.- Only the plain handle link form works.
profile.php?id=,/p/links and links withouthttps://are not resolved. isVerifiedistrueornull, neverfalse. 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 want | Use |
|---|---|
| A Page's name, handle, likes and badge | This one |
| Its website, email, phone and address | Facebook Page Contact Info Scraper |
| What it has been posting | Facebook Posts Scraper |
| Its reels | Facebook Reels Scraper |
| The comments under one of its posts | Facebook 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.