Instagram Comments Scraper - No cookies avatar

Instagram Comments Scraper - No cookies

Pricing

from $1.50 / 1,000 comments

Go to Apify Store
Instagram Comments Scraper - No cookies

Instagram Comments Scraper - No cookies

Scrape comments from public Instagram posts, reels, and videos. Get clean JSON with text, likes, and timestamps — no authentication needed.

Pricing

from $1.50 / 1,000 comments

Rating

0.0

(0)

Developer

Rogde

Rogde

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

6 hours ago

Last modified

Share

Instagram Post Comments Scraper

📌 Overview

The Instagram Post Comments Scraper extracts comments from any public Instagram post, reel, or video — no login or cookies required. Simply provide a post URL and receive clean, structured JSON data for every comment, complete with engagement metrics and timestamps.

Whether you're doing sentiment analysis, brand monitoring, audience research, or competitive intelligence, this Actor gives you instant access to Instagram comment data at scale.


🚀 Features

  • No authentication required — works with all public posts ✅
  • Supports all post types/p/, /reel/, and /tv/ URLs
  • Rich comment metadata — text, like counts, timestamps, and more
  • Pagination support — scrape hundreds or thousands of comments
  • Resume capability — use cursor to continue from where you left off (paid users)
  • Lightweight & fast — optimized for high-volume comment extraction
  • Free tier available — try before you subscribe

🔧 How It Works

  1. Paste a public Instagram post URL (any /p/, /reel/, or /tv/ link)
  2. Set a max items limit (optional, default: 12)
  3. Optionally provide a cursor to resume a previous scrape
  4. The scraper fetches pages of comments and returns structured JSON
  5. Paid users receive a final cursor record to resume in future runs

📥 Input Parameters

ParameterTypeRequiredDefaultDescription
post_urlString✅ YesFull Instagram post URL. Supports /p/, /reel/, and /tv/ formats
max_itemsInteger❌ No12Maximum number of comments to scrape (minimum: 12)
cursorString❌ NoPagination cursor from a previous run to resume scraping from that point. Leave empty to start fresh

Example Input

{
"post_url": "https://www.instagram.com/reel/DHnMo4KoIqD/",
"max_items": 100
}

Supported URL Formats

https://www.instagram.com/p/DHnMo4KoIqD/
https://www.instagram.com/reel/DHnMo4KoIqD/
https://www.instagram.com/tv/DHnMo4KoIqD/

📤 Output Data Structure

The dataset contains two record types: post metadata (one record per run) and comments (one record per comment).

🗂️ Record Types

record_typeDescription
post-metadataSummary info about the scraped post (appears once)
commentIndividual comment record
cursor-dataPagination cursor for resuming (paid users only)

📋 Post Metadata Record

FieldTypeDescription
record_typeStringAlways "post-metadata"
idStringUnique Instagram media ID
codeStringInstagram shortcode (used in post URLs)
urlStringDirect link to the post on Instagram
captionStringPost caption text including hashtags
comment_countIntegerTotal number of comments on the post
like_countIntegerTotal number of likes on the post
post_timeStringISO 8601 timestamp of when the post was created
scraped_atStringISO 8601 timestamp of when the data was scraped

📦 Example Post Metadata Record

{
"record_type": "post-metadata",
"id": "3595898413123668611_56114511320",
"code": "DHnMo4KoIqD",
"url": "https://www.instagram.com/reel/DHnMo4KoIqD/",
"caption": "HE KNOWS… #qoqsik #portugal #irl #kickstreaming #twitch #streaming #kick",
"comment_count": 1489,
"like_count": 227195,
"post_time": "2025-03-25T06:35:00+00:00",
"scraped_at": "2026-04-15T13:39:48.888672+00:00"
}

💬 Comment Record

FieldTypeDescription
record_typeStringAlways "comment"
idStringUnique Instagram comment ID
textStringComment text content (may be empty for emoji-only)
like_countIntegerNumber of likes the comment received
comment_timeStringISO 8601 timestamp of when the comment was posted
scraped_atStringISO 8601 timestamp of when the comment was scraped

📦 Example Comment Records

{
"record_type": "comment",
"id": "18124535755596209",
"text": "Im in love 😍😍",
"like_count": 80,
"comment_time": "2026-04-03T21:47:15+00:00",
"scraped_at": "2026-04-15T13:39:54.343066+00:00"
}
{
"record_type": "comment",
"id": "18077509748435479",
"text": "I thought she was innocent but 🙂",
"like_count": 137,
"comment_time": "2026-04-03T11:10:16+00:00",
"scraped_at": "2026-04-15T13:39:54.401714+00:00"
}

🔖 Final Cursor Record (paid users only)

The last record in the dataset contains pagination metadata for resuming:

