Facebook Comments Scraper · No Login · $0.2/1k avatar

Facebook Comments Scraper · No Login · $0.2/1k

Pricing

from $0.20 / 1,000 comments

Go to Apify Store
Facebook Comments Scraper · No Login · $0.2/1k

Facebook Comments Scraper · No Login · $0.2/1k

Facebook comments scraper: export comments and replies of any public post to Excel, CSV or JSON. Text, author, date, reactions and reply links; no login or result cap. $0.20/1k on Business or $0.30/1k on Free; platform usage included, no start fee or filter surcharge.

Pricing

from $0.20 / 1,000 comments

Rating

0.0

(0)

Developer

Alfalfa

Alfalfa

Maintained by Community

Actor stats

0

Bookmarked

18

Total users

5

Monthly active users

5 days ago

Last modified

Share

Facebook Comments Scraper (No Login)

Scrape comments and replies from public Facebook posts: text, author, date, reactions, reply counts and the whole reply thread with parent links. No Facebook account, login or cookies needed. Same output fields as the official Facebook Comments Scraper at $0.30 per 1,000 comments, with no start fee and no surcharge for date filters; a thousand comments in about a minute.

Works with every public post URL Facebook uses: /posts/, /photo/?fbid=, /permalink.php, /videos/, /reel/, /watch/?v=. Group posts need a login and are not supported.

What you can do with Facebook comment data

  • Sentiment and brand monitoring: pull the comments under your own or a competitor's posts every day and track how people react to a launch, a campaign or a crisis.
  • Audience research: find the questions, objections and requests customers write under product posts.
  • Lead generation: people who comment "price?", "where can I buy this?" or "DM me" are warm leads; the comment text, name and profile ID come in one row.
  • Giveaway and contest picks: export every comment under a contest post to CSV and pick winners or check entries.
  • Moderation and research: collect discussions under news posts for content analysis, journalism or academic studies.
  • Thread reconstruction: each reply carries replyToCommentId, parentComment and parentReply, so a full conversation tree can be rebuilt without guessing.

What data do you get

FieldExample
text, date, likesCount, commentsCountcomment text, 2021-08-15T19:56:39.000Z, "92" (all reactions), number of replies
reactions{ "like": 65, "love": 25, "care": 2, "haha": 0, "wow": 0, "sad": 0, "angry": 0 }, the count of every reaction type
profileName, profileId, profileUrl, profilePicture, authorwho wrote it (profile URL when Facebook shows it publicly)
commentId, id, feedbackId, commentUrlcomment IDs and direct link
threadingDepth, replyToCommentId, parentComment, parentReply0 for comments, 1 and 2 for replies, plus the parent comment and parent reply
attachmentsphotos, GIFs and videos attached to the comment
facebookUrl, facebookId, postTitle, postDescription, pageAdLibrary, inputUrlthe post the comment belongs to

How to scrape Facebook comments

  1. Paste one or more post URLs into Facebook post URLs.
  2. Set Max comments per post, choose the Comments mode (All, Newest or Most relevant) and switch on Include replies if you want the threads.
  3. Click Start. Comments stream into the dataset as they are found; export as JSON, CSV, Excel or XML, or read them through the API.

Input

FieldTypeDescription
startUrlsarray of { "url": ... }Post URLs (same format as the official Actor, plain strings work too).
resultsLimitintegerMax top-level comments per post. Replies come on top of it. Empty = everything Facebook shows to a logged-out visitor.
includeNestedCommentsbooleanAlso return replies (up to two levels), each as its own record.
viewOptionRANKED_UNFILTERED / RECENT_ACTIVITY / RANKED_THREADEDAll (default), Newest, Most relevant.
onlyCommentsNewerThanstringYYYY-MM-DD, ISO date-time, or relative (1 day, 2 weeks, 3 months). With Newest the run stops early; otherwise older comments are skipped for free.
maxConcurrencyintegerPosts scraped in parallel (default 5).
proxyConfigurationobjectResidential proxies by default, included in the price. Optionally pick a country or use your own proxy servers.

Example:

{
"startUrls": [{ "url": "https://www.facebook.com/humansofnewyork/posts/pfbid0BbKbkisExKGSKuhee9a7i86RwRuMKFC8NSkKStB7CsM3uXJuAAfZLrkcJMXxhH4Yl" }],
"resultsLimit": 200,
"includeNestedComments": true,
"viewOption": "RECENT_ACTIVITY",
"onlyCommentsNewerThan": "30 days"
}

