This is the first article on the site, and it is here to do a job: rank for people searching how to run this exact task, and send them to the tool. Rewrite it in your own voice with your own screenshots before you publish. What follows is the structure that works, filled in with real advice.
Step 1: get the comments out of Instagram
There are only two routes that do not put your account at risk.
If it is your own post, use the Graph API
A Business or Creator account connected to a Facebook Page can request its own media through the Instagram Graph API. The endpoint you want is /{media-id}/comments, which returns each commenter's username and text as JSON, and can include replies. Paste that JSON straight into the tool — it reads the fields directly, so nothing gets garbled.
Setting up a Meta developer app for the first time takes an afternoon. If you run giveaways regularly, it is the afternoon best spent, because after that the export is one request.
Otherwise, copy from the web
Open the post at instagram.com on a desktop browser. Click "Load more comments" until every comment is on screen — on a post with thousands, this takes a while and a lot of scrolling. Then select the comment area and copy it.
What you get is messy: a username on one line, the comment on the next, then a timestamp, then "Reply", then a like count. The parser strips that noise automatically, in English and Indonesian. Paste it in and check the entry count against what Instagram reports.
What to avoid
Browser extensions and scraper services that promise to export comments automatically are working against Meta's terms of use, and the accounts that use them do get restricted. Losing the account you run promotions from is a bad trade for saving twenty minutes of scrolling.
Step 2: decide what counts as an entry
Settle this before you draw, and say it in the original post. The two honest options:
| Rule | What it means | Use when |
|---|---|---|
| One entry per person | Duplicate handles merge; commenting fifty times gets you one ticket | Default. Cleanest to defend. |
| One entry per comment | Every comment is a ticket, so more comments means better odds | You explicitly promised more entries for more actions. Set a cap. |
The trouble with uncapped per-comment entries is that a single determined person can post four hundred comments and take over the pool, which looks rigged even when it is not. If you use that mode, cap it at three or five and say so.
Step 3: apply the rules you actually announced
Only filter on rules that were in the original post. Adding a requirement afterwards to exclude someone is the fastest way to lose an audience. Common ones worth enforcing:
- Tag two friends. Mentions in the comment are counted, and duplicates of the same handle only count once.
- Include a keyword like "done" or "ikutan", which filters out passers-by who just said "nice".
- Exclude your own accounts — the brand account, staff, anyone who cannot receive the prize.
Whatever gets filtered out shows up in the skipped list with a reason. Read it once before drawing. If the number looks too high, the parser has probably misread the format, not caught four hundred cheaters.
Step 4: draw, and keep the receipt
Here is the part most tools skip. A random winner is easy; a provable winner is what stops the argument in the replies.
Every draw here prints a seed and a fingerprint of the entry list. Those two values plus your comment list reproduce the same winner, every time, on anyone's computer. So post them:
Winner: @handle. Drawn from 1,284 entries, pool GH4K2M, seed 8XQ2NR4P1. Same list, same seed, same winner — check it yourself.
Screen-recording the draw helps too, but a recording only shows that something happened. A seed lets a sceptic redo the draw themselves. Announce backups in the same post while you are at it — you will need one, because a good share of winners never reply.
Step 5: contact the winner without getting scammed on
Reply publicly under the original post and ask the winner to message you, rather than messaging them first. Scam accounts watch giveaways and DM the announced winner within minutes pretending to be the brand, usually asking for a "shipping fee". Saying plainly in the announcement that you will never ask for payment saves somebody real money.
Give a deadline — 48 hours is normal — and name the backup who takes the prize if that deadline passes.
Common questions
Does this work for Threads?
Yes. Threads replies copy out in the same shape, and the parser handles them identically.
How many comments can it handle?
Tens of thousands. It all runs in your browser, so the limit is your device's memory, not a server.
Is the randomness actually random?
The seed comes from your browser's cryptographic random number generator, and the draw derives from that seed. Every entry has the same chance. The reproducible part is deliberate — it is what makes the result checkable, and it does not make it predictable, because you cannot know the seed until after it is generated.
Can I draw more than one winner?
Yes, plus backups, all in the same round. Nobody can win twice.