{
"record_type": "cursor-data",
"cursor": "IntcImNhY2hlZF9jb21tZW50c19jdXJzb3JcIjpcIjE4MTI1MDU1NTExNTIwMTkzXCIsXCJiaWZpbHRlcl90b2tlblwiOlwiR2dZWTRRUUJFZ0RRQUNnQUdBQVFBQWdBQ0FBSUFBZ0FDQUFCQVFFQkFRRUJBUUVBQVFFQkFRRUJBUUFCQVFBQkFRRUJBQUVCQVFFQkFRRUFBUUFCQUFFQkFRRUJBUUVCQVFFQUFRRUJBUUFCQVFBQUFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBQUVBQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBQUVCQUFFQkFRRUJBUUVCQVFFQkFRRUJBQUVCQUFBQkFRRUJBUUVCQUFFQkFRRUJBUUVCQUFFQkFRRUJBUUVCQVFFQkFBRUJBUUVBQUFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRQUJBUUVCQVFFQkFRQUJBQUVCQUFBQkFRRUJBUUVCQVFFQkFBRUJBUUVCQVFBQUFRQUJBQUFCQVFBQUFRQUJBUUVBQUFBQUFBQUJBQUVCQVFBQkFBRUFBUUFCQVFFQUFRQUJBUUFBQVFFQUFBRUJBUUFCQVFFQUFRRUFBUUVCQVFBQkFBQUJBQUFBQVFFQUFRQUJBUUFCQVFFQUFRRUJBUUVCQVFFQkFBRUJBUUVCQVFFQkFRQUJBUUVBQVFFQkFRRUJBUUVCQVFBQkFRRUFBUUVCQVFFQkFRRUJBUUVBQVFFQkFRRUJBUUVCQVFFQkFRQUJBUUFCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUFCQVFFQkFBRUFBUUVCQVFFQkFRRUJBUUFCQVFFQkFRRUJBUUVCQVFFQkFBRUJBUUVCQVFFQkFRRUJBQUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQUFFQkFRRUJBUUVBQVFFQkFRRUFBUUVCQVFBQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFBQkFRRUFBUUFCQUFFQUFRRUJBUUVBQVFFQUFBRUFBUUFCQVFBQUFBQUJBUUVBQVFBQkFRQUFBUUFCQVFFQUFBRUFBUUFBQVFBQUFBRUFBUUFCQUFFQUFBRUFBQUVBQUFBQUFBQUFBQUVBQUFBQVwifSI="
}

🔁 Resuming a Scrape

Paid users can resume an interrupted scrape by using the cursor from the final dataset record:

  1. Run the scraper and note the cursor value from the final cursor-data record
  2. Start a new run with the same post_url
  3. Paste the cursor into the Resume Cursor field
  4. The scraper will continue fetching comments from exactly where it left off

Example: If you scraped 50 comments but a post has 2,000, run again with max_items: 2000 and the cursor from your first run.


💳 Free vs Paid

FeatureFreePaid
Max comments per run~12Up to max_items
Cursor returned
Resume support
Full comment historyLimitedFull

Free users will see the message: 🔒 Upgrade your subscription to scrape more comments.


⚙️ Notes & Limitations

Scope

  • Only public posts can be scraped — private account content cannot be accessed
  • Comments are returned in reverse chronological order (newest first)
  • Deleted comments or accounts may appear with empty text fields

Performance

  • The Actor will retry failed requests up to 3 times automatically
  • max_items defaults to 12 if not provided; free tier is capped at ~12 comments
  • For posts with thousands of comments, use cursor-based pagination across multiple runs

Data Integrity

  • text may be empty for comments that contain only emojis rendered as images by Instagram
  • like_count reflects likes at scrape time and may change
  • Comment timestamps are in UTC (ISO 8601 format)

🧠 Use Cases

  • Sentiment analysis — analyze audience reactions and emotional tone on any post
  • Brand monitoring — track what people say about your brand or competitors
  • Influencer research — evaluate engagement quality beyond surface-level metrics
  • Customer insights — extract feedback and pain points from comment sections
  • Content moderation — audit comments for spam, hate speech, or policy violations
  • Competitive intelligence — study how audiences respond to competitor content
  • Academic research — collect social media data for linguistics or behavioral studies
  • Community management — identify top commenters and brand advocates
  • NLP training data — build datasets of social media language and reactions

💡 SEO Keywords

  • Instagram Comments Scraper
  • Instagram Comment Extractor
  • Scrape Instagram Comments
  • Instagram Post Comments API
  • Instagram Reel Comments Downloader
  • No-Login Instagram Comment Scraper
  • Instagram Comment Sentiment Analysis
  • Instagram JSON Comment Export
  • Instagram Engagement Data Tool
  • Extract Comments from Instagram

🔐 Data & Privacy

This scraper accesses only publicly available data — content visible to any visitor on Instagram's website without authentication. The developer assumes no liability for misuse or violation of Instagram's Terms of Service. Users are responsible for ensuring their use of scraped data complies with applicable laws and platform policies.


❓ FAQ

Q: Can I scrape comments from private accounts?
A: No. This scraper only works with public posts. Private account content is not accessible without following and explicit permission from the account owner.

Q: What post types are supported?
A: All public Instagram post types are supported — standard posts (/p/), reels (/reel/), and IGTV videos (/tv/).

Q: Why are some comment text fields empty?
A: Instagram renders some emoji combinations as images rather than text. These comments may appear with an empty text field even though they contain content on the platform.

Q: How many comments can I scrape?
A: Free users are limited to ~12 comments per run. Paid users can set max_items to any value and resume across multiple runs using the cursor.

Q: How do I scrape all comments on a post?
A: Set max_items to a high value. If the run doesn't complete, use the cursor from the final record to continue in a new run. Repeat until all comments are collected.

Q: How do I resume a scrape?
A: Copy the cursor value from the final cursor-data record of your previous run and paste it into the Resume Cursor field. This is a paid feature only.

Q: Are comments returned in order?
A: Comments are returned in reverse chronological order (newest first), matching Instagram's default comment sort.


🚀 Getting Started

  1. Paste a URL: Enter any public Instagram post, reel, or video URL
  2. Set max items: Choose how many comments to collect (default: 12)
  3. Run: Click start and wait for the dataset to populate
  4. Export: Download results as JSON or CSV, or connect via the Apify API

📧 Support & Feedback

For issues, feature requests, or feedback, use the Actor's issue tracker or contact support directly. Your input helps improve the scraper for everyone!


🚀 Start scraping Instagram comments instantly — structured, clean data with no login required!