Home › Guides › Instagram Comments Scraper
Instagram comments by post or reel: top-level threads, privacy-safe, no login
The Instagram Comments Scraper returns the comments under public posts or reels — the top-level comments a signed-out visitor sees, newest first, down to the post's first comment or your limit: text, time, like count, GIF flag, and the post they stand under. Authors come as a stable per-account code by default, or as usernames on request. No login, no cookies, no account of anyone.
Who it's for
- Community and brand teams reading comment sections in bulk for sentiment, topics and volume.
- Campaign and launch researchers studying reactions across a set of posts.
- Privacy-minded researchers who want author codes instead of stored names.
- Teams running a live comment feed with only-new monitoring.
What you get
| Group | Fields |
|---|---|
| Post context | Post ID, short code, URL, owner username, Instagram's comment count (larger than the rows) |
| Comment | Comment ID, position (1 = newest), text, created time, like count, GIF flag, hidden flag |
| Author | authorCode (stable per-account HMAC); with includeAuthorNames: username, user id; verified flag |
A real row (trimmed):
{
"type": "comment",
"postShortCode": "DeJ28eTxo4s",
"postOwnerUsername": "nasawebb",
"postCommentCount": 500,
"positionInPost": 12,
"text": "…",
"createdAt": "2026-10-09T01:21:07.000Z",
"likeCount": 3,
"isGif": false,
"authorCode": "0123456789abcdef",
"authorIsVerified": false
}
Input
| Input | What it does |
|---|---|
postUrls | Post/reel addresses, short codes or ids, one per line (up to 10,000); a line that is no post gets a free status row |
maxCommentsPerPost · maxComments | Comments per post, newest first (default 1,000) · total rows |
includeAuthorNames | Off = authorCode only; on = also username + user id (default off) |
onlyNewComments · listName | Deliver only new comments, oldest first — monitoring on a schedule |
{ "postUrls": ["https://www.instagram.com/p/DeMw7vrDPS3/", "https://www.instagram.com/reel/DeCNJEyOkpq/"], "maxCommentsPerPost": 30, "includeAuthorNames": true }
Honest limits
- No replies and no reply counts — neither reach a signed-out visitor, so the Actor does not claim them.
- Fewer rows than the comment number —
postCommentCountcounts replies and unlisted comments; the posts we read listed 25–86% of it. Expected, not a defect. - Newest-first only — there is no "most liked" order; sort by
likeCountyourself. - A list can differ between readings — a comment can be missing from one reading and back in the next; to be sure, read a post whole once more without the list and merge by
commentId. - A line that is not a post, has comments off, or has no comments yet returns a free status row; a changed Instagram query fails the run at its start-up check, before anything is charged.
Pricing
Pay per result: one comment event per delivered comment row. Status rows are free, and so are comments an only-new list still remembers. A run's spending limit is honoured. Current prices are on the actor's Pricing tab on Apify.
Read comment sections in bulk: top-level comments with text, time, likes and a privacy-safe author code — newest first, no login. Exportable to JSON, CSV or Excel.
Open the Instagram Comments Scraper →Related
This Actor reads comments; for a post's own metrics use the Instagram Post & Reel Details Scraper, for a whole profile's posts the Instagram Profile Posts Scraper, for reels with a score the Instagram Reels Scraper, and for profile metrics the Instagram Profile Scraper.
Frequently asked questions
Do I need an Instagram login or cookies?
No — only the top-level comments a signed-out visitor sees. No login, no cookies, nothing from your own account.
Why are there fewer rows than the comment count?
postCommentCount counts replies (not shown to a visitor) and unlisted comments; the rows are the top-level comments Instagram lists. The posts we read listed 25 to 86% of that number.
Do I get replies?
No — neither their texts nor their number reach a signed-out visitor, so the Actor does not claim them.
Can I keep authors anonymous?
By default authors are a stable per-account HMAC code — a pseudonym kept in your account, not reversible without the key. Turn on includeAuthorNames only when you need the username and have a lawful reason.
Can I monitor a post for new comments?
Yes — turn on onlyNewComments with a listName and schedule the run; each run delivers only new comments, oldest first. A comment a list still remembers is free.
Using the data lawfully
The Actor reads only what a signed-out visitor sees. Comment texts are other people's words — they can contain sensitive information, and authors can be minors. By default the author is a per-account code (HMAC, kept in your account; a pseudonym, not anonymisation); includeAuthorNames adds the name and id. You are the controller: collect personal data only with a lawful reason, and prefer aggregate analysis over profiling individuals. Not affiliated with Instagram or Meta.
Instagram Comments Scraper — top-level comments, privacy-safe by default. Pay per row, no API key.
Get Instagram comments on Apify →