Facebook Comments Scraper — No Login, No API Key avatar

Facebook Comments Scraper — No Login, No API Key

Pricing

from $1.94 / 1,000 facebook comments scraper — no login, no api keys

Go to Apify Store
Facebook Comments Scraper — No Login, No API Key

Facebook Comments Scraper — No Login, No API Key

**Scrape Facebook post comments without login or API key.** Returns author, text, timestamps, and full reply threading in a clean flat schema. No browser or Playwright needed. Public posts, pages, and groups.

Pricing

from $1.94 / 1,000 facebook comments scraper — no login, no api keys

Rating

0.0

(0)

Developer

Vitalii Bondarev

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

13 days ago

Last modified

Share

Scrape comments from public Facebook posts without login, without a Meta API key, and without a Facebook developer account. This Facebook post comments scraper returns structured comment data — author, text, timestamps, reply threading, and IDs — in a clean flat schema with a parse_confidence drift signal.

Works on public posts, pages, and groups. Residential proxy is required on Apify cloud (pre-filled by default) because Facebook blocks datacenter IP ranges.

How this Facebook comments scraper beats the alternatives

Most Facebook comment scrapers depend on the official Graph API (limited to content you own or administer) or rely on headless Chromium which Facebook actively detects and blocks. This actor accesses Facebook's public SSR pages without a browser process:

  1. Fetches the public post URL — no Chromium, no Playwright.
  2. Handles Facebook's __rd_verify challenge transparently in the same session.
  3. Parses comments from Facebook's server-side rendered ScheduledServerJS (data-sjs) blobs embedded in the page HTML — structured Relay store data with all core comment fields.
  4. Streams results in real time with PPE billing per comment — you pay only for what's collected.

When Facebook changes its SSR payload structure, parse_confidence drops below 0.6 and the actor logs a loud warning — giving you a machine-readable drift signal instead of silent wrong data.

What you get per comment

FieldExample
comment_id10155345678901234
post_id123456789
post_urlhttps://www.facebook.com/page/posts/...
author_nameAlice Johnson
author_profile_urlhttps://www.facebook.com/alice.johnson
textGreat post! 🔥
like_count12 (null for some posts — reaction counts are not always SSR-embedded)
reply_count2
created_time2024-06-01T10:00:00+00:00
is_replyfalse
parent_idnull (or parent comment ID for replies)
parse_confidence0.75–1.0
warnings["missing_created_time"] (empty if clean)

How it works

  1. Fetches the public post URL without a browser process. No Chromium, no Playwright.
  2. Handles Facebook's __rd_verify challenge transparently — a single verification step in the same session, then re-fetches the page.
  3. Parses comments from Facebook's ScheduledServerJS data-sjs blobs — the server-side rendered Relay store that Facebook embeds in every page load. These blobs carry structured comment objects: legacy_fbid, body.text, author.name, created_time, depth, parent chain.
  4. Streams results in real time with PPE billing per comment.

Scope & limitations

  • Public posts/pages/groups: SSR-rendered comments per page load (~15–25 top-level), no login needed.
  • Private profiles / friend-only posts: login required — not supported.
  • Reels / Stories: out of scope.
  • like_count: reaction counts are not always embedded in Facebook's SSR payload — this field may be null. Author, text, timestamp, and threading fields are always populated.
  • Pagination: V1 extracts the SSR-rendered first batch per URL. For deeper pagination, run multiple targeted URLs.

Proxy requirement

Facebook blocks datacenter IPs. On the Apify cloud you MUST use a RESIDENTIAL proxy. The default input pre-fills RESIDENTIAL group — don't change it. Proxy cost is billed to your Apify account as part of the run.

Input

{
"postUrls": [
"https://www.facebook.com/someuser/posts/123456789",
"https://www.facebook.com/permalink/12345"
],
"maxComments": 200,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}
FieldTypeDefaultDescription
postUrlsstring[]Required. Public post URLs.
maxCommentsintegerunlimitedCap per post (includes replies).
pageSizeinteger25Real-time streaming batch size.
proxyConfigurationobjectRESIDENTIALProxy config. RESIDENTIAL required.

Maintenance note

Facebook changes its SSR payload structure occasionally. When it does, parse_confidence drops below 0.6 and the actor logs a loud warning. That's the signal to patch the normalizer — the data-sjs blob structure and field names are the anchor points to check.

Frequently asked questions

Can I scrape Facebook comments without a Facebook account?

Yes. This actor scrapes public posts without login or cookies. Facebook's SSR payload delivers comment data server-side — no login needed to access it.

Does this work on Facebook Pages, Groups, and personal posts?

Yes for public pages and public groups. Personal posts set to "Friends only" or narrower visibility are not accessible — the actor returns zero results for those.

How many comments can I scrape per post?

The actor extracts the SSR-rendered batch per page load (typically 15–25 top-level comments per URL). Use maxComments to cap the output. For posts with hundreds of comments, supply multiple permalink URLs targeting different comment ranges.

Why is RESIDENTIAL proxy required?

Facebook blocks Apify's datacenter IP ranges. The default input pre-fills RESIDENTIAL proxy group — this is the expected way to run this actor on Apify cloud. Proxy cost is billed to your Apify account at standard rates; the actor cost is PPE per comment only.

What does parse_confidence mean?

Every comment record includes a parse_confidence score (0.0–1.0). A score of 1.0 means all expected fields were found. Below 0.6 indicates schema drift — Facebook changed its internal format. The actor logs a warning and you can filter low-quality records programmatically.

Integrations

Built for social-listening and community-research teams mining public post engagement and comment sentiment — the JSON/dataset output drops into the tools you already run, no glue code:

  • n8n / Make / Zapier — trigger a run or pipe every new dataset item into 500+ apps (Google Sheets, Airtable, Slack, HubSpot, your database) with no code: n8n, Make, Zapier.
  • Webhooks — fire your own endpoint the moment a run finishes, to push results straight into your pipeline (docs).
  • MCP server — expose this actor as a tool to Claude, Cursor, or any MCP client so an AI agent can pull this data mid-conversation (guide).
  • API & SDKs — fetch the dataset as JSON, CSV, or Excel through the Apify REST API or the Python / JS SDKs.

See all Apify integrations.

Scrapes publicly-accessible data without login. Standard public-data scraping considerations apply. Not affiliated with Meta Platforms, Inc.