Instagram Comment Scraper
Pricing
from $1.00 / 1,000 results
Instagram Comment Scraper
Extract comments and replies from any Instagram post or reel. Get comment text, usernames, timestamps, reply content, and post context. Up to 50 posts per run. (Beta)
Pricing
from $1.00 / 1,000 results
Rating
5.0
(1)
Developer

Futurize Rush
Actor stats
0
Bookmarked
4
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Extract comments and replies from any public Instagram post or reel. Get comment text, usernames, timestamps, reply content, and post context — no login required for basic extraction, with optional session support for full comment and reply access.
What data do you get?
For each comment extracted, you receive:
- Comment text — full comment content
- Commenter info — username, user ID, verified badge status, profile picture URL
- Timestamp — when the comment was posted (ISO 8601)
- Comment likes — number of likes on each comment (with Session ID)
- Reply comments — full reply content nested inside each parent comment (with Session ID)
- Reply count — how many replies each comment has
- Post context — post URL, shortcode, author username, total comment count
How to use
- Go to the Input tab
- Add Instagram post or reel URLs (up to 50 per run)
- (Optional) Add your Session ID to access all comments and replies
- (Optional) Enable Include Reply Comments to extract reply content
- Click Start and wait for the results
Accepted input formats
| Format | Example |
|---|---|
| Post URL | https://www.instagram.com/p/ABC123/ |
| Reel URL | https://www.instagram.com/reel/ABC123/ |
| Shortcode | ABC123 |
Duplicate URLs pointing to the same post are automatically removed.
Using a Session ID (optional)
By default, the scraper extracts up to ~14–16 comments per post (the number Instagram embeds in the page) without requiring any login. If you need access to all comments and replies, you can provide your Instagram Session ID.
What you get with a Session ID
| Feature | Without Session ID | With Session ID |
|---|---|---|
| Comments per post | Up to ~14–16 | Up to 100,000 (configurable) |
| Reply comments | Not available | Full reply content |
| Comment like counts | Not available | Included |
| Login required | No | Yes (cookie only) |
How to find your Session ID
Method 1 — Browser Developer Tools
- Log in to Instagram in your browser
- Open Developer Tools (F12)
- Go to Application → Cookies →
https://www.instagram.com - Find the cookie named
sessionid - Copy its value and paste it into the Session ID field
Method 2 — Cookie Editor extension
- Install a cookie editor extension for your browser (e.g., Cookie-Editor for Chrome/Firefox/Edge)
- Go to instagram.com and make sure you are logged in
- Click the extension icon
- Find the cookie named
sessionid - Copy its Value and paste it into the Session ID field
Note: Cookie editor extensions are third-party tools not affiliated with this scraper or Apify. Use them at your own discretion and only install extensions from trusted sources.
Important notes
- Your session ID is marked as secret and masked in run logs and the Apify Console
- If the session expires or is invalid, the scraper automatically falls back to anonymous mode (up to ~14–16 comments)
- Session IDs typically expire after a few days to weeks — you may need to update it periodically
- Use the Max Comments Per Post setting to control how many comments to extract (default: 200, range: 10–100,000)
- Enable Include Reply Comments to extract the full content of reply comments
Usage considerations
- Start small — We recommend testing with 1 post and a low Max Comments setting (50–100) before running larger extractions to verify your session works correctly
- Using automated tools to access Instagram may violate Instagram's Terms of Service. Use this scraper responsibly and at your own risk
- Using a Session ID means your account is being used for automated data access, which may be detected by Instagram. This could result in temporary rate limiting, session expiration, or in rare cases, account restrictions
- We strongly recommend using a secondary or dedicated account rather than your primary personal account
- The scraper includes built-in rate limiting and delays to minimize the risk of detection, but no guarantees can be made
- For large extractions (1,000+ comments), the scraper pushes results progressively — you will see data appearing in real time during the run
Output
Overview fields
| Field | Description |
|---|---|
postShortcode | Instagram shortcode identifier |
username | Commenter username |
profileUrl | Link to the commenter's Instagram profile |
text | Full comment text |
repliesCount | Number of replies to this comment |
commentLikeCount | Number of likes on this comment (requires Session ID) |
timestamp | When the comment was posted |
postUrl | Link to the original post |
Full detail fields
| Field | Type | Description |
|---|---|---|
postUrl | string | Direct URL to the Instagram post or reel |
postShortcode | string | Instagram shortcode identifier |
postOwnerUsername | string/null | Username of the post author |
postCommentCount | integer/null | Total number of comments on the post |
commentId | string/null | Unique Instagram comment identifier |
text | string | Full text of the comment (GIF comments show as [GIF] <url>) |
username | string/null | Commenter username |
profileUrl | string/null | Direct link to the commenter's Instagram profile |
userId | string/null | Commenter user ID |
isVerified | boolean | Whether the commenter has a verified badge |
profilePicUrl | string/null | URL of commenter's profile picture |
timestamp | string/null | When the comment was posted (ISO 8601) |
commentLikeCount | integer/null | Number of likes on this comment (null without Session ID) |
repliesCount | integer | Number of replies to this comment |
replies | array | Reply comments (empty without Session ID or Include Replies disabled) |
index | integer | Comment position (1-based) |
scrapedAt | string | Extraction timestamp (ISO 8601) |
Reply comment fields
Each reply in the replies array contains:
| Field | Type | Description |
|---|---|---|
id | string/null | Unique reply comment identifier |
text | string | Full text of the reply (GIF replies show as [GIF] <url>) |
ownerUsername | string/null | Reply author username |
ownerProfileUrl | string/null | Direct link to the reply author's Instagram profile |
ownerProfilePicUrl | string/null | URL of reply author's profile picture |
timestamp | string/null | When the reply was posted (ISO 8601) |
likesCount | integer/null | Number of likes on this reply |
repliesCount | integer | Always 0 (nested replies not supported) |
replies | array | Always empty |
Sample output
Post URL example (/p/)
{"postUrl": "https://www.instagram.com/p/DTvuBtXEoiB/","postShortcode": "DTvuBtXEoiB","postOwnerUsername": "instagram","postCommentCount": 10414,"commentId": "18021456789012345","text": "This is amazing content!","username": "travel_adventures","profileUrl": "https://www.instagram.com/travel_adventures","userId": "12345678","isVerified": false,"profilePicUrl": "https://instagram.example.com/...","timestamp": "2026-02-15T08:30:22.000Z","commentLikeCount": 5,"repliesCount": 0,"replies": [],"index": 1,"scrapedAt": "2026-02-23T04:01:31.984Z"}
Reel URL example (/reel/)
{"postUrl": "https://www.instagram.com/reel/DTEqIW2jDQ7/","postShortcode": "DTEqIW2jDQ7","postOwnerUsername": "andystephaniee","postCommentCount": 561,"commentId": "18076869389263485","text": "This to me looks like an insane amount of sugar.","username": "girlcooties","profileUrl": "https://www.instagram.com/girlcooties","userId": "1455671","isVerified": false,"profilePicUrl": "https://instagram.example.com/...","timestamp": "2026-01-09T14:56:18.000Z","commentLikeCount": 12,"repliesCount": 2,"replies": [{"id": "17891234567890123","text": "@girlcooties right? It never ends","ownerUsername": "maria_adventures","ownerProfileUrl": "https://www.instagram.com/maria_adventures","ownerProfilePicUrl": "https://instagram.example.com/...","timestamp": "2026-01-09T15:02:45.000Z","likesCount": 3,"repliesCount": 0,"replies": []}],"index": 1,"scrapedAt": "2026-02-23T04:01:31.984Z"}
Tips and best practices
- Batch processing — Add up to 50 posts per run for efficient extraction
- Export formats — Download results as JSON, CSV, or Excel from the dataset
- Scheduling — Set up automatic runs to track comments on posts over time
- API access — Integrate with your tools using the Apify API
- Session ID — Add your session to unlock full comment access, like counts, and replies
- Include Replies — Enable this option with a Session ID to get full reply content
Integrations
Connect your data to Google Sheets, Slack, Zapier, Make, or any tool via the Apify integrations.
Use cases
- Social listening — Monitor what people say about brands, products, or topics
- Sentiment analysis — Analyze comment tone and keywords at scale
- Competitor research — Track audience reactions to competitor content
- Content strategy — Understand which posts generate the most engaging discussions
- Influencer marketing — Evaluate comment quality and engagement authenticity
FAQ
How many comments are extracted per post? Without a Session ID, up to ~14–16 comments are extracted per post (the number Instagram embeds in the page — posts with fewer comments will yield fewer results). With a Session ID, you can extract up to 100,000 comments per post using the Max Comments setting. Note that the actual number of comments extracted may be lower than the Max Comments setting or the total count shown on the post — Instagram's API controls how many comments are available for retrieval, and this can vary between runs.
Does this scraper need an Instagram account? Not for basic use. It extracts up to ~14–16 comments per post without any login. A Session ID (from a logged-in Instagram account) is needed to access all comments, reply content, and like counts.
What happens if my Session ID expires? The scraper automatically falls back to anonymous mode and extracts up to ~14–16 comments. You'll see a note in the run log.
What happens if a post is private or deleted? Private and deleted posts are automatically skipped with a warning in the logs. The scraper continues processing remaining posts.
What happens if the scraper is rate limited? If Instagram rate-limits the request mid-extraction, the scraper returns all comments collected so far as partial results rather than failing entirely. You'll see a note in the run log.
Can I scrape reply comments (nested comments)?
Yes! Enable the Include Reply Comments option and provide a Session ID. Each top-level comment will include its replies in the replies array with full text, username, timestamp, and like count.
How long does it take for large posts? Extraction speed depends on the number of comments and whether replies are included. Enabling replies will take longer depending on how many comments have replies. Results appear progressively during the run — you don't need to wait until it finishes to start seeing data.
Disclaimer
This tool is provided for educational and research purposes only. Users are solely responsible for ensuring their use complies with Instagram's Terms of Service and all applicable laws and regulations.
By using this scraper, you acknowledge that:
- Automated data collection from Instagram carries inherent risks, including potential account restrictions or suspension
- Providing a Session ID means authorizing this tool to make requests on behalf of your Instagram account. Instagram may classify this activity as automated access
- The developers of this tool are not responsible for any consequences resulting from its use, including but not limited to account restrictions, data loss, or legal liability
- You should use this tool ethically and responsibly, respecting the privacy and rights of content creators and commenters
- Extracted data should be handled in compliance with applicable data protection regulations
#instagram #comments #scraper #social-media #replies #apify #claude-code #codex #gemini #openclaw #antigravity