Facebook Comments Scraper avatar

Facebook Comments Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Facebook Comments Scraper

Facebook Comments Scraper

💬 Facebook Comments Scraper extracts comments from public Facebook posts and Pages at scale — text, author, timestamp, reactions & reply threads. 📊 Export CSV/JSON for sentiment analysis, social listening & moderation. ⚡ Fast, reliable, API-ready.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScrapeEngine

ScrapeEngine

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

15 hours ago

Last modified

Share

Facebook Comments Scraper

Facebook Comments Scraper is a production-ready Facebook comment extractor that lets you scrape public Facebook post and Page discussions at scale — capturing comment text, author, timestamp, reactions, and nested reply threads. It removes the pain of manual collection so teams can export Facebook comments to CSV/JSON for sentiment analysis, social listening, and moderation. Built for marketers, developers, data analysts, and researchers, this FB comments scraper enables clean Facebook comments data extraction you can automate via API and run reliably at scale.

What data / output can you get?

Below are the exact output fields this Facebook comments scraper tool pushes to the dataset. Example values are illustrative.

Data fieldDescriptionExample value
full_urlFull Facebook post URL for the commenthttps://www.facebook.com/acmepage/posts/1234567890
url_keyShort identifier derived from the post URL1234567890
facebookUrlSource Facebook post URL for this itemhttps://www.facebook.com/acmepage/posts/1234567890
commentUrlDirect URL to the comment (if provided)https://www.facebook.com/acmepage/posts/1234567890?comment_id=9876543210
textComment text content“Love this update — thanks for sharing!”
profileNameDisplay name of the commenter“Jane Doe”
profileIdCommenter’s profile ID100012345678901
profileUrlCommenter’s profile URL (if available)https://www.facebook.com/jane.doe.123
dateISO 8601 timestamp in UTC2026-04-08T12:34:56+00:00
likesCountNumber of reactions on the comment (string)“14”
commentsCountNumber of replies to this comment (integer)2
idComment node IDg3NvbWVOb2RlOjEyMzQ1Njc4OQ==

Notes:

  • Additional fields include profilePicture, facebookId, inputUrl, threadingDepth, expansionToken, reply (array of replies), pageAdLibrary (object), and error/comments for error records.
  • Results live in the Apify dataset — export Facebook comments to CSV, JSON, or Excel for downstream analysis.

Key features

  • ⚡ Always-on residential proxy routing
    Automatically uses Apify Residential proxies to avoid blocking. The actor ignores proxyConfiguration input and handles networking under the hood for stable runs when you scrape public Facebook comments.

  • 📦 Bulk post processing
    Paste multiple Facebook post or video URLs at once via startUrls and process them in a single run — ideal for Facebook comments downloader workflows at scale.

  • 🧵 Comments + nested replies
    Captures top-level comments and, when available, nested reply threads using the expansionToken mechanism, with configurable limits per comment to scrape Facebook comment replies.

  • 🗂 Sorting options for analysis
    Choose commentsSortOrder: most_relevant, newest, or all (original) to align your dataset with reporting or modeling needs.

  • 🧪 Developer-friendly and API-ready
    Built in Python on Apify — a Python Facebook comments scraper you can integrate via the Apify API for automation pipelines, making it a reliable Facebook comments crawler for engineers.

  • 💾 Flexible exports
    Export Facebook comments to CSV, JSON, or Excel directly from the Apify dataset to feed BI tools, notebooks, or CRMs.

  • 🛡️ Reliable infrastructure
    Retries with backoff and strict timeouts ensure resilient runs. Clear logging shows progress like “Collected X comments” and “Saved Y comments to output,” perfect for a Facebook comment scraper bot operating at scale.

How to use Facebook Comments Scraper - step by step

  1. Sign in to Apify
    Create or log in to your Apify account.

  2. Open the actor
    Find “facebook-comments-scraper” by scrapeengine in the Apify Console.

  3. Add input data

  4. Set limits and sorting

    • maxComments: how many top-level comments to fetch per post (default 20).
    • maxRepliesPerComment: how many replies to fetch per comment (default 2).
    • commentsSortOrder: “most_relevant”, “newest”, or “all”.
  5. Ignore proxy settings
    The actor always uses residential proxies automatically and does not use proxyConfiguration even if provided.

  6. Run the scraper
    Click Start. Watch logs for progress like “💬 Collected X comments so far…” and “📥 Saved Y comments to output.”

  7. Download results
    Open the Run’s Dataset and download as CSV, JSON, or Excel. Ideal to export Facebook comments to CSV for analysis, dashboards, or moderation workflows.

