Facebook Comments Scraper
Pricing
$19.99/month + usage
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
Actor stats
0
Bookmarked
2
Total users
0
Monthly active users
15 hours ago
Last modified
Categories
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 field | Description | Example value |
|---|---|---|
| full_url | Full Facebook post URL for the comment | https://www.facebook.com/acmepage/posts/1234567890 |
| url_key | Short identifier derived from the post URL | 1234567890 |
| facebookUrl | Source Facebook post URL for this item | https://www.facebook.com/acmepage/posts/1234567890 |
| commentUrl | Direct URL to the comment (if provided) | https://www.facebook.com/acmepage/posts/1234567890?comment_id=9876543210 |
| text | Comment text content | “Love this update — thanks for sharing!” |
| profileName | Display name of the commenter | “Jane Doe” |
| profileId | Commenter’s profile ID | 100012345678901 |
| profileUrl | Commenter’s profile URL (if available) | https://www.facebook.com/jane.doe.123 |
| date | ISO 8601 timestamp in UTC | 2026-04-08T12:34:56+00:00 |
| likesCount | Number of reactions on the comment (string) | “14” |
| commentsCount | Number of replies to this comment (integer) | 2 |
| id | Comment node ID | g3NvbWVOb2RlOjEyMzQ1Njc4OQ== |
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
-
Sign in to Apify
Create or log in to your Apify account. -
Open the actor
Find “facebook-comments-scraper” by scrapeengine in the Apify Console. -
Add input data
- In startUrls, paste one or more public Facebook post or video URLs (each on a new line or as a string list).
- Example: https://www.facebook.com/acmepage/posts/1234567890
-
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”.
-
Ignore proxy settings
The actor always uses residential proxies automatically and does not use proxyConfiguration even if provided. -
Run the scraper
Click Start. Watch logs for progress like “💬 Collected X comments so far…” and “📥 Saved Y comments to output.” -
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 case | Description |
|---|---|
| Social listening & sentiment analysis | Aggregate comment text, authors, timestamps, and reactions to quantify sentiment trends on public posts and Pages. |
| Community moderation & support | Triage comments and reply threads at scale to spot common issues and respond faster. |
| Campaign performance insights | Compare reaction counts and discussion depth across posts to guide content strategy. |
| Competitive monitoring | Track comment engagement on competitor Pages to benchmark messaging and audience reception. |
| Academic & policy research | Collect 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 mining | Extract 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.
Is it legal / ethical to use Facebook Comments Scraper?
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.

