Better Fetch

Facebook Public Discovery

Resolve public Facebook Page photos, owner-verified reels, individual posts, reel captions, and structured logged-out post comments with transparent best-effort semantics.

Socialv0.5.2~6 credits/runSource on GitHub

Workspace

Configure

Inputs stay here while results become exportable artifacts.

Start from an example

Discover Page photos or reels, resolve one Page post/reel, fetch public comments or replies, or read a reel's public captions.

Preferred 2 or 3 letter caption language for post_transcript mode. Defaults to English.

Public Facebook Page URL for profile modes.

Public Facebook Page post or reel URL for post, post_comments, and post_transcript modes.

Public Facebook Page slug for profile modes.

Numeric parent comment ID required for comment_replies mode.

Maximum photos, reels, or comments to return.

Sign in and run
~6 credits/run10 runs/minute

Results

Preview, inspect, copy, or export the complete output.

Your result will become an artifact

Run the tool to inspect structured rows, raw JSON, execution details, and downloadable JSON, CSV, and Markdown files.

modepostcountpostsreelscursorphotospost_id

Overview

Facebook Public Discovery gives agents a no-login, source-linked view of Page-owned photos, individual posts, and comments that Facebook exposes to logged-out visitors. It is intentionally best-effort and never claims private, authenticated, or complete Facebook coverage.

Last validated: Jul 15, 2026

Input

mode"profile_photos" | "profile_reels" | "post" | "post_comments" | "comment_replies" | "post_transcript"required

Discover Page photos or reels, resolve one Page post/reel, fetch public comments or replies, or read a reel's public captions.

languagestring

Preferred 2 or 3 letter caption language for post_transcript mode. Defaults to English.

page_urlstring

Public Facebook Page URL for profile modes.

post_urlstring

Public Facebook Page post or reel URL for post, post_comments, and post_transcript modes.

page_slugstring

Public Facebook Page slug for profile modes.

comment_idstring

Numeric parent comment ID required for comment_replies mode.

max_resultsintegerdefault: 10

Maximum photos, reels, or comments to return.

Output

modestringrequired

Resolved operation.

postobject

Resolved individual Page post.

post.textstring

Indexed visible post text.

post.titlestring

Indexed result title.

post.post_idstring

Post identifier inferred from the URL.

post.post_urlstring

Canonical Page post URL.

post.page_slugstring

Page slug inferred from the URL.

post.media_typestring

Post or reel.

post.owner_namestring

Public reel owner name.

post.view_countinteger

Visible reel view count.

post.thumbnail_urlstring

Public reel thumbnail URL.

post.reaction_countinteger

Visible reel reaction count.

countintegerrequired

Number of records returned.

postsobject[]required

Resolved public Page post records.

reelsobject[]required

Owner-verified public Facebook Page reels.

cursorstring

Facebook cursor when the captured public response exposes another page.

photosobject[]required

Indexed public Page photo records.

post_idstring

Facebook reel id used by post_transcript mode.

commentsobject[]

Structured comments Facebook exposes to logged-out visitors.

languagestring

Caption locale selected for the transcript.

page_urlstring

Canonical Facebook Page URL.

segmentsobject[]

Timestamped public SRT caption segments.

source_urlstringrequired

Rendered Google results URL.

transcriptstring

Clean transcript assembled from Facebook's public SRT caption track.

total_countinteger

Total public comment count reported by Facebook.

has_next_pageboolean

Whether Facebook reports another public comment page.

subtitle_sourcestring

Public Facebook CDN caption URL fetched for this result.

is_auto_generatedboolean

Whether Facebook labels the selected caption track as auto-generated.

parent_comment_idstring

Requested parent comment identifier for comment_replies mode.

transcript_not_availableboolean

True when Facebook exposes no usable public caption track for the reel.

Examples

nasa-photos

{
  "mode": "profile_photos",
  "page_slug": "NASA",
  "max_results": 5
}

public-reel-post

{
  "mode": "post",
  "post_url": "https://www.facebook.com/reel/757964209457316/"
}

nasa-post-comments

{
  "mode": "post_comments",
  "post_url": "https://www.facebook.com/NASA/posts/1532461158249255/",
  "max_results": 10
}

nasa-comment-replies

{
  "mode": "comment_replies",
  "post_url": "https://www.facebook.com/NASA/posts/10158616987496772/",
  "comment_id": "10158619660096772",
  "max_results": 10
}

mrbeast-reels

{
  "mode": "profile_reels",
  "page_slug": "mrbeast",
  "max_results": 3
}

mrbeast-reel

{
  "mode": "post",
  "post_url": "https://www.facebook.com/reel/757964209457316/"
}

mrbeast-reel-transcript

{
  "mode": "post_transcript",
  "language": "en",
  "post_url": "https://www.facebook.com/reel/599915296536318/"
}

Use cases

Campaign asset discovery

Find public Page photo URLs and indexed descriptions for campaign and brand research.

Post verification

Resolve a known Page post URL to its indexed title and visible text before citing it.

Comment research

Collect structured public comment text, authors, timestamps, reactions, reply totals, and pagination evidence.

Reel transcripts

Read a public reel's Facebook-published SRT caption track and return clean timestamped segments without external speech-to-text.

Public social research

Build source-linked research workflows without storing Facebook credentials or cookies.

FAQ

Does this need a Facebook login?

No. It resolves public indexed URLs and structured comments exposed to logged-out visitors.

Is coverage complete?

No. Photo and post coverage depends on public indexing, while comments depend on Facebook's logged-out response.

Can it access private posts or photos?

No. It only returns public indexed URLs.

Use it anywhere

MCP (Claude, ChatGPT, Codex)

# After connecting https://betterfetch.co/api/mcp, ask your AI to:
1. Call search_tools for "Facebook Public Discovery"
2. Call run_tool with:
   name: "facebook_discovery_scraper"
   input: {"mode":"profile_photos","page_slug":"NASA","max_results":5}

REST

curl -sS -X POST "https://betterfetch.co/api/tools/facebook_discovery_scraper/run" \
  -H "Authorization: Bearer bf_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"input": {"mode":"profile_photos","page_slug":"NASA","max_results":5}}'

Run locally

git clone https://github.com/better-fetch/tools/tree/main/tools/facebook-discovery-scraper && cd facebook-discovery-scraper && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"mode":"profile_photos","page_slug":"NASA","max_results":5}'