Facebook Page Posts Scraper — No Login Required avatar

Facebook Page Posts Scraper — No Login Required

Pricing

from $2.00 / 1,000 post extracteds

Go to Apify Store
Facebook Page Posts Scraper — No Login Required

Facebook Page Posts Scraper — No Login Required

Extract posts from any public Facebook page or profile. No login or cookies needed. Supports date filtering, pagination, and Smart Scrape dedup.

Pricing

from $2.00 / 1,000 post extracteds

Rating

5.0

(1)

Developer

Crowd Pull

Crowd Pull

Maintained by Community

Actor stats

2

Bookmarked

214

Total users

44

Monthly active users

4 days ago

Last modified

Share

Extract posts from any public Facebook page or profile — no login or cookies required.

No browser automation — just fast, lightweight HTTP requests for reliable extraction.

Features

  • No login required — extracts posts anonymously from public pages and profiles
  • Smart Scrape (dedup) — skip posts already scraped in previous runs, saving up to 75% on recurring scrapes
  • Full post data — text, author, permalink, timestamp, available engagement counts, images, videos, links, and hashtags
  • People URL support — normalizes /people/Name/{id} and legacy /pages/Name/{id} URLs to the correct Facebook entity
  • Date filtering — extract posts newer than a specific date (ISO or relative: 7d, 30d, 6m)
  • Multi-page support — process multiple pages or profiles in a single run
  • Pagination — follows Facebook's available feed cursors until the requested limit or exposed feed ends
  • Low cost — runs on 256MB memory, no browser overhead

Smart Scrape: How It Saves You Money

Enable Smart Scrape to skip posts you've already extracted. The scraper maintains a persistent cache per page that survives across runs indefinitely.

Without Smart ScrapeWith Smart Scrape
Run 1 (500 posts)$1.755$1.755
Run 2 (125 new)$1.755$0.8175
Run 3 (125 new)$1.755$0.8175
Run 4 (125 new)$1.755$0.8175
Monthly total$7.02$4.2075
Unique posts875 (+ 1,125 duplicate rows)875 (zero duplicate rows)
Cost per unique post$0.0080$0.0048

This example uses the currently applied Free-tier price ($0.0035 per extracted post), the $0.001 cache-check price, and the $0.005 run-start charge. Higher Apify tiers have lower post prices; verify the Store pricing panel for current rates.

Refresh Window

Set refreshWindowDays to re-check recent posts for updated comment/reaction counts. For example, refreshWindowDays: 7 re-scrapes posts from the last 7 days even if cached, so you always get fresh engagement data on recent content.

What you get per post

FieldDescription
postIdUnique post identifier
postUrlDirect permalink to the post
postTextFull post text content
authorNameAuthor's display name
authorProfileUrlLink to author's profile
timestampISO 8601 timestamp
commentCountNumber of comments, or null when Facebook withholds it from logged-out responses
reactionCountNumber of reactions, or null when unavailable
shareCountNumber of shares, or null when unavailable
imageUrlsArray of image URLs attached to the post
videoUrlsArray of directly exposed video URLs
sharedLinksURLs shared in the post text
hashtagsHashtags parsed from post text
pageUrlSource page URL
pageNamePage display name
pageIdFacebook page ID

How it works

  1. Fetches the page or profile anonymously — no login, no cookies, no browser
  2. Extracts Facebook's public request tokens and numeric entity ID
  3. Queries the current public timeline GraphQL feed and parses structured post records
  4. Checks each post against the dedup cache (if Smart Scrape is enabled)
  5. Paginates via GraphQL until maxPosts is reached or Facebook stops exposing cursors
  6. Saves the updated cache for the next run

Input examples

Basic extraction

{
"startUrls": [
{ "url": "https://www.facebook.com/zuck" }
],
"maxPosts": 20
}

Date-filtered extraction

{
"startUrls": [
{ "url": "https://www.facebook.com/NASA" }
],
"maxPosts": 50,
"onlyPostsNewerThan": "30d"
}

Smart Scrape (incremental monitoring)

{
"startUrls": [
{ "url": "https://www.facebook.com/zuck" },
{ "url": "https://www.facebook.com/NASA" }
],
"maxPosts": 100,
"enableDedup": true,
"refreshWindowDays": 7
}

Output example

{
"postId": "1084920485123456",
"postUrl": "https://www.facebook.com/zuck/posts/1084920485123456",
"postText": "Excited to share what we've been working on. More details coming soon.",
"authorName": "Mark Zuckerberg",
"authorProfileUrl": "https://www.facebook.com/zuck",
"timestamp": "2026-03-01T14:30:00.000Z",
"commentCount": 8500,
"reactionCount": 42000,
"shareCount": 1250,
"imageUrls": ["https://scontent.fudi1-1.fna.fbcdn.net/v/..."],
"videoUrls": [],
"sharedLinks": [],
"hashtags": [],
"pageUrl": "https://www.facebook.com/zuck",
"pageName": "Mark Zuckerberg",
"pageId": "4"
}

Other CrowdPull Facebook scrapers

Cost estimate

This Actor uses no browser — just lightweight HTTP requests.

EventCost
Actor start$0.005 (one-time per run)
Post extracted$0.0035/post on Free; $0.003/$0.00225/$0.002/$0.0015/$0.001 on Bronze through Diamond
Cache check (Smart Scrape skip)$0.001/post

Volume discounts available at higher tiers.

Our scrapers are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our scrapers, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

Limitations

  • Only works with public pages and profiles (private profiles return 0 posts)
  • Facebook may change internal APIs — report issues if extraction stops
  • Facebook rate limits apply; residential proxies recommended
  • Unavailable engagement counts are returned as null, not a misleading zero