Facebook Posts Scraper
Extract public Facebook Page Plugin timeline posts from a page URL or slug, including visible post text, post URLs, timestamps, reactions, comments, shares, media, and outbound links.
Overview
Facebook Posts Scraper gives agents a validated no-login slice of public Facebook Page monitoring. Provide a Facebook Page URL or slug and the tool renders Facebook's public Page Plugin timeline, then normalizes the visible post cards into compact records with author, post URL, timestamp label, text, engagement counts, media thumbnails, and outbound links. It is designed for social listening, brand monitoring, campaign research, newsroom checks, and lightweight competitor tracking where a bounded public page feed is enough.
Last validated: Jul 3, 2026
Playground
Input
wait_msintegerdefault: 4000Extra milliseconds to wait after the plugin page loads.
page_urlstringPublic Facebook Page URL, e.g. https://www.facebook.com/NASA. Use page_url or page_slug.
page_slugstringFacebook Page slug, numeric page ID, or page path, e.g. NASA. Use page_slug or page_url.
max_resultsintegerdefault: 5Maximum visible timeline posts to return from the public Page Plugin.
Output
countintegerrequiredNumber of returned visible post records
postsobject[]requiredPublic Facebook Page timeline post records visible in the plugin
page_urlstringrequiredCanonical public Facebook Page URL requested
followersintegerVisible follower count when available
page_namestringVisible page name when available
source_urlstringrequiredFetched Facebook Page Plugin URL
Examples
nasa-page
{
"page_slug": "NASA",
"max_results": 3
}Use cases
FAQ
Does Facebook Posts Scraper need a Facebook login?
No. Version 0.1 uses Facebook's public Page Plugin timeline through Better Fetch. It only returns posts visible through that public embed surface.
Can it scrape private profiles, groups, comments, or deep pagination?
Not in this first slice. Version 0.1 is limited to public Page Plugin-visible timeline cards and does not use cookies, account data, private groups, or authenticated endpoints.
Why do some public Pages return fewer posts?
Facebook controls what the Page Plugin exposes. Age-restricted, country-restricted, unsupported, or temporarily unavailable Pages may show only headers or fewer post cards.
Use it anywhere
MCP (Claude, Cursor, any client)
# Add the Better Fetch MCP connector (or paste the URL into # Claude → Settings → Connectors → Add custom connector): claude mcp add --transport http better-fetch https://betterfetch.co/api/mcp \ --header "Authorization: Bearer bf_your_key_here" # Then ask for the tool by name: facebook_posts_scraper
REST
curl -sS -X POST "https://betterfetch.co/api/tools/facebook_posts_scraper/run" \
-H "Authorization: Bearer bf_your_key_here" \
-H "Content-Type: application/json" \
-d '{"input": {"page_slug":"NASA","max_results":3}}'Run locally
git clone https://github.com/better-fetch/facebook-posts-scraper && cd facebook-posts-scraper && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"page_slug":"NASA","max_results":3}'