Instagram Commenters & Engaged Audience Scraper
Pricing
$1.90 / 1,000 engaged users
Instagram Commenters & Engaged Audience Scraper
Enter an Instagram username and get one row per unique person who commented on its recent posts. No post URLs needed.
Pricing
$1.90 / 1,000 engaged users
Rating
0.0
(0)
Developer
Zapticx
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Enter a username. Get people, not comments.
Most Instagram comment scrapers make you collect post URLs first. This one takes natgeo — or @natgeo, or a profile URL — finds the profile's recent posts and reels automatically, reads the comments, and returns one row per unique person.
Someone who comments five times on one post and twice on another is one row with engagementCount: 7 and postsEngagedWith: 2 — not seven rows you pay for seven times.
What you get
- One row per unique person, deduplicated by numeric Instagram user ID
- Repeat-engagement signal —
engagementCount,postsEngagedWith,isRepeatEngager - Verified and private flags on every row, so you can filter to reachable accounts
- The profile's own comments excluded by default — brands pin comments to their own posts, and you don't want the target inside its own audience list
- An honest run summary — posts scanned, duplicates removed, and how many replies existed that were not fetched
Use cases
- Competitor audience research — who actually engages with a rival brand
- Lead generation — an active commenter beats a dormant follower
- Influencer audience analysis — who shows up in the comments, and how often
- Community research — find and rank your most repeat-engaged people
- Repeat-engager identification — sort an audience by real activity
- Social media market research — sample a niche through its commenters
What this Actor does not claim
This Actor returns observed commenters from the posts sampled at run time — not followers, and not a complete audience. Instagram does not expose "everyone who engages with an account", so no follower-coverage percentage is reported and none should be inferred. Run it again tomorrow and the posts, and therefore the people, will legitimately differ.
This is not a follower scraper.
Replies are not collected in this version. The run summary always reports repliesAvailableNotFetched so you can see exactly what was left out.
Input
{"username": "natgeo","maxPosts": 3,"maxCommentsPerPost": 50}
| Field | Description |
|---|---|
username | Public Instagram profile to analyse. Accepts natgeo, @natgeo or a profile URL. Post URLs are rejected — this Actor finds the posts for you. |
maxPosts | How many of the profile's most recent posts and reels to read comments from. More posts means a larger audience and a higher cost. |
maxCommentsPerPost | Upper bound on comments read from each post. Popular posts can have thousands; this caps cost per post. Typical values: 25, 50, 100, 200. |
excludeSourceAccount | Accounts frequently comment on and pin comments to their own posts. Leave enabled so the target does not appear in its own audience list. |
includeCommentText | Adds every comment each person wrote. Off by default — this Actor is audience-focused, not comment-analysis focused. |
includeProfileDetails | Adds bio, follower counts and public email where available. Not available in this version. |
includeReplies | Not available in this version. Replies are never included in Instagram's top-level comment response; the run summary always reports how many existed. |
Output
One row per unique engaged user:
{"username": "example_user","userId": "58632251513","fullName": "Example User","profileUrl": "https://www.instagram.com/example_user/","isVerified": false,"isPrivate": false,"engagementCount": 4,"postsEngagedWith": 2,"isRepeatEngager": true,"engagementType": "comment","sourcePostUrls": ["https://www.instagram.com/p/XXXXXXXXXXX/"],"firstObservedAt": "2026-09-10T16:53:07.000Z","lastObservedAt": "2026-09-14T08:12:00.000Z","sourceUsername": "natgeo","sampledPosts": 3,"collectedAt": "2026-09-17T12:02:38.000Z"}
| Field | Meaning |
|---|---|
userId | Numeric Instagram user ID, as a string — the deduplication key |
username, fullName, profileUrl, profilePicUrl | Public profile identity |
isVerified, isPrivate | Account flags; private accounts cannot be enriched |
engagementCount | Total comments this person left across the sampled posts |
postsEngagedWith | How many distinct sampled posts they commented on |
isRepeatEngager | True when they commented more than once, or on more than one post |
sourcePostUrls | The sampled posts where they were observed |
firstObservedAt / lastObservedAt | Time window of observed engagement |
sampledPosts | How many posts this run scanned — the basis for the whole row |
Run summary
Every run writes a RUN_SUMMARY record to the key-value store with rawCommentsCollected, uniqueEngagers, duplicatesRemoved, sourceAccountCommentsExcluded, repliesAvailableNotFetched, per-post status, and:
audienceType: "observed_commenters"coverageBasis: "not_applicable_engagement_mode"
No follower-coverage percentage is reported, because engaged commenters are not a subset of followers and any such ratio would be misleading.
Export and integrate
Export to JSON, CSV or Excel, run on a schedule, or call it from the API. Two dataset views are provided: Engaged Audience (default) and Repeat Engagers.
Pricing
Pay per unique engaged user delivered. Duplicate comments and the profile's own comments are never charged — if someone comments seven times, you pay once.
Notes
- Works on public Instagram profiles. No login and no cookies required.
- Private profiles return no public posts; the run reports
no_posts_or_private_account.