Facebook Comments Extractor ๐Ÿ—จ๏ธโšก: Data, Details & Analytics avatar

Facebook Comments Extractor ๐Ÿ—จ๏ธโšก: Data, Details & Analytics

Pricing

from $0.30 / 1,000 results

Go to Apify Store
Facebook Comments Extractor ๐Ÿ—จ๏ธโšก: Data, Details & Analytics

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

TheDoor

Maintained by Community

Actor stats

7

Bookmarked

556

Total users

101

Monthly active users

3 hours

Issues response

9 days ago

Last modified

Share

โšก Facebook Comment Scraper โ€” 100+ Post URLs in One Run

Facebook comment scraping process

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 typeExample patternAccepted
Shared post linkfacebook.com/share/p/{share_id}/โœ…
Shared video linkfacebook.com/share/v/{share_id}/โœ…
Shared reel linkfacebook.com/share/r/{share_id}/โœ…
Reelfacebook.com/reel/{reel_id}โœ…
Watch videofacebook.com/watch/?v={video_id}โœ…
Page videofacebook.com/{page}/videos/{video_id}โœ…
Group postfacebook.com/groups/{group}/permalink/{post_id}/โœ…
Page postfacebook.com/{page}/posts/{post_id}โœ…
Page post with pfbidfacebook.com/{page}/posts/pfbid{...}โœ…
Legacy permalinkfacebook.com/permalink.php?story_fbid={post_id}&id={page_id}โœ…
Photo postfacebook.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

FieldTypeRequiredDefaultDescription
postUrlsList of Post URLsYes-Facebook Post URLs, including posts, videos, reels, photos, groups, and share links. Use an array even for one post
orderingModeTextNo"MOST_RELEVANT"Comment order: "MOST_RELEVANT", "NEWEST", or "ALL"
targetCommentsNumberNo20Maximum comments per URL. Use -1 to fetch all available comments
includeRepliesBooleanNotrueWhen true, include nested replies; when false, return only top-level comments
includeReactionsBooleanNotrueInclude 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 first
  • ALL โ€” 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

FieldTypeDescription
post_urlstringSource Facebook URL
idstringUnique comment/reply ID
comment_urlstringDirect Facebook URL for the comment/reply
textstringComment text content
timestampintegerUnix timestamp (seconds)
comment_timestringISO 8601 datetime
author_namestringAuthor display name
author_idstringAuthor Facebook ID
author_profile_picturestringAuthor profile picture URL (100% coverage)
author_profile_urlstring|nullAuthor profile URL (when available)
image_urlstring|nullAttached image URL (~4% of comments)
mediaarrayAttached comment media with ID, type, URI, URL, and thumbnail when available
shared_postobject|nullNative Facebook post shared inside the comment, including URL, text, and media when available
shared_linkstring|nullShared external link URL (~7% of comments)
shared_link_titlestring|nullTitle of shared link
shared_link_sourcestring|nullSource domain (e.g., "youtube.com")
reactions_countintegerTotal reaction count
reaction_typesobjectCounts by type: like, love, haha, wow, care, sad, and angry
replies_countintegerNumber of direct replies
is_replybooleantrue if this is a reply, false if top-level comment
replyto_comment_idstringParent comment ID (only for replies)
depthintegerNesting 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)

  1. Open the actor in Apify Console
  2. Paste Post URLs - Copy and paste any Facebook post, video, reel, photo, or group URL
  3. Set options (optional):
    • How many comments to get (default: 50, use -1 for all)
    • Include replies? (default: yes)
    • Sort by newest or most relevant
  4. Click "Start" and wait for results
  5. 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

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.