Facebook Pages Scraper
Scrape public Facebook Page names, categories, likes, talking-about counts, verified badges and images without login.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
pageUrls,sessionCookies(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export 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 for | When | Price |
|---|---|---|
| Facebook Page | One genuine public Facebook Page metadata row stored in the dataset. | $0.0001 |
| Valid run | Charged once only after at least one valid Facebook Page URL is accepted. | $0.004 |
| Actor Start | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). | $0.001 |
Pay-per-event pricing: you are billed per result, not per subscription — a run that returns nothing costs nothing beyond the start fee. 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
| Field | What it does | Type |
|---|---|---|
pageUrls | Public page URLs such as https://www.facebook.com/NASA. Empty input returns one clearly labelled, uncharged sample row. | array |
sessionCookies | Leave this empty unless you need it. Runs are logged out by default and that is enough for public Facebook content. Facebook shows some things only to a signed-in account, and it limits how fast any one account may read; supplying your own cookie uses your account and your own rate limit, shared with nobody. In Chrome: open facebook.com while signed in, press F12, then Application > Cookies > https://www.facebook.com, and paste the values as "c_user=<value>; xs=<value>". 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:
namehandlelikesCounttalkingAboutCountdescriptioncategoryisVerifiedpageUrlimageUrlExport 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
LinkedIn profile posts scraper at $0.90 per 1,000 posts, flat on every plan. Post text, author, image, publish time and URL.
LinkedIn Company Posts Scraper
LinkedIn company posts scraper at $0.90 per 1,000 posts plus a $0.001 run start. Public post text, reactions, comments and URLs. No login or cookies needed.
LinkedIn Post Comments Scraper
Scrape public LinkedIn post comments: author name, profile URL, reaction count. No login or cookie. Up to 10 per post.
RedNote Scraper
Scrape public RedNote (Xiaohongshu) notes: description, author, likes, collects, comments, shares and images.
RedNote (Xiaohongshu) Profile Scraper
RedNote (Xiaohongshu) profile scraper API. Nickname, RedNote ID, follower counts, likes and collects, verification, IP location, gender and recent notes.
Douyin Hot Search Scraper
Scrape Douyin trending topics: rank, hot value, views, video count, badge and cover image from the hot and society boards. No login.
Where this tool sits
- Categories
- Social Media Scrapers
- Platforms
- Facebook & Meta Ads
Facebook Pages Scraper
Extract current public Facebook Page metadata without a Facebook login. Provide public Page URLs and receive one structured row for every Page whose crawler-visible metadata is present at run time.
What it returns
- Public Page name, handle, canonical Page URL, description, and preview image URL.
- Public likes and people-talking-about-this counts when Facebook exposes them in the current Page metadata.
- A deterministic uncharged diagnostic for bad input, a block, rate limiting, an unavailable Page, or missing public crawler metadata.
Only genuine page rows are chargeable. Samples and diagnostics are not charged.
Fields on a page row
| Field | Notes |
|---|---|
ok | true on a real Page row, false on a diagnostic. |
recordType | page or diagnostic — filter on this rather than guessing from shape. |
name | The Page's public display name. |
handle | The vanity handle from the URL, e.g. NASA. |
pageUrl | Canonical https://www.facebook.com/<handle>/ form, normalised from whatever you pasted. |
description | The public Page description Facebook exposes to crawlers. |
likesCount | Integer, or null when Facebook omits it for that Page. |
talkingAboutCount | Integer, or null when Facebook omits it. |
imageUrl | Preview image URL. The Actor never downloads the image itself. |
transport | Always direct_http — no headless browser is involved. |
Missing values stay null. The Actor does not substitute a guess, and it does not emit a Page row at all when the public page cannot be validated.
Input
{
"pageUrls": ["https://www.facebook.com/NASA"]
}
pageUrls is the only input. URLs are de-duplicated after normalisation, so facebook.com/NASA, www.facebook.com/NASA/ and facebook.com/NASA?ref=x count as one Page and are charged once.
Leave pageUrls empty to receive one clearly labelled, uncharged sample row.
Diagnostic codes
Every failure is a row, never a silent gap. code is one of BAD_INPUT (not a facebook.com Page URL, or a reserved path such as /groups, /watch, /marketplace, /events), NOT_FOUND, BLOCKED, RATE_LIMITED, NETWORK, TARGET_ERROR, or NO_RESULTS when the Page loads but exposes no current crawler metadata. Diagnostic rows carry _uncharged: true so you can assert on it in a pipeline.
Network behavior
The Actor requests every Page directly using Facebook's crawler-facing metadata path. Residential proxy fallback is deliberately disabled so proxy transfer cannot turn large or blocked runs into losses. Blocked and rate-limited pages produce uncharged diagnostics. The Actor does not download images.
Scope and limits
- Public Page URLs only. Groups, Marketplace, Events, posts, and personal-profile extraction are intentionally outside this actor's scope.
- A run accepts at most 10 distinct Page URLs to bound target load and runtime.
- Facebook may omit counts or change its anonymous metadata. Missing data stays
null; no Page row is emitted where the public page itself cannot be validated.
Pricing
$0.10 per 1,000 Pages ($0.0001 each) — plus $0.001 per run start and $0.004 once per run that accepts at least one valid Page URL. Because a run accepts at most 10 Page URLs, 1,000 Pages works out at about $0.60 all-in.
| Charge | Amount | When |
|---|---|---|
| Run start | $0.001 | Every run, including sample and invalid-only runs. |
| Valid run | $0.004 | Once, only after at least one Page URL passes validation. |
| Facebook Page | $0.0001 | Once per genuine Page row returned. |
Worked example: 10 Pages in one run = $0.001 + $0.004 + (10 × $0.0001) = $0.006. A run whose input is all invalid never reaches the valid-run charge and costs only the $0.001 start fee.
Empty samples and invalid-only inputs are uncharged beyond the start fee. Blocked pages, rate-limited pages and every other diagnostic add no per-page charge.
Use public data in accordance with applicable law and Facebook's terms.