Facebook Comments Scraper avatar

Facebook Comments Scraper

Pricing

from $0.23 / 1,000 comment extracteds

Go to Apify Store
Facebook Comments Scraper

Facebook Comments Scraper

Export public Facebook post comments for social listening, moderation analysis, campaign reporting, and creator intelligence workflows.

Pricing

from $0.23 / 1,000 comment extracteds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Export public Facebook post comments into a structured dataset for social listening, creator intelligence, moderation review, campaign reporting, and brand monitoring.

Use this Actor when you need a repeatable way to collect visible public comments from one or more Facebook post URLs, download them as CSV/JSON/Excel, or call them from a workflow as a Facebook comments API alternative.

At a glance

  • Primary job: Export Facebook comments data from public post URLs.
  • Input: One or more public Facebook post URLs plus a per-post comment limit.
  • Output: One dataset row per saved comment with author name, comment text, relative date, likes, source post URL, raw visible text, and scrape timestamp.
  • Best for: Social listening, engagement analysis, moderation triage, creator intelligence, dashboards, alerts, and research exports.

Who is it for?

  • Social listening teams tracking public reactions to brand, creator, media, or campaign posts.
  • Moderation and community teams reviewing public comment text, authors, and source URLs in downstream tools.
  • Analysts and researchers building repeatable Facebook comments exports for dashboards, notebooks, alerts, or archives.

Common workflows

  • Brand monitoring: Schedule repeat runs for campaign or announcement posts and compare newly visible comments over time.
  • Creator intelligence: Export audience replies from public creator posts for topic, sentiment, or engagement analysis.
  • Moderation review: Send comment text, author names, and source URLs to review queues or BI tools.
  • Automation: Use the Apify API, webhooks, MCP, or dataset exports to feed alerts, warehouses, notebooks, and reporting workflows.

Ready-to-run examples

What data can you extract?

FieldDescription
commentIdStable ID generated for the source post/comment row.
sourcePostUrlFacebook post URL that produced the comment.
postTitleVisible post/page label or title captured from the public page.
authorNamePublicly visible comment author name.
authorUrlPublic author/profile URL when Facebook exposes it in the logged-out view.
commentTextCleaned visible comment text.
relativeDateVisible Facebook relative date label, such as 2w or 1y.
likeCountVisible comment-like count when present.
replyDiagnosticsVisible reply count/label when present.
commentPermalinkComment permalink when Facebook exposes it publicly.
rawTextRaw visible row text used for audit and parser diagnostics.
scrapedAtISO timestamp when the row was saved.

Input configuration

SettingJSON keyUse it forExample
Public Facebook post URLsstartUrlsPost URLs to process. Private, deleted, or login-only posts return diagnostics instead of guessed data.[{"url":"https://www.facebook.com/humansofnewyork/posts/..."}]
Maximum comments per postmaxCommentsPerPostCap saved comments per post and control spend.20
Legacy aliasmaxItemsBackward-compatible alias for older integrations. Prefer maxCommentsPerPost.20

Example input

{
"startUrls": [
{
"url": "https://www.facebook.com/humansofnewyork/posts/pfbid0BbKbkisExKGSKuhee9a7i86RwRuMKFC8NSkKStB7CsM3uXJuAAfZLrkcJMXxhH4Yl"
}
],
"maxCommentsPerPost": 20
}

Example output

{
"commentId": "a1b2c3d4e5f6",
"sourcePostUrl": "https://www.facebook.com/humansofnewyork/posts/pfbid0BbKbkisExKGSKuhee9a7i86RwRuMKFC8NSkKStB7CsM3uXJuAAfZLrkcJMXxhH4Yl",
"postTitle": "Humans of New York",
"authorName": "Jane Doe",
"authorUrl": null,
"commentText": "This story is beautiful.",
"relativeDate": "2w",
"likeCount": 12,
"replyDiagnostics": "1 reply",
"commentPermalink": null,
"rawText": "Jane Doe 2w This story is beautiful. 12 1 reply",
"scrapedAt": "2026-07-31T18:42:04.000Z"
}