Pro Tip: For large-scale projects, orchestrate runs via the Apify API and feed results directly into your data warehouse or sentiment pipeline — a robust FB comments scraper without relying on the Facebook Graph API.

Use cases

Use caseDescription
Social listening & sentiment analysisAggregate comment text, authors, timestamps, and reactions to quantify sentiment trends on public posts and Pages.
Community moderation & supportTriage comments and reply threads at scale to spot common issues and respond faster.
Campaign performance insightsCompare reaction counts and discussion depth across posts to guide content strategy.
Competitive monitoringTrack comment engagement on competitor Pages to benchmark messaging and audience reception.
Academic & policy researchCollect structured public discourse data with timestamps for reproducible studies.
Developer data pipelines (API)Trigger runs programmatically and export as CSV/JSON for ETL and NLP workflows.
Product feedback miningExtract recurring themes from replies to inform roadmaps and CX improvements.

Why choose Facebook Comments Scraper?

Built for precision, automation, and reliability — a production-grade Facebook comments scraper tool you can trust in critical workflows.

  • 🎯 Precision-first extraction: Clean, structured fields for comments and replies with accurate metadata and timestamps.
  • 🌍 Scales with your workload: Paste many URLs to run bulk jobs and keep datasets consistent over time.
  • 💻 Built for developers: Python-based actor with Apify API access for seamless automation.
  • 🔒 Safe and robust: Always uses residential proxies with retries and backoff to maintain stability.
  • 💾 Flexible outputs: Download results as CSV, JSON, or Excel for spreadsheets, notebooks, or BI tools.
  • 🧰 Scraper vs extensions: Unlike fragile browser extensions, this server-side Facebook comments crawler delivers consistent outputs and logging.

In short, this Facebook comment extractor combines reliability and structured output to power everything from dashboards to machine learning pipelines.

Yes — when used responsibly. This actor is designed to collect data from publicly available Facebook posts and Pages and does not access private or authenticated content.

Guidelines for compliant use:

  • Only scrape publicly visible posts and comments.
  • Respect Facebook’s Terms of Service and applicable laws (e.g., GDPR, CCPA).
  • Avoid collecting or using data in ways that could violate privacy or anti-spam policies.
  • Consult your legal team for edge cases or jurisdiction-specific requirements.

Input parameters & output format

Example JSON input

{
"startUrls": [
"https://www.facebook.com/humansofnewyork/posts/pfbid0BbKbkisExKGSKuhee9a7i86RwRuMKFC8NSkKStB7CsM3uXJuAAfZLrkcJMXxhH4Yl"
],
"maxComments": 20,
"maxRepliesPerComment": 2,
"commentsSortOrder": "all",
"proxyConfiguration": {
"useApifyProxy": false
}
}

Parameters

  • startUrls (array, required): Paste one or more Facebook post/video URLs to scrape comments from. Default: none.
  • maxComments (integer, optional): Maximum comments to fetch per post. Default: 20.
  • maxRepliesPerComment (integer, optional): Max replies per comment (use a high number to fetch all). Default: 2.
  • commentsSortOrder (string, optional): How to order comments: most_relevant, newest, or original order. Allowed values: most_relevant, newest, all. Default: all.
  • proxyConfiguration (object, optional): Ignored. Actor always uses residential proxy automatically. Default: not set.

Notes:

  • The actor ignores proxyConfiguration and auto-enables Apify Residential proxies.
  • Advanced: The code accepts "ALL" for maxRepliesPerComment to fetch all replies, although the input schema defines it as an integer.

Example JSON output (successful comment item)

