Instagram Comment Scraper With Lead Generator
Pricing
$24.99/month + usage
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
Maintained by CommunityActor stats
0
Bookmarked
79
Total users
5
Monthly active users
8 hours ago
Last modified
Categories
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:
| Field | Description |
|---|---|
id | Comment/reply ID (Instagram pk) |
type / isReply | comment or reply; boolean isReply |
parentCommentId / depth | Parent comment ID for replies; thread depth (0 = top-level) |
text | Comment text |
timestamp | ISO-8601 UTC post time (or null if Instagram omits it β never fabricated) |
ownerUsername / ownerFullName / ownerIsVerified | Real commenter identity from the payload |
ownerProfilePicUrl | Commenter profile picture URL |
likesCount / repliesCount | Engagement counts |
commentUrl / postUrl | Deep links to the comment and the source post |
owner | Full owner object with real payload fields (null where Instagram does not provide them) |
scrapedAt | When 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
| Option | Type | Description |
|---|---|---|
directUrls | array | Instagram post/reel URLs (/p/, /reel/, /tv/). Required. |
maxComments | integer | Max top-level comments per post (1β500). Replies are counted separately. |
includeNestedComments | boolean | Collect replies. |
maxRepliesPerComment | integer | Max replies per comment (0β50). |
maxReplyDepth | integer | Reply-of-reply descent depth (1β5). |
sortOrder | enum | popular or recent β maps to the real GraphQL sort order. |
flatReplies | boolean | On: replies as separate rows (+ mirrored to a per-run replies dataset). Off: nested replies[]. |
keywords / excludeKeywords | array | Keep/drop by text (case-insensitive). |
minLikes | integer | Minimum likes. |
verifiedOnly | boolean | Only verified commenters. |
newerThanDate | date | Absolute (2025-01-01) or relative (7 days). |
onlyNewComments | boolean | Monitoring: emit only comments unseen in prior runs (per post). |
enrichCommenters / maxEnrichedCommenters | boolean / integer | Fetch commenter profiles; cap unique lookups. |
aiEnhancement / aiModel / aiApiKey | boolean / enum / secret | Optional multi-provider AI classification. |
sessionId | secret | Optional Instagram sessionid cookie for more stable access. |
proxyConfiguration | proxy | Optional 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
nullwhen 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. WhenflatRepliesis on, replies are also mirrored to a per-run dataset namedinstagram-comments-replies-<runId>.
Legal / compliance
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.