Better Fetch

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.

Socialv0.1.0~1 credit/runApify StoreSource on GitHub

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

Extra milliseconds to wait after the plugin page loads.

Public Facebook Page URL, e.g. https://www.facebook.com/NASA. Use page_url or page_slug.

Facebook Page slug, numeric page ID, or page path, e.g. NASA. Use page_slug or page_url.

Maximum visible timeline posts to return from the public Page Plugin.

Sign in to run this tool

~1 credit per run · runs against your account

Input

wait_msintegerdefault: 4000

Extra milliseconds to wait after the plugin page loads.

page_urlstring

Public Facebook Page URL, e.g. https://www.facebook.com/NASA. Use page_url or page_slug.

page_slugstring

Facebook Page slug, numeric page ID, or page path, e.g. NASA. Use page_slug or page_url.

max_resultsintegerdefault: 5

Maximum visible timeline posts to return from the public Page Plugin.

Output

countintegerrequired

Number of returned visible post records

postsobject[]required

Public Facebook Page timeline post records visible in the plugin

page_urlstringrequired

Canonical public Facebook Page URL requested

followersinteger

Visible follower count when available

page_namestring

Visible page name when available

source_urlstringrequired

Fetched Facebook Page Plugin URL

Examples

nasa-page

{
  "page_slug": "NASA",
  "max_results": 3
}

Use cases

Brand activity monitoring

Watch public Page posts for recent announcements, campaigns, product launches, and engagement signals without maintaining a Facebook login session.

Social listening research

Collect visible post text, post URLs, reactions, comments, shares, media, and outbound links for an agent that compares public Facebook activity across brands.

Newsroom and campaign checks

Pull the latest visible public posts from official Pages so editorial, comms, and marketing workflows can cite the source post and summarize engagement quickly.

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}'