Facebook Posts Scraper avatar

Facebook Posts Scraper

Pricing

from $3.50 / 1,000 post scrapeds

Go to Apify Store
Facebook Posts Scraper

Facebook Posts Scraper

Scrape public Facebook page, profile, group, and post URLs into structured post records with text, media, links, and engagement counts. HTTP-first with optional provider fallback. MCP-ready.

Pricing

from $3.50 / 1,000 post scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrape public Facebook posts from page, profile, group, and direct post URLs. The actor returns clean JSON records with post URL, author, text, timestamp, engagement counts, media URLs, outbound links, source URL, and scrape metadata.

This actor is built for social listening, competitive research, brand monitoring, and AI-agent workflows that need structured public Facebook post data without handling browser sessions or cookies.

What it extracts

Each dataset item can include:

  • postUrl and postId
  • authorName and authorUrl
  • text
  • timestamp and timestampText
  • reactionsCount, commentsCount, and sharesCount
  • media
  • externalLinks
  • sourceUrl
  • scrapeSource
  • scrapedAt

The scraper is HTTP-first and uses mobile/basic Facebook pages where available. That keeps runs fast and cheaper than a browser-heavy workflow. Facebook can still hide, delete, age-gate, or login-gate content; those sources are reported in the OUTPUT summary instead of hard-failing the run.

Input

{
"startUrls": [
{ "url": "https://www.facebook.com/NASA" },
{ "url": "https://www.facebook.com/NASA/posts/10159744600446772" }
],
"resultsLimit": 50,
"maxPostsPerSource": 25,
"scrapeDetails": true,
"fallbackProvider": "auto",
"onlyPostsNewerThan": "2026-01-01",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Output example

{
"sourceUrl": "https://www.facebook.com/NASA",
"postUrl": "https://www.facebook.com/NASA/posts/123456789",
"postId": "123456789",
"authorName": "NASA",
"authorUrl": "https://www.facebook.com/NASA",
"text": "A new image from space...",
"timestamp": "2026-06-01T00:00:00.000Z",
"timestampText": "June 1, 2026",
"reactionsCount": 1200,
"commentsCount": 34,
"sharesCount": 5,
"media": ["https://scontent.xx.fbcdn.net/image.jpg"],
"externalLinks": ["https://www.nasa.gov/"],
"scrapeSource": "post-detail",
"scrapedAt": "2026-06-08T12:00:00.000Z"
}

Notes

  • Public data only. Private groups, private profiles, deleted posts, login-only posts, and age-gated pages may not return results.
  • Residential proxies are enabled by default because Facebook often blocks datacenter IPs.
  • Provider fallback is optional. Set SCRAPECREATORS_API_KEY, SOCIAVAULT_API_KEY, or SOCIALVAULT_API_KEY in the actor environment and keep fallbackProvider as auto to use public-data APIs after Facebook blocks or returns empty HTML.
  • Date filters are best-effort. If Facebook exposes unparseable relative text, the actor keeps the post rather than silently dropping data.
  • includeRawHtml is for debugging only and increases dataset size.

Pricing

Pay-per-event configuration:

  • apify-actor-start: $0.00005
  • post-scraped: $0.0035 per dataset item

resultsLimit is the primary user-facing cost cap.

Local development

npm install
npm test
apify run --input='{"startUrls":[{"url":"https://www.facebook.com/NASA"}],"resultsLimit":5}'