Export the whole comment section — replies, authors, timestamps, likes, thread structure — from Facebook, YouTube, TikTok, Instagram or X. It runs inside the tab you already have open, under your own session. The comments never leave your browser: they are read on the page and written straight to your file. An account is only needed to lift the free limit.
Works on
There is no URL to paste, no scraper to configure and no credentials to hand over. The exporter reads the comment data the page is already receiving, in the tab you are already looking at.
Signed in as you normally are. The panel appears by itself, minimized, in that platform's own colours, as soon as comments load.
Pick CSV or JSON and whether to include replies. Progress, current action and a Stop button stay on screen the whole way. Stopping still saves what was gathered.
A plain-text account of what happened: what the platform claims, what was exported, and every shortfall named. Paste it beside the file as your evidence.
The one technical thing worth knowing: it does not simulate a human scrolling forever. It reads each platform's own comment requests and replays them by template, so tokens and credentials never leave the page. On one live run that turned a reply phase of roughly half an hour into about a second. How long any particular post takes depends on the platform, its pacing and how much it will serve.
One schema across all five platforms, so a Facebook export and an X export stack in the same dataframe without a mapping step.
Thread structure survives the export: parent_comment_id points at
the comment being answered, so any thread rebuilds exactly.
| author | text | depth | parent_comment_id | likes | createdTime |
|---|---|---|---|---|---|
| Amina R. | Where are the results for Basilan? | 0 | — | 34 | 2026-09-14T02:11:07Z |
| Datu K. | Still partial, 61% of ERs in | 1 | Y29tbWVudDo3…MjE | 12 | 2026-09-14T02:14:52Z |
| J. Mendoza | Source? COMELEC page says otherwise | 1 | Y29tbWVudDo3…MjE | 3 | 2026-09-14T02:19:31Z |
post_url, post_id, post_author, exported_at, account_id, comment_id, parent_comment_id, depth, isReply, author, profileUrl, text, createdTime, likes, replyCount
Copied to your clipboard in one press, in plain words. This is the part most exporters do not give you.
A run interrupted twenty minutes in picks up from its checkpoint instead of starting the whole post again.
Stopping writes the file with everything gathered so far, and marks it PARTIAL so nobody mistakes it for the whole set.
Cells beginning = +
- @ are neutralised, so a comment cannot
execute when the file opens.
Each one gives up its comments differently, and each one holds something back. Here is exactly what to expect before you plan a collection round.
Every exporter hits walls. The difference is whether it tells you. This one marks the run PARTIAL, names the reason in the report, and puts the shortfall in front of you before you build an argument on top of it.
A thread that was opened but not read to its end counts as incomplete. So does a refused request, a rate limit, and pressing Stop. The rule holds identically on all five platforms.
A thread was opened but its last page never arrived.
The platform answered the request with an error or an empty page.
The platform asked for a pause. The run stops rather than hammering it.
You pressed Stop. Everything gathered is still written out.
Hidden, spam-collapsed, blocked or deleted — counted by the platform, never sent.
Only what your own signed-in session can already open. There is no privileged access, and no way to reach a post you could not view yourself in that tab.
No posting, liking, following or messaging. It clicks only the controls that expand comments, and never anything sitting inside a link.
No uploads of what you export, no analytics, no tracking. Your YouTube API key stays in your own browser storage. Accounts and payments do use services — Google to sign in, Supabase to hold your account, PayMongo to take payment — and none of them are told which posts you export, or that you exported anything.
When a platform slows you down or refuses, the run ends and says why. Waiting is the only remedy it offers, because it is the only honest one.
No. It never asks for, reads or stores a password, session cookie or login token for any platform. It works inside the session your browser already has, the same way the page itself does.
It is possible, and worth saying plainly. Reading a platform's own requests at speed can breach that platform's terms even when the comments are public, and every platform is free to act on that. The exporter paces itself, stops the moment it is rate limited and never retries aggressively — but the judgement about whether to run it, and on whose account, is yours.
For YouTube, yes. Create a project in the Google Cloud console, enable the YouTube Data API v3, generate an API key and paste it into the panel once. It is stored in your own browser and used only to call YouTube. The other four platforms need no key at all.
Because the number under the post is not a count of comments you can read. It includes comments hidden by the page, ones collapsed as spam, ones from accounts that have blocked you, and ones since deleted. Facebook counts them and then declines to send them. The report gives you both numbers and the gap between them, which is the honest thing to publish beside a dataset.
Nothing is lost that was already written, and on Facebook a checkpoint lets the next run resume rather than restart. Pressing Stop is cleaner: it writes the file immediately with everything gathered and marks it PARTIAL.
Your Downloads folder, and nowhere else. Our server is only ever asked whether your pass is current; no comment, post or file is ever sent to it. Settings, your YouTube key, the resume checkpoint and a short local run history live in your browser's own extension storage, which the web pages you visit cannot read. Uninstalling removes all of it. Full privacy policy.
If you can open the post and read its comments in your browser, the exporter can read the same thing. If you cannot, neither can it. Being an admin of the page or a member of the group is what grants the access — the extension adds none of its own.
Through an unlisted Chrome Web Store listing: everyone with the link can install it and get updates automatically, and it is not indexed or browsable by anyone else. For testing before that, the repository loads directly as an unpacked extension.
One install, no configuration, and everyone's exports come out with the same columns and the same honesty about what is missing.
Chrome and Edge, desktop. Free up to 200 comments per post. A pass lifts the cap for 30 days or a year — it does not renew itself, and you are never charged again without asking. Pay with GCash, Maya, GrabPay, QR Ph or a card.