Facebook Comments Extractor ๐จ๏ธโก: Data, Details & Analytics
Pricing
from $0.30 / 1,000 results
Facebook Comments Extractor ๐จ๏ธโก: Data, Details & Analytics
๐ $0.5 / 1,000 results ยทโก High-speed comment scraping for 100+ Facebook URLs per run โ extract comments, replies, shared links, and images across Posts, Videos, Reels, and Groups.
Pricing
from $0.30 / 1,000 results
Rating
4.8
(5)
Developer
TheDoor
Maintained by CommunityActor stats
7
Bookmarked
556
Total users
101
Monthly active users
3 hours
Issues response
9 days ago
Last modified
Categories
Share
โก Facebook Comment Scraper โ 100+ Post URLs in One Run

Scrape comments from 100+ Facebook URLs in one run at high speed, including replies, images, shared links, reaction totals, and author profiles. Supports Posts, Videos, Reels, Groups, and almost every common Facebook URL format. Built for AI agents, SaaS applications, and automation workflows.
โก Fast & Reliable
Built for high-volume comment collection in AI agents, SaaS apps, and automation workflows:
- โก 100+ Facebook URLs in one run with asynchronous bulk processing
- ๐ Thousands of comments in minutes with automatic retry on transient errors
- ๐ Almost all common URL types โ posts, photos, videos, reels, groups, share links, and profile posts
- ๐ผ๏ธ Rich comment data โ author profiles, profile pictures, comment images, media, and shared links
- ๐ Engagement data โ reaction totals, per-type reactions, replies, timestamps, and direct comment URLs
Explore the full Facebook scraping toolkit
Need the posts before collecting comments? Use the Facebook Group Post Scraper for public group posts or the Facebook Page Scraper for page posts. Then send the resulting post URLs to this Actor to collect comments and replies.
๐ Supported URL Formats
| URL type | Example pattern | Accepted |
|---|---|---|
| Shared post link | facebook.com/share/p/{share_id}/ | โ |
| Shared video link | facebook.com/share/v/{share_id}/ | โ |
| Shared reel link | facebook.com/share/r/{share_id}/ | โ |
| Reel | facebook.com/reel/{reel_id} | โ |
| Watch video | facebook.com/watch/?v={video_id} | โ |
| Page video | facebook.com/{page}/videos/{video_id} | โ |
| Group post | facebook.com/groups/{group}/permalink/{post_id}/ | โ |
| Page post | facebook.com/{page}/posts/{post_id} | โ |
| Page post with pfbid | facebook.com/{page}/posts/pfbid{...} | โ |
| Legacy permalink | facebook.com/permalink.php?story_fbid={post_id}&id={page_id} | โ |
| Photo post | facebook.com/photo/?fbid={photo_id} | โ |
Shared links are automatically resolved to the underlying Facebook post before comments are collected. Reel links are normalized to the equivalent Watch surface when needed for reliable comment access.
๐ฅ Input Configuration
Simple Input Example
Fixed Number of Comments
{"postUrls": ["https://www.facebook.com/share/p/17UEMxPmxv/","https://www.facebook.com/groups/n8n.automation/permalink/25205583905788653/","https://www.facebook.com/watch/?v=1510975140138256"],"orderingMode": "MOST_RELEVANT","targetComments": 100,"includeReplies": true,"includeReactions": true}
This collects up to 100 comments per Post URL.
All Available Comments
{"postUrls": ["https://www.facebook.com/share/r/17SLmK3Z9c/"],"orderingMode": "ALL","targetComments": -1,"includeReplies": true,"includeReactions": true}
Use targetComments: -1 to collect all available comments. The Actor will
continue through every available comment page instead of stopping at a fixed
limit.
Input Options
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
postUrls | List of Post URLs | Yes | - | Facebook Post URLs, including posts, videos, reels, photos, groups, and share links. Use an array even for one post |
orderingMode | Text | No | "MOST_RELEVANT" | Comment order: "MOST_RELEVANT", "NEWEST", or "ALL" |
targetComments | Number | No | 20 | Maximum comments per URL. Use -1 to fetch all available comments |
includeReplies | Boolean | No | true | When true, include nested replies; when false, return only top-level comments |
includeReactions | Boolean | No | true | Include total reactions and reaction type counts |
orderingMode controls the order in which Facebook returns comments:
MOST_RELEVANTโ Facebook's ranked/relevant comments (default)NEWESTโ newest comments firstALLโ the unfiltered comments view
targetComments controls how many comments are collected per Post URL. Set it to
-1 to fetch all available comments, regardless of the selected ordering
mode. This is recommended when completeness is more important than run time or
cost.
includeReplies controls reply collection. Set it to true to include the
complete nested reply tree, or false to return only top-level comments.
The Console displays this as a single on/off checkbox.
Each Post URL is checked before comment collection begins. Unavailable or restricted posts are skipped, while other valid posts continue processing normally. Reel links are automatically normalized when needed for reliable comment access.
postUrls must always be an array. For one URL, use for example:
{"postUrls": ["https://www.facebook.com/share/r/17SLmK3Z9c/"]}
๐ค Output Structure
Example Output
Each result represents one comment or reply. These examples show the main fields:
{"post_url": "https://www.facebook.com/example-post-media","text": "Example comment with an attached photo","author_name": "Example User","comment_url": "https://www.facebook.com/example-post-media?comment_id=.....","media": [{"type": "Photo","url": "https://cdn.example.com/example-photo.jpg"}],"reactions_count": 128,"replies_count": 15}
{"post_url": "https://www.facebook.com/example-post-link","text": "Example reply containing a shared link","author_name": "Example Reply Author","comment_url": "https://www.facebook.com/example-post-link?comment_id=.....","media": [],"shared_post": null,"shared_link": "https://www.youtube.com/watch?v=example123","reactions_count": 4,"replies_count": 2}
Output Fields
| Field | Type | Description |
|---|---|---|
post_url | string | Source Facebook URL |
id | string | Unique comment/reply ID |
comment_url | string | Direct Facebook URL for the comment/reply |
text | string | Comment text content |
timestamp | integer | Unix timestamp (seconds) |
comment_time | string | ISO 8601 datetime |
author_name | string | Author display name |
author_id | string | Author Facebook ID |
author_profile_picture | string | Author profile picture URL (100% coverage) |
author_profile_url | string|null | Author profile URL (when available) |
image_url | string|null | Attached image URL (~4% of comments) |
media | array | Attached comment media with ID, type, URI, URL, and thumbnail when available |
shared_post | object|null | Native Facebook post shared inside the comment, including URL, text, and media when available |
shared_link | string|null | Shared external link URL (~7% of comments) |
shared_link_title | string|null | Title of shared link |
shared_link_source | string|null | Source domain (e.g., "youtube.com") |
reactions_count | integer | Total reaction count |
reaction_types | object | Counts by type: like, love, haha, wow, care, sad, and angry |
replies_count | integer | Number of direct replies |
is_reply | boolean | true if this is a reply, false if top-level comment |
replyto_comment_id | string | Parent comment ID (only for replies) |
depth | integer | Nesting level (0 = top-level, 1+ = nested reply) |
Reaction Types
When reaction data is available, reaction_types contains the nonzero counts
returned by Facebook:
{"like": 10,"love": 3,"haha": 2}
Supported keys are like, love, haha, wow, care, sad, and angry.
Unknown Facebook reaction IDs are preserved as unknown_<reaction_id>.
โจ What You Get
Complete Comment Data
- ๐ Comment text and timestamps
- ๐ค Author names and profile pictures
- ๐ผ๏ธ Attached images (when available)
- ๐ Shared links with titles (YouTube, articles, etc.)
- โค๏ธ Reaction counts (likes, loves, etc.)
- ๐ฌ All replies and nested conversations
Easy to Use
- Just paste Facebook URLs and click "Start"
- Works with any public post, video, reel, or group
- Get results in minutes, not hours
- Download as JSON, CSV, Excel, or HTML
- No coding or technical skills needed
Reliable & Fast
- Automatically handles errors and retries
- Processes multiple URLs at once
- Extracts thousands of comments quickly
- Works with all Facebook URL formats
๐ How to Use
Quick Start (No Coding Required)
- Open the actor in Apify Console
- Paste Post URLs - Copy and paste any Facebook post, video, reel, photo, or group URL
- Set options (optional):
- How many comments to get (default: 50, use -1 for all)
- Include replies? (default: yes)
- Sort by newest or most relevant
- Click "Start" and wait for results
- Download data - Get your results as JSON, CSV, Excel, or HTML
That's it! No technical knowledge needed.
๐ก Use Cases
- Market Research: Analyze customer feedback and sentiment
- Social Listening: Monitor brand mentions and discussions
- Content Analysis: Study engagement patterns and trends
- Lead Generation: Find potential customers in relevant groups
- Competitor Analysis: Track competitor posts and engagement
- Academic Research: Collect data for social media studies
๐ Legal & Privacy
This scraper only collects publicly available data from Facebook. Users are responsible for:
- Complying with Facebook's Terms of Service
- Following data protection laws (GDPR, CCPA, etc.)
- Using scraped data ethically and legally
- Respecting user privacy
See Apify's Terms of Service for more information.
โ FAQ
Can I submit many URLs at once?
Yes. Add all URLs to postUrls. The Actor can process 100+ URLs in one run.
Why did I receive fewer comments than requested?
The post may contain fewer comments, comments may be restricted, or Facebook may not expose the complete comment thread for that post.
Can I collect every comment?
Yes. Set targetComments to -1. The Actor will continue until no more
comments are available.
Does includeReplies include nested replies?
Yes. When enabled, replies and nested conversations are included. When disabled, only top-level comments are returned.
Are private or login-restricted posts supported?
No. Public Facebook posts, videos, reels, photos, and group posts are supported.
What happens if a URL is unavailable or has no comments?
That URL is skipped and does not create an error record in the dataset. Other valid URLs continue processing.
๐ Support
For bug reports, custom fields, or integration questions, contact
tuananhhoangtran2010@gmail.com.