Instagram Comments Scraper - No Login, No Cookies
Pricing
from $0.50 / 1,000 comments
Instagram Comments Scraper - No Login, No Cookies
Scrape every top-level comment from public Instagram posts and reels without an account or cookies. Comment text, author username, verified flag, timestamp, likes and a direct comment link, plus a per-post coverage report so a blocked post is never mistaken for an empty one.
Pricing
from $0.50 / 1,000 comments
Rating
0.0
(0)
Developer
ApifyActors
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Instagram Comments Scraper — no login, no cookies
Pull every top-level comment from public Instagram posts and reels, without an account, without cookies and without a browser. Paste post links, get one clean row per comment.
What it does that the others don't
- No account at risk. It reads comments the way Instagram's own logged-out page does. There is no session to buy, rotate or get banned.
- A blocked post is never an empty post. Instagram sometimes throttles a reader, and sometimes ends a comment list early while looking finished. This actor resumes a throttled post from where it stopped, re-reads a list that ended suspiciously short, and if a post still yields nothing it comes back as an error row, unbilled, rather than as zero comments.
- Coverage you can check. For every post the run records the comment count Instagram
shows, how many comments were collected, and why collection stopped (
COVERAGEin the run's key-value store). - Failed posts cost nothing. Deleted, private, age-gated or region-blocked posts and non-post links come back as free error rows.
What it does not do
- Replies are not included. Instagram serves replies only to logged-in viewers, and this actor never logs in. You get every top-level comment. The count Instagram displays on a post includes replies, so expect the collected number to sit somewhat below it — on our test posts top-level comments were 77–95% of the displayed count.
- Commenter display names are not included — Instagram does not send them to logged-out viewers. You get the username, user id and verified flag.
- It reads posts you give it. It does not search, crawl profiles or discover posts.
Input
| Field | What it does |
|---|---|
startUrls | Post or reel links (/p/…, /reel/…, /tv/…, with or without the account name), or bare shortcodes |
maxCommentsPerPost | 0 for every top-level comment, or a cap to control spend on viral posts (newest first) |
{"startUrls": ["https://www.instagram.com/p/DeJ28eTxo4s/", "https://www.instagram.com/reel/DeAYvsnn4la/"],"maxCommentsPerPost": 0}
Output
One row per comment:
{"post_url": "https://www.instagram.com/p/DeJ28eTxo4s/","shortcode": "DeJ28eTxo4s","comment_id": "18000000000000000","comment_url": "https://www.instagram.com/p/DeJ28eTxo4s/c/18000000000000000/","text": "Incredible shot!","author_username": "example_user","author_url": "https://www.instagram.com/example_user/","author_id": "1234567890","author_is_verified": false,"is_post_owner": false,"created_at": "2026-10-20T14:03:11.000Z","likes": 12,"has_gif": false,"post_comment_count": 2140}
is_post_owner— the comment was written by the account that published the post.post_comment_count— the count Instagram displays on the post (replies included).has_gif— a GIF-only comment has emptytextandhas_gif: true.
Error rows (free) look like {"type": "error", "post_url": "…", "error": "post_not_found_404"}.
Pricing
You pay per comment collected. Error rows and posts with no comments cost nothing.
Tips
- Comments arrive newest first. To sample a viral post cheaply, set
maxCommentsPerPost. - Links copied from the app with tracking parameters (
?igsh=…) work as they are. - Large posts take longer: Instagram serves 10–15 comments per page, so a post with 5,000 comments needs a few hundred page reads. Several posts in one run are read in parallel.