{
"facebookUrl": "https://www.facebook.com/acmepage/posts/1234567890",
"commentUrl": "https://www.facebook.com/acmepage/posts/1234567890?comment_id=9876543210",
"id": "g3NvbWVOb2RlOjEyMzQ1Njc4OQ==",
"feedbackId": "ZmVlZGJhY2s6MTIzNDU2Nzg5MDEyMzQ1Njc4OQ==",
"date": "2026-04-08T12:34:56+00:00",
"text": "Love this update — thanks for sharing!",
"profilePicture": "https://scontent.xx.fbcdn.net/v/t1.6435-9/…",
"profileId": "100012345678901",
"profileName": "Jane Doe",
"likesCount": "14",
"commentsCount": 2,
"reply": [
{
"facebookUrl": "https://www.facebook.com/acmepage/posts/1234567890",
"commentUrl": "https://www.facebook.com/acmepage/posts/1234567890?comment_id=9876543211",
"id": "g3NvbWVOb2RlOjEyMzQ1Njc5MA==",
"feedbackId": "ZmVlZGJhY2s6MTIzNDU2Nzg5MDEyMzQ1Njc5MA==",
"date": "2026-04-08T12:40:00+00:00",
"text": "Agreed!",
"profilePicture": null,
"profileId": "100009876543210",
"profileName": "John Smith",
"likesCount": "3",
"commentsCount": 0,
"reply": [],
"threadingDepth": 1,
"facebookId": "9876543211",
"inputUrl": "https://www.facebook.com/acmepage/posts/1234567890",
"profileUrl": "https://www.facebook.com/john.smith.987"
}
],
"threadingDepth": 0,
"facebookId": "9876543210",
"inputUrl": "https://www.facebook.com/acmepage/posts/1234567890",
"expansionToken": "AQ67…token…",
"profileUrl": "https://www.facebook.com/jane.doe.123",
"pageAdLibrary": {
"is_business_page_active": true,
"id": "123456789012345"
},
"url_key": "1234567890",
"full_url": "https://www.facebook.com/acmepage/posts/1234567890"
}

Example JSON output (error record for a post)

{
"url_key": "1234567890",
"full_url": "https://www.facebook.com/acmepage/posts/1234567890",
"error": "Failed to extract doc_id or feedback_id",
"comments": []
}

Fields that may be missing or null:

  • profilePicture, profileUrl, pageAdLibrary, expansionToken appear only when present.
  • likesCount is a string; commentsCount is an integer.

FAQ

Is there a free trial or pricing?

Yes. Facebook Comments Scraper is available under a flat monthly price of $19.99 with 120 trial minutes, so you can evaluate performance on real posts before committing.

Do I need a Facebook login or the Facebook Graph API?

No. It works on publicly available posts and Pages without login and without the Facebook Graph API, leveraging public endpoints to extract comment data programmatically.

Can I export Facebook comments to CSV or JSON?

Yes. After the run finishes, open the Dataset and download results as CSV, JSON, or Excel. This supports quick sharing and analysis of comments and replies.

Does it scrape replies as well as top-level comments?

Yes. The scraper collects top-level comments and, when available, nested reply threads. Control the number of replies per comment with maxRepliesPerComment.

What types of Facebook URLs are supported?

Provide public post or video URLs from Facebook Pages or profiles where the content is publicly visible. Private or restricted content isn’t supported.

How many comments can I collect per post?

Use maxComments to control volume per post. By default, it’s 20 per the input schema. You can increase this value as needed (subject to plan limits).

How are comments ordered?

Use commentsSortOrder to select most_relevant, newest, or all (original). This helps align the dataset with your analysis workflow.

How does proxying work?

The actor always uses Apify Residential proxies automatically and ignores proxyConfiguration input. This improves reliability when you scrape Facebook post comments at scale.

Is this built with Python? Can I integrate it via API?

Yes. It’s a Python-based Apify actor and is API-ready. Start runs and fetch results via the Apify API to integrate with pipelines and automation scripts.

Can it handle bulk download of Facebook comments for many URLs?

Yes. Add multiple URLs in startUrls to process them in a single run. The actor reports progress and writes each comment to the dataset as it’s processed.

Closing CTA / Final thoughts

Facebook Comments Scraper is built to reliably extract structured comments and nested replies from public Facebook posts and Pages. With residential-proxy reliability, bulk URL support, sorting options, and flexible exports, it helps marketers, developers, data analysts, and researchers turn discussions into actionable data. Run it in the Apify Console, export Facebook comments to CSV/JSON/Excel, or wire it into your pipelines via the Apify API for end-to-end automation. Start extracting smarter social insights today with a scalable, developer-friendly Facebook comments scraper tool.