Output

One record per comment. likesCount is the total of all reactions (a string, as in the official Actor); reactions breaks it down into the seven reaction types as Facebook shows them, with 0 for a type nobody used. likesCount can be rounded (for example 1.2K); the sum of reactions is the exact count. reactions is null when Facebook does not expose the breakdown. A top-level comment:

{
"facebookUrl": "https://www.facebook.com/humansofnewyork/posts/pfbid02EuurTwosHG9NqVFYaREi7CsT2ZwXQQwosy324tBEndNMzzPzj3g1topHMAbRCUz4l",
"commentUrl": "https://www.facebook.com/humansofnewyork/posts/pfbid02EuurTwosHG9NqVFYaREi7CsT2ZwXQQwosy324tBEndNMzzPzj3g1topHMAbRCUz4l?comment_id=3000854580150022",
"commentId": "3000854580150022",
"id": "Y29tbWVudDo2Mzc1MjE5MzQyNTUyMTEyXzMwMDA4NTQ1ODAxNTAwMjI=",
"feedbackId": "ZmVlZGJhY2s6NjM3NTIxOTM0MjU1MjExMl8zMDAwODU0NTgwMTUwMDIy",
"date": "2021-08-15T19:58:31.000Z",
"text": "I'm struck by the goal you \"announced\" to the principal the first time you walked into the school. You've modeled resilience and lifelong learning, and admitting that it was ok to not know everything to these kids, as well as healthy risk taking. \n\nAnd I can't wait to hear the conclusion on Neveah and her mom and the amazing things they've accomplished! ",
"attachments": [],
"author": {
"id": "pfbid0LiAr9wu1KXhDrSfp77CyuFXFVuwgNCsFn7SuEqqnTXbweeB3149645PZmThD9KGCl",
"name": "Aimee J Bednar",
"url": null,
"__typename": "User",
"gender": "FEMALE"
},
"profileUrl": null,
"profileId": "pfbid0LiAr9wu1KXhDrSfp77CyuFXFVuwgNCsFn7SuEqqnTXbweeB3149645PZmThD9KGCl",
"profileName": "Aimee J Bednar",
"name": "Aimee J Bednar",
"profilePicture": "https://scontent.fvlc4-1.fna.fbcdn.net/v/t39.30808-1/7382177...",
"likesCount": "60",
"reactions": { "like": 52, "love": 7, "care": 1, "haha": 0, "wow": 0, "sad": 0, "angry": 0 },
"commentsCount": 1,
"threadingDepth": 0,
"replyToCommentId": null,
"parentComment": null,
"parentReply": null,
"facebookId": "6375219342552112",
"postTitle": "(2/3) “I knew nothing about gardening. But I knew how to google, so I looked up some easy stuff to plant. Turns out it’s...",
"postDescription": "(2/3) “I knew nothing about gardening. But I knew how to google, so I looked up some easy stuff to plant. Turns out it’s...",
"pageAdLibrary": {
"is_business_page_active": false,
"id": "102099916530784"
},
"inputUrl": "https://www.facebook.com/humansofnewyork/posts/pfbid0BbKbkisExKGSKuhee9a7i86RwRuMKFC8NSkKStB7CsM3uXJuAAfZLrkcJMXxhH4Yl"
}

A reply (with Include replies on):

