Instagram Comment Scraper With Lead Generator avatar

Instagram Comment Scraper With Lead Generator

Pricing

$24.99/month + usage

Go to Apify Store
Instagram Comment Scraper With Lead Generator

Instagram Comment Scraper With Lead Generator

Scrape Instagram post comments with the Instagram Comments Scraper. Extract usernames, comment text, likes, replies, and timestamps. Ideal for engagement analysis, sentiment tracking, and audience insights. Fast, reliable, and scalable for single posts or bulk scraping.

Pricing

$24.99/month + usage

Rating

1.0

(1)

Developer

Scrapier

Scrapier

Maintained by Community

Actor stats

0

Bookmarked

79

Total users

5

Monthly active users

8 hours ago

Last modified

Share

πŸ’¬ Instagram Comments Scraper Pro

Extract comments and replies from Instagram posts and reels β€” with real sort order, filtering, reply-of-reply threading, monitoring, commenter profile enrichment, and optional AI classification. Built for social listening, community management, moderation, comment lead-generation, and audience research.

This actor collects publicly available comment data via Instagram's internal GraphQL endpoints. It runs anonymously by default (no login required) and falls back through datacenter β†’ residential proxies automatically when a post is blocked.

What it extracts

Each dataset row is a single comment or reply, labelled so you can tell them apart:

FieldDescription
idComment/reply ID (Instagram pk)
type / isReplycomment or reply; boolean isReply
parentCommentId / depthParent comment ID for replies; thread depth (0 = top-level)
textComment text
timestampISO-8601 UTC post time (or null if Instagram omits it β€” never fabricated)
ownerUsername / ownerFullName / ownerIsVerifiedReal commenter identity from the payload
ownerProfilePicUrlCommenter profile picture URL
likesCount / repliesCountEngagement counts
commentUrl / postUrlDeep links to the comment and the source post
ownerFull owner object with real payload fields (null where Instagram does not provide them)
scrapedAtWhen the row was scraped (ISO-8601)

Optional β€” commenter enrichment (enrichCommenters): commenterFollowers, commenterBio, commenterExternalUrl, commenterIsBusiness, commenterCategory, commenterEmails[], commenterPhones[] (emails/phones regex-extracted from the public bio). Real values or null.

Optional β€” AI analysis (aiEnhancement): sentiment, emotion, intent, toxicityScore, language per comment.

Input options

OptionTypeDescription
directUrlsarrayInstagram post/reel URLs (/p/, /reel/, /tv/). Required.
maxCommentsintegerMax top-level comments per post (1–500). Replies are counted separately.
includeNestedCommentsbooleanCollect replies.
maxRepliesPerCommentintegerMax replies per comment (0–50).
maxReplyDepthintegerReply-of-reply descent depth (1–5).
sortOrderenumpopular or recent β€” maps to the real GraphQL sort order.
flatRepliesbooleanOn: replies as separate rows (+ mirrored to a per-run replies dataset). Off: nested replies[].
keywords / excludeKeywordsarrayKeep/drop by text (case-insensitive).
minLikesintegerMinimum likes.
verifiedOnlybooleanOnly verified commenters.
newerThanDatedateAbsolute (2025-01-01) or relative (7 days).
onlyNewCommentsbooleanMonitoring: emit only comments unseen in prior runs (per post).
enrichCommenters / maxEnrichedCommentersboolean / integerFetch commenter profiles; cap unique lookups.
aiEnhancement / aiModel / aiApiKeyboolean / enum / secretOptional multi-provider AI classification.
sessionIdsecretOptional Instagram sessionid cookie for more stable access.
proxyConfigurationproxyOptional proxy.

Example input

{
"directUrls": ["https://www.instagram.com/p/DN8-GjPkgjS/"],
"maxComments": 10,
"includeNestedComments": true,
"maxRepliesPerComment": 3,
"sortOrder": "recent",
"flatReplies": true,
"minLikes": 1
}

Example output row

{
"id": "17907664950429082",
"type": "comment",
"isReply": false,
"parentCommentId": null,
"depth": 0,
"timestamp": "2026-06-02T04:22:56.000Z",
"text": "Instagram Logo Legend ✊",
"ownerUsername": "elyorbek_hujjat_hojiyev",
"ownerFullName": null,
"ownerIsVerified": false,
"likesCount": 1,
"repliesCount": 0,
"commentUrl": "https://www.instagram.com/p/DN8-GjPkgjS/c/17907664950429082",
"postUrl": "https://www.instagram.com/p/DN8-GjPkgjS/",
"scrapedAt": "2026-07-02T12:00:00.000Z"
}

How counting works

maxComments caps top-level comments only. Replies are additional and bounded by maxRepliesPerComment per comment. Example: maxComments=10 + maxRepliesPerComment=3 β†’ up to 10 comments and up to 30 replies.

Limits & notes

  • Real hard cap is 500 top-level comments per post.
  • Timestamps are emitted as null when Instagram omits them β€” values are never fabricated.
  • Comments are de-duplicated by ID within a run.
  • Output is available both as a Dataset (one row per comment/reply) and as a single JSON array under the key-value-store key OUTPUT. When flatReplies is on, replies are also mirrored to a per-run dataset named instagram-comments-replies-<runId>.

Only public comment data is collected. Review Instagram's Terms of Service and applicable data-protection law (e.g. GDPR) before scraping. Use for research, analytics, and moderation.

Keywords

instagram comments scraper, instagram reels comments, comment extractor, social listening, sentiment analysis, comment monitoring, instagram lead generation, reply scraper, instagram graphql, audience research, comment export json csv, instagram engagement data.