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

What you get

GroupFields
Post contextPost ID, short code, URL, owner username, Instagram's comment count (larger than the rows)
CommentComment ID, position (1 = newest), text, created time, like count, GIF flag, hidden flag
AuthorauthorCode (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

InputWhat it does
postUrlsPost/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 · maxCommentsComments per post, newest first (default 1,000) · total rows
includeAuthorNamesOff = authorCode only; on = also username + user id (default off)
onlyNewComments · listNameDeliver 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

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 →