Instagram Comment Scraper avatar

Instagram Comment Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Instagram Comment Scraper

Instagram Comment Scraper

Extract comments and replies from any Instagram post or reel. Get comment text, usernames, timestamps, reply content, and post context. (Beta)

Pricing

from $1.00 / 1,000 results

Rating

5.0

(2)

Developer

Rush

Rush

Maintained by Community

Actor stats

4

Bookmarked

214

Total users

22

Monthly active users

13 hours

Issues response

a day ago

Last modified

Share

Extract comments and replies from public Instagram posts and reels. Get comment text, usernames, timestamps, reply content, and post context. Public previews are supported when Instagram makes them available, and optional session support helps access deeper comment and reply data.

Features

  • Public preview or deeper access — works without login when Instagram offers a public preview, or with your Session ID for more comments, replies, and like counts
  • Comments and nested replies — top-level comments plus reply threads (with a Session ID)
  • Rich comment data — text, author, verified badge, profile picture, timestamp, and like counts
  • Real-time results — comments are saved progressively as they are collected, so you see data during the run
  • Batch processing — up to 50 posts or reels per run
  • Resume-safe — automatically continues where it left off after a platform restart

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 — available 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

  1. Go to the Input tab
  2. Add Instagram post or reel URLs (up to 50 per run)
  3. (Optional) Add your Session ID to access more comments and replies
  4. (Optional) Enable Include Reply Comments to extract available reply content
  5. Click Start and wait for the results

Accepted input formats

FormatExample
Post URLhttps://www.instagram.com/p/ABC123/
Reel URLhttps://www.instagram.com/reel/ABC123/
ShortcodeABC123

Duplicate URLs pointing to the same post are automatically removed.

Input example

{
"postUrls": ["https://www.instagram.com/reel/DTEqIW2jDQ7/"],
"sessionId": "YOUR_INSTAGRAM_SESSIONID_COOKIE",
"maxComments": 200,
"includeReplies": false
}

Using a Session ID (optional)

By default, the scraper extracts the public comment preview Instagram makes available without requiring any login. If you need deeper comment access, reply extraction, or comment like counts, you can provide your Instagram Session ID.

What you get with a Session ID

FeatureWithout Session IDWith Session ID
Comments per postPublic preview when availableConfigurable with Max Comments
Reply commentsNot availableAvailable reply content
Comment like countsShown as 0Real counts
Login requiredNoYes (cookie only)

How to find your Session ID

Method 1 — Browser Developer Tools

  1. Log in to Instagram in your browser
  2. Open Developer Tools (F12)
  3. Go to ApplicationCookieshttps://www.instagram.com
  4. Find the cookie named sessionid
  5. Copy its value and paste it into the Session ID field

Method 2 — Cookie Editor extension

  1. Install a cookie editor extension for your browser (e.g., Cookie-Editor for Chrome/Firefox/Edge)
  2. Go to instagram.com and make sure you are logged in
  3. Click the extension icon
  4. Find the cookie named sessionid
  5. 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 continues with the public preview
  • Session IDs may expire over time — you may need to update it periodically
  • Use the Max Comments Per Post setting to control how many comments to save (default: 200, range: 10–100,000)
  • Enable Include Reply Comments to extract available 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
  • Automated activity may be flagged by Instagram and can lead to temporary limits or, in more serious cases, restrictions on an account — please use this scraper thoughtfully and avoid excessive back-to-back runs
  • Using a Session ID means your account is being used for automated data access. This can result in temporary rate limiting, session expiration, or in more serious cases account restrictions
  • We strongly recommend using a secondary or dedicated account rather than your primary personal account
  • The scraper is designed to process data gradually and saves results as it goes
  • 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

FieldDescription
postShortcodeInstagram shortcode identifier
usernameCommenter username
profileUrlLink to the commenter's Instagram profile
textFull comment text
repliesCountNumber of replies to this comment
commentLikeCountNumber of likes on this comment (requires Session ID)
timestampWhen the comment was posted
postUrlLink to the original post

Full detail fields

FieldTypeDescription
postUrlstringDirect URL to the Instagram post or reel
postShortcodestringInstagram shortcode identifier
postOwnerUsernamestring/nullUsername of the post author
postCommentCountinteger/nullTotal number of comments on the post
commentIdstring/nullUnique Instagram comment identifier
textstringFull text of the comment (GIF comments show as [GIF] <url>)
usernamestring/nullCommenter username
profileUrlstring/nullDirect link to the commenter's Instagram profile
userIdstring/nullCommenter user ID
isVerifiedbooleanWhether the commenter has a verified badge
profilePicUrlstring/nullURL of commenter's profile picture
timestampstring/nullWhen the comment was posted (ISO 8601)
commentLikeCountinteger/nullNumber of likes on this comment (shown as 0 without a Session ID; real counts with one)
repliesCountintegerNumber of replies to this comment
repliesarrayReply comments (empty without Session ID or Include Replies disabled)
indexintegerComment position (1-based)
scrapedAtstringExtraction timestamp (ISO 8601)

Reply comment fields

Each reply in the replies array contains:

FieldTypeDescription
idstring/nullUnique reply comment identifier
textstringFull text of the reply (GIF replies show as [GIF] <url>)
ownerUsernamestring/nullReply author username
ownerProfileUrlstring/nullDirect link to the reply author's Instagram profile
ownerProfilePicUrlstring/nullURL of reply author's profile picture
timestampstring/nullWhen the reply was posted (ISO 8601)
likesCountinteger/nullNumber of likes on this reply
repliesCountintegerAlways 0 (nested replies not supported)
repliesarrayAlways 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

  • 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

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, the scraper extracts the public preview available for that post when Instagram provides one, up to your Max Comments setting. With a Session ID, the scraper can extract more comments according to the Max Comments setting. The actual number of comments extracted may be lower than the Max Comments setting or the total count shown on the post because Instagram controls what is available for retrieval.

Does this scraper need an Instagram account? Not when a public preview is available. A Session ID from a logged-in Instagram account is needed for deeper comment access, reply content, and like counts.

What happens if my Session ID expires? The scraper continues with the public preview. 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 temporarily limits access during extraction, the scraper saves the comments already collected and shows 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 available replies in the replies array with text, username, timestamp, and like count when Instagram makes those fields available.

Do I have to wait for the whole run to finish? No — comments are saved progressively as they are collected, so you can start using the results while the run is still in progress. Enabling replies collects additional reply content for each comment.

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

Keywords: Instagram comment scraper, Instagram comments export, extract Instagram comments, Instagram reel comments, comment scraper, social media data, audience insights, Claude Code, OpenClaw, Gemini, Antigravity, Codex, ChatGPT