Pricing

This Actor uses pay-per-event pricing:

  • Run started: charged once when a run starts to cover fixed startup work.
  • Comment extracted: charged for each public Facebook comment row saved to the dataset.

Current rates and account-tier discounts are shown on the live Apify Pricing tab. Check that tab before running large jobs.

Tips for best results

  • Use public Facebook post URLs that load without being logged in.
  • Start with a low maxCommentsPerPost value, review the dataset, then scale scheduled runs.
  • Split very large monitoring jobs into smaller batches so one blocked or private post does not delay unrelated posts.
  • Keep source post URLs in your downstream database so repeat exports can be deduplicated by commentId and sourcePostUrl.

API usage

Node.js:

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor("fetch_cat/facebook-comments-scraper").call({
startUrls: [
{ url: "https://www.facebook.com/humansofnewyork/posts/pfbid0BbKbkisExKGSKuhee9a7i86RwRuMKFC8NSkKStB7CsM3uXJuAAfZLrkcJMXxhH4Yl" }
],
maxCommentsPerPost: 20
});
console.log(run.defaultDatasetId);

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("fetch_cat/facebook-comments-scraper").call(run_input={
"startUrls": [
{"url": "https://www.facebook.com/humansofnewyork/posts/pfbid0BbKbkisExKGSKuhee9a7i86RwRuMKFC8NSkKStB7CsM3uXJuAAfZLrkcJMXxhH4Yl"}
],
"maxCommentsPerPost": 20,
})
print(run["defaultDatasetId"])

cURL:

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~facebook-comments-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls":[{"url":"https://www.facebook.com/humansofnewyork/posts/pfbid0BbKbkisExKGSKuhee9a7i86RwRuMKFC8NSkKStB7CsM3uXJuAAfZLrkcJMXxhH4Yl"}],"maxCommentsPerPost":20}'

MCP and AI agents

Use this Actor from MCP-compatible tools through the official Apify MCP Server.

$claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/facebook-comments-scraper"
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=fetch_cat/facebook-comments-scraper"
}
}
}

Example prompt: "Run Facebook Comments Scraper for this public post URL and summarize the most common customer complaints in the exported comments."

Limits and caveats

  • The Actor runs against public, visible Facebook post pages. It does not log in, bypass privacy settings, or return private comments.
  • Facebook can hide, reorder, or limit comments in public views; the dataset reflects what was visible during the run.
  • Some optional fields, especially author URLs and comment permalinks, are only saved when Facebook exposes them publicly.
  • Relative dates are captured as displayed by Facebook. Use scrapedAt with relativeDate for freshness analysis.
  • Process only public data you are allowed to access, and follow applicable terms and laws.

More Facebook scrapers

FAQ

What data can I export with Facebook Comments Scraper?

You can export visible public comment text, author names, source post URLs, relative dates, likes when shown, reply labels when shown, raw visible text, and scrape timestamps.

Can I run Facebook Comments Scraper through an API, schedule, or MCP client?

Yes. You can call the Actor through the Apify API, schedule repeat monitoring runs, connect webhooks, or use the Apify MCP Server from compatible AI tools.

How much does it cost to use Facebook Comments Scraper?

The Actor charges a small run-start event and a per-comment event for each saved dataset row. Check the live Apify Pricing tab for current tier prices before running large jobs.

How do I export Facebook comments data to CSV or Excel?

Run the Actor with public post URLs, open the default dataset, and choose CSV, Excel, JSON, XML, RSS, or API export from Apify.

Facebook does not always expose profile links or comment permalinks in logged-out public views. The Actor leaves unavailable optional fields empty instead of guessing.

Can it scrape private groups or comments behind login?

No. The first version is limited to visible public post comments and does not use user accounts or private permissions.

Support

Open an issue from the Actor page if a run fails or output looks wrong. Include the run ID or run URL, input JSON, expected output, actual output, and one reproducible public Facebook post URL.