To bulk export Facebook comments from multiple posts at once, paste up to 20 public post, Reel or video links into the Facebook comment exporter, one per line. Each link runs as its own export at the same time, and the finished posts download together as one zip of CSV, Excel or JSON files, one file per post, replies included.
This guide covers the batch workflow end to end: which links the box accepts, what comes back in the zip, how to stack the files into a single sheet, and the jobs (monthly audits, agency reporting, giveaway series, competitor comparisons, research) where pasting one link at a time stops making sense.
When one post at a time stops working
A single-post export is the right tool for a single question: who entered this contest, what people said about this launch. The trouble starts when the question covers a period or a set of Pages. A social media manager reporting on October has twelve to thirty posts. An agency with five clients has five times that. Exporting each one means pasting, waiting, downloading, renaming the file so you know which post it was, and doing it again.
The native options don't fill the gap. Meta Business Suite shows comments in an inbox, not a dataset. The Graph API comments endpoint works post by post and only for Pages where you hold a token with the right permissions, so a competitor's Page or a public group is out of reach. Copy-and-paste falls apart past a few dozen comments, because Facebook loads threads in pieces and hides some behind "View more replies".
A batch removes the repetition: the whole list goes in at once, the posts run in parallel, and you get one archive back.
Links the batch box accepts
Facebook has more URL shapes than any other platform we support, and people paste all of them. The exporter reads every one of these, as long as the post is public:
- Page posts —
facebook.com/<page>/posts/<id>, including the longpfbid…IDs Facebook now uses. - Public group posts —
facebook.com/groups/<group>/posts/<id>and/permalink/<id>. - Videos and Reels —
/<page>/videos/<id>,/reel/<id>,/watch/?v=<id>andfb.watchshort links. - Photos and older permalinks —
photo.php?fbid=,permalink.php?story_fbid=andstory.php?story_fbid=. - Share links —
facebook.com/share/p/…,/share/v/…,/share/r/…, which is what the app's Share button copies. - Mobile and web subdomains —
m.facebook.comandweb.facebook.comversions of all of the above.
You don't need to clean the list first. If two links end up glued together on one line, or separated by spaces or commas (common when copying out of a spreadsheet or a chat), the box re-lines them one per line as you paste.
Running a twenty-link batch
- Build the list. For your own Page, scroll the Page's timeline or Meta Business Suite's content list and copy each post's link. For someone else's Page, open each post and use Share → Copy link.
- Paste up to 20 links into the box on /export/facebook, one per line.
- Start the export. You land on a bulk results page straight away; each post's comment count fills itself in as Facebook answers, so a slow permalink doesn't hold up the others.
- Watch the list. Any link that couldn't be read (private, deleted, not a post) appears with the reason, and the other links keep running.
- Tick the posts that have finished and choose CSV, Excel or JSON.
Bulk paste unlocks with a one-time payment, never a subscription; see pricing. Without it, pasting several links shows an unlock prompt that also lets you run just the first link on its own, with the first 100 comments needing no signup.
What lands in the zip
Pick one post and you get one file. Pick several and you get a single archive named for the number of posts, with one file inside per post. We chose separate files over one merged sheet on purpose: a merged file mixes posts with different columns and makes it easy to lose track of which comment came from where, and twenty separate browser downloads trigger the "allow multiple downloads?" prompt.
Each file is numbered in the order you pasted the links (01-facebook-…, 02-facebook-…) and named after the post's ID, so the folder sorts the same way as your list. Keep your original list next to it and the mapping from file to post is one glance.
- CSV — for Google Sheets, scripts and BI tools.
- Excel (.xlsx) — opens straight in Excel with emoji and non-Latin scripts intact.
- JSON — the nested structure, for developers loading it into a database or notebook.
Columns in every Facebook file
Every platform's export starts with the same core columns, so a Facebook file lines up with an Instagram or TikTok file from the same campaign:
authorandusername— the commenter's display name and short name.text— the comment as written.likesandreplies— reactions on the comment and the number of replies under it.created_at— the timestamp.idandreply_to_id— the comment's ID, and for replies, the ID of the comment it answers.avatar_url, pluslanguageandis_pinned, which stay empty or false on Facebook because Facebook doesn't expose them.
After those come the Facebook-only fields: reaction_count, a per-type reaction breakdown (reactions_love, reactions_haha, reactions_wow, reactions_sad, reactions_anger, reactions_care) where Facebook returns it, and author_id. Across a batch, the reaction mix is often a faster read on mood than the text: a post whose top comments carry mostly "haha" and "anger" reactions is telling you something before you read a word.
Replies inside a batch
Each post in the batch is fetched with its replies, and the download expands them into ordinary rows. A reply looks like any other comment except that reply_to_id holds its parent's id. Sort by that column and the threads reassemble; filter it to empty and you have the top-level comments only.
That matters more on Facebook than elsewhere, because Facebook conversations go deep. On a Page that answers customers, the Page's own replies are where the response time and tone live. A batch across a month gives you every thread from every post in one pass, which is the raw material for a response-rate report.
Five jobs that need many posts at once
A month-end audit of your own Page
Paste the month's posts, download Excel, and stack the files. Now you can count comments per post, find the questions nobody answered (top-level comments with replies at 0), spot the recurring complaints, and see which formats drew conversation rather than just reactions.
Agency reporting across client Pages
Run one batch per client so each zip maps to one report. Because no admin access is involved, you can include a client's posts before their Business Manager access has been sorted out, and the same core columns let you reuse one report template for every client.
A giveaway series
Weekly contests, or one contest posted to several Pages, need entries from every post in one place. Export the whole series, stack it, then dedupe on author_id to find people who entered more than once or to apply a "one entry per person" rule fairly. Check entries against Meta's Pages, Groups and Events policies, which set the rules for promotions run on a Page.
Competitor Page comparison
Take each competitor's last ten posts, two Pages per batch. Compare comments per post, the share of comments that are questions, and what people praise or complain about. Their comment sections are unpaid product research you can read side by side with your own.
Research on a topic or event
Researchers studying public reaction to an announcement, a news event or a policy often need the same story's posts from several outlets' Pages. A batch gives one file per outlet's post, ready to code by hand or feed to a sentiment model, with timestamps to line the reactions up against the timeline.
Stacking the files into one sheet
Separate files are the safe default, but most analysis wants one table. Two routes:
- Excel — unzip into a folder, then use Data → Get Data → From Folder. Power Query's combine-files feature appends every file and adds the source file name as a column, so each row keeps its post.
- Google Sheets — import each CSV into its own tab, then stack them on a summary tab with
={Sheet1!A2:Z; Sheet2!A2:Z; …}, adding a column with the post label before you do.
Whichever you use, add the post label first. Once the files are merged, a comment with no post column is almost impossible to trace back.
What running Facebook batches has taught us
We operate the exporter, so we see Facebook batches from the server side, and a few things keep recurring.
First, Facebook is the slowest platform to count. A single permalink can take around fourteen seconds just to report its comment total, and in a batch the slowest link used to hold the whole paste hostage. That is why a bulk paste now opens the results page immediately and lets each post report in on its own.
Second, one bad link in twenty is normal. A deleted post, a post from a closed group, a profile link instead of a post link: early on, one of those rejected the whole paste. Now the bad link is listed with its reason and the other nineteen run.
Third, the comment count shown on a Facebook post is not always the number of rows you can export. Facebook's badge can include comments that are hidden, filtered by the Page or deleted, and the file holds what is publicly readable. When a file is shorter than the badge, that is usually the reason, not a stalled export.
The link formats, the 20-link limit, the file naming and the column names above are the live product values as of this post, taken from the exporter's own code rather than from memory.
Limits worth planning around
- 20 links per paste. For a quarter of daily posts, run several batches and label each zip by week or month.
- Public posts only. Closed groups, friends-only posts and anything behind a login can't be read.
- A per-post comment ceiling. Each post in a batch is subject to the same per-post limit as a single export; a post over that limit is flagged on the results page instead of silently cut.
- Files expire. Download and archive the zip; don't treat the results page as storage.
Finally, the data. Public comments are still personal data under the GDPR when the commenters are in the EU, and Meta's Terms apply to how you use what you collect. Analyse in aggregate, keep the files somewhere access-controlled, and don't use exported names for unsolicited outreach. Exporting sends no notification to the Page or the commenters.
Bulk export Facebook comments from up to 20 posts →
Related reading: How to export Facebook comments · Facebook Page comments export for brand monitoring · How to analyze Facebook comments