{
"facebookUrl": "https://www.facebook.com/humansofnewyork/posts/pfbid02EuurTwosHG9NqVFYaREi7CsT2ZwXQQwosy324tBEndNMzzPzj3g1topHMAbRCUz4l",
"commentUrl": "https://www.facebook.com/humansofnewyork/posts/pfbid02EuurTwosHG9NqVFYaREi7CsT2ZwXQQwosy324tBEndNMzzPzj3g1topHMAbRCUz4l?comment_id=560487351810151",
"commentId": "560487351810151",
"id": "Y29tbWVudDo2Mzc1MjE5MzQyNTUyMTEyXzU2MDQ4NzM1MTgxMDE1MQ==",
"feedbackId": "ZmVlZGJhY2s6NjM3NTIxOTM0MjU1MjExMl81NjA0ODczNTE4MTAxNTE=",
"date": "2021-08-16T13:39:20.000Z",
"text": "Aimee J Bednar Yes. The curiosity & humility that are part of this story are SO important, especially when they’re modeled for kids. ",
"attachments": [],
"author": {
"id": "pfbid0sfoZfStXQvqUocL9kuQJiz74oZkMonCXQreMDLPneWDkx2FuhhSiF3gR1fJn8bUtl",
"name": "Gabrielle Halko",
"url": null,
"__typename": "User",
"gender": "FEMALE"
},
"profileUrl": null,
"profileId": "pfbid0sfoZfStXQvqUocL9kuQJiz74oZkMonCXQreMDLPneWDkx2FuhhSiF3gR1fJn8bUtl",
"profileName": "Gabrielle Halko",
"name": "Gabrielle Halko",
"profilePicture": "https://scontent.fnce2-1.fna.fbcdn.net/v/t39.30808-1/6546181...",
"likesCount": "1",
"reactions": { "like": 1, "love": 0, "care": 0, "haha": 0, "wow": 0, "sad": 0, "angry": 0 },
"commentsCount": 0,
"threadingDepth": 1,
"replyToCommentId": "3000854580150022",
"parentComment": {
"commentId": "3000854580150022",
"id": "Y29tbWVudDo2Mzc1MjE5MzQyNTUyMTEyXzMwMDA4NTQ1ODAxNTAwMjI=",
"profileId": "pfbid0LiAr9wu1KXhDrSfp77CyuFXFVuwgNCsFn7SuEqqnTXbweeB3149645PZmThD9KGCl",
"profileName": "Aimee J Bednar",
"date": "2021-08-15T19:58:31.000Z",
"text": "I'm struck by the goal you \"announced\" to the principal the first time you walked into the school. You've modeled resilience and lifelong learning, and admitting that it was ok to not know everything to these kids, as well as healthy risk taking. \n\nAnd I can't wait to hear the conclusion on Neveah and her mom and the amazing things they've accomplished! "
},
"parentReply": null,
"facebookId": "6375219342552112",
"postTitle": "(2/3) “I knew nothing about gardening. But I knew how to google, so I looked up some easy stuff to plant. Turns out it’s...",
"postDescription": "(2/3) “I knew nothing about gardening. But I knew how to google, so I looked up some easy stuff to plant. Turns out it’s...",
"pageAdLibrary": {
"is_business_page_active": false,
"id": "102099916530784"
},
"inputUrl": "https://www.facebook.com/humansofnewyork/posts/pfbid0BbKbkisExKGSKuhee9a7i86RwRuMKFC8NSkKStB7CsM3uXJuAAfZLrkcJMXxhH4Yl"
}

Pricing

$0.30 per 1,000 comments ($0.0003 per comment or reply), no start fee, no surcharge for date filters, platform usage and residential proxies included. You pay only for records written to the dataset. Set the maximum budget per run in the Actor settings; the scraper stops when it is reached and never overshoots the number you typed.

Final price. The per-comment price is everything you pay: platform usage is included, there is no start fee and no per-run minimum. Some listings on the Store show a lower number and add platform usage on top; here the number on the listing is the number on your bill.

Monthly spendComments
$5, which is what the free plan includesabout 16,700
$49about 163,300
$499about 1,663,300

For comparison, the official Facebook Comments Scraper charges $2.50 per 1,000 comments on the free plan, less on higher plans, plus $1 per run and an extra fee per comment when a date filter is used.

Switching from the official Facebook Comments Scraper

  1. Replace the Actor ID in your integration and keep your input (startUrls, resultsLimit, includeNestedComments, viewOption, onlyCommentsNewerThan).
  2. Output field names are the same: every field of the official dataset schema is present with the same type. Replies are separate records with threadingDepth, replyToCommentId, parentComment and parentReply, as with the official Include comment replies option. On top of the official fields you get reactions (the breakdown by reaction type), facebookId, pageAdLibrary and inputUrl.
  3. resultsLimit counts top-level comments per post; replies come on top, as in the official Actor.

Limitations

  • Only comments Facebook shows to a logged-out visitor are returned. Facebook hides some comments ("filtered" replies, comments from restricted profiles), so the count can be lower than the number shown on the post itself.
  • profileUrl is null when Facebook does not publish the commenter's profile link to logged-out visitors; profileId is always there.
  • Group posts, private profiles and posts limited to friends are not supported.
  • This Actor is not affiliated with, endorsed by or connected to Meta Platforms, Inc. or Facebook.

FAQ

Can I scrape Facebook comments without logging in?

