How to scrape Facebook comments from public posts

Scrape the public comments under Facebook posts, reels and videos into CSV or Excel, then collect the replies with a token from the first run.

Updated

The comment section under a Facebook post is often where the real reaction is. A product announcement gets a polite post and a hundred honest comments. A news story gets shared, and the comments show what people actually took from it. Facebook Comments Scraper turns those comments into rows, so you can read them in bulk, tag them and count them.

This guide takes you from a post link to a finished spreadsheet, including the replies.

Step 1: Get full post links

The tool needs the full link of each post. Open the post on its own page (click its timestamp) and copy the address bar. Links look like this:

https://www.facebook.com/100044561550831/posts/1675983783896991
https://www.facebook.com/reel/REEL_ID

Short share links do not work, so if someone sent you a shortened link, open it first and copy the full address it lands on. Keep the links in a plain list, one per line, so you can paste them all at once.

Step 2: Select Post comments

Open the tool on Apify. Pick Post comments, the first of its two modes.

Open Facebook Comments Scraper (opens in a new tab)

Step 3: Paste links, set Max items

Paste one link per line into Post links. Max items caps the number of comments per post and starts at 100. A busy post can have thousands; decide whether you need all of them or a solid sample.

With Apify's free plan you get up to 100 results per run and up to 20 runs a day, which covers a full read of a typical post. For more, the Store page lists the current price per 1,000 comments.

Step 4: Read the rows

Start the run. In the Output tab, each comment is a row like this (shortened):

{
  "type": "comment",
  "id": "1499015272429607",
  "postId": "1675983783896991",
  "text": "A short example sentence for illustration.",
  "author": { "displayName": "Example User", "id": "936422100183486645" },
  "metrics": { "likes": 643, "replies": 11 },
  "createdAt": "2026-11-03T16:57:54Z",
  "details": { "facebook": { "repliesToken": "eyJmIjoiWm1W..." } }
}

You get the text, the display name of the commenter, the like count, how many replies the comment has, and the time. postId links each comment to its post, which lets you put many posts in one run and still split them apart later.

Step 5: Collect replies

Comments with many replies are usually the arguments, questions and corrections worth reading. Each row carries a repliesToken in details.facebook. To get the thread under a comment:

  1. Sort your first results by metrics.replies, highest first.
  2. Copy the repliesToken values of the comments you care about.
  3. Start a new run in Comment replies and paste the tokens into Replies tokens.

Reply rows look the same as comments, so they slot into the same sheet.

Step 6: Export and repeat

Click Export and download CSV or Excel for a spreadsheet, or JSON for code. Select only the fields you need; postId, text, metrics.likes, metrics.replies and createdAt are a good start.

Comments keep coming for a day or two after a post goes up. Save the input as a task, then attach it to a schedule in Apify Console, for example twice a day for the first three days. Combine the datasets and keep one row per comment id.

Reading a few hundred comments without reading all of them

  • Start with the most liked. The top twenty by likes usually sum up the mood of the thread.
  • Tag a sample. Tag 100 comments by hand (positive, negative, question, off-topic) and count. A sample this size shows the broad split.
  • Look for repeated words. Sort a copy of the text column, or use a word-count formula, to find the phrases people repeat. Repeated complaints are the ones worth fixing.
  • Separate the page's own replies. If the page answers in the thread, those replies tell you how it handles questions in public.

If the run comes back empty

First check the link: it must be the full address of a single post, reel or video, not a page link and not a short share link. Then open the post in a private browser window. If you cannot see its comments without logging in, the tool cannot either. Posts with comments turned off return no rows, and so do posts whose comments are limited to friends or group members.

If the run works but stops short, look at Max items and at the free-plan limit of 100 results per run. Raise the first, or move to a paid Apify plan for the second.

Limits worth knowing

The tool reads only comments that a logged-out visitor can see on public posts. Comments hidden by the page, or on posts limited to friends or group members, do not appear. Use the file to study public reaction to a post or a brand; keep commenter names out of anything you publish unless you have a good reason to quote them.

Tools to use

Questions

Which links does it accept?

Full links of posts, reels or videos, such as facebook.com/<page>/posts/<id> or facebook.com/reel/<id>. Short share links are not accepted.

How many comments can I get for free?

Apify's free plan returns up to 100 results per run for this tool, with up to 20 runs a day.

Does it return the replies?

Replies come from a second run in the Comment replies mode, using the replies token each comment row carries.