Yes. The scraper reads what any visitor without an account can see. No cookies, no session, no risk to your own account.

Why do I get fewer comments than the post shows?

The number on the post counts every comment ever written, including ones Facebook hides from logged-out visitors, replies that were filtered as low quality, and comments from restricted profiles. Choose All mode to get the most.

Why do I get more records than my limit?

resultsLimit applies to top-level comments per post. With Include replies on, replies are added on top, each as its own record, the same way the official Actor counts.

Do I get the reaction types, not just a like count?

Yes. Every comment and reply has likesCount (all reactions, as in the official Actor) and reactions with the count of each type: like, love, care, haha, wow, sad and angry, exactly as Facebook shows them under the comment. likesCount can be rounded (for example 1.2K); the sum of reactions is the exact count. Useful for sentiment: a comment with many haha or angry reactions reads differently from one with love reactions.

Can I get only new comments every day?

Set onlyCommentsNewerThan to 1 day, choose Newest mode and schedule the run daily. The run stops as soon as older comments appear, so you pay only for the new ones. No filter surcharge.

How fast is it?

About 10 comments per second per post, posts run in parallel. A thousand comments take around a minute.

The Actor collects publicly available data only. Comments contain personal data (names, profile IDs), so you are responsible for using them in line with GDPR, CCPA and other laws that apply to you. Scrape only what you have a legitimate reason to process.

Use it from n8n, Make, Zapier or an AI agent

  • n8n, Make, Zapier: add the Apify node, pick alfalfa/facebook-comments-scraper as the Actor, paste the same JSON input as above and read the run's dataset in the next step. A scheduled workflow that scrapes Facebook comments every morning and appends them to Google Sheets or a database takes three nodes. See the Apify integrations docs.
  • AI agents and MCP (Claude, Cursor, VS Code, ChatGPT): connect the Apify MCP server with this Actor as a tool, https://mcp.apify.com/?tools=alfalfa/facebook-comments-scraper, and the agent can call it by describing what it wants in plain language. The input and output schemas are published, so the agent knows every field. See Apify MCP docs.
  • API and scheduling: every run is available through the Apify API and the Apify CLI; schedules, webhooks and dataset exports (JSON, CSV, Excel, XML) are built into the platform.

Examples you can run in one click

Each example opens with its input already filled in and a sample of the results, so you can change any field and run it right away.

Need something the examples do not cover? Every field is on the Input tab, and any example input works unchanged in an API call or an n8n, Make or Zapier workflow.

Was this useful?

If this Actor saved you time, a short review on its Store page helps others find it and tells me what to improve next. Missing a field or stuck on an input? Open an Issue on the Actor page; issues are answered within a day.

More Facebook scrapers by Alfalfa

ActorWhat it doesPrice
Facebook Posts Scraperposts of any public page or profile with reactions, comment counts, media, optional video transcripts$2 per 1,000 posts
Facebook Pages Scraperpage details with email, phone, address, followers, rating, About textfrom $2.50 per 1,000 pages
Facebook Events Scraperevents by search, city, page or URL, with organizer email$3 per 1,000 events
Facebook Ads Library Scraperads from the Meta Ad Library by keyword, advertiser page or URL, with creatives, dates, platforms and EU reach$0.45 per 1,000 ads
Google Ads Transparency Scraperevery Google ad of an advertiser or website domain with format, dates, regions, previews and YouTube video ids$0.30 per 1,000 ads
Google Maps Scraperplaces from any search and location with address, phone, website, rating and hours, plus reviews and website emails$0.07 per 1,000 places
Amazon Product Scraperproducts from searches, Best Sellers lists and ASINs in 22 Amazon stores with price, rating, BSR and details$0.28 per 1,000 products
LinkedIn Jobs Scraperpublic LinkedIn job postings by keyword, location, date, company or URL, with full description, salary, applicants, seniority and poster$0.30 per 1,000 jobs
LinkedIn Company ScraperLinkedIn company pages from URLs, names, websites or a filtered keyword search with size, employee count, followers, offices and recent posts$1 per 1,000 companies
YouTube Scrapervideos of a search, channel, playlist or URL list with views, likes, date, tags, plus transcripts and comments; no API key$0.50 per 1,000 rows

Same field names as the official Actors, no login, no start fees, one flat price each.

Not working?

Open an issue in the Issues tab of this Actor with the post URL and the run ID. Facebook changes its pages often; fixes usually ship within a day.