Bulk Instagram Comments Scraper avatar

Bulk Instagram Comments Scraper

Pricing

Pay per usage

Go to Apify Store
Bulk Instagram Comments Scraper

Bulk Instagram Comments Scraper

Scrape Instagram comments at scale from any public post, reel, or TV content. Extract engagement data, commenter profiles, sentiment insights, and detailed comment metadata in seconds.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

DataFusionX

DataFusionX

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

πŸ’¬ Instagram Comments Scraper

Scrape Instagram comments at scale from any public post, reel, or TV content. Extract engagement data, commenter profiles, sentiment insights, and detailed comment metadata in seconds.


πŸ“‹ Table of Contents


Overview

The Instagram Comments Scraper is a powerful tool that enables you to extract comments and replies from Instagram posts, reels, and TV content at scale. Whether you're conducting sentiment analysis, monitoring brand mentions, tracking audience engagement, or analyzing competitor content, this scraper provides unlimited access to public Instagram comment data with no request limits.

Designed for marketers, researchers, data analysts, and business intelligence professionals, the scraper automatically handles pagination, deduplication, and concurrent processing to deliver clean, structured data in multiple formats (JSON, CSV, Excel, XML, HTML).


Key Features

What Can Instagram Comments Scraper Do?

  • πŸ’¬ Scrape Instagram comments and replies at scale - Extract unlimited comments from public posts, reels, and TV content with no API rate limits
  • πŸ‘₯ Capture commenter profiles - Get usernames, user IDs, verification status, profile pictures, and bio information
  • ⏰ Track engagement timestamps - Analyze comment creation times in both Unix timestamp and ISO 8601 formats
  • πŸ”’ Monitor engagement metrics - Extract comment like counts, reply counts, and visibility patterns
  • 🎬 Support multiple content types - Works with Instagram posts (/p/), reels (/reel/), and TV content (/tv/)
  • πŸ†” Get detailed metadata - Media IDs, shortcodes, parent-child comment relationships, and GIF support
  • ⚑ Handle concurrent requests - Process multiple posts simultaneously using configurable parallel execution (default: 2 concurrent posts)
  • πŸ“Š Export in multiple formats - JSON, CSV, Excel, XML, HTML for seamless integration with analytics tools
  • πŸ”„ Async dataset streaming - Push comment records to Apify dataset immediately as they're scraped for real-time monitoring
  • πŸ›‘οΈ Handle edge cases - Gated content detection, covered content, translation support, and GIF-only comments

What It Helps With

Use Cases & Business Value

Use CaseBenefit
Sentiment AnalysisAnalyze audience reactions to marketing campaigns and track brand perception in real-time
Engagement TrackingMonitor comment activity patterns, identify trending topics, and peak engagement times
Brand MonitoringDetect brand mentions, customer feedback, and reputation insights across posts
Competitor AnalysisAnalyze how competing content performs and resonates with audiences
Misinformation DetectionIdentify and flag false or misleading information in comment threads
Market ResearchGather qualitative feedback from target audiences on products and campaigns
Content StrategyUnderstand audience preferences and optimize content based on comment insights
Customer ServiceMonitor mentions and respond to customer inquiries in real-time
Influencer AnalysisTrack influencer engagement rates and audience quality
Academic ResearchCollect data for studies on social media behavior and online discourse

How It Works

Step-by-Step Process

  1. Prepare Input

    • Gather one or multiple Instagram post/reel/TV URLs
    • Can be full URLs (e.g., https://www.instagram.com/p/ABC123/) or raw shortcodes (e.g., ABC123)
  2. Configure Settings

    • Set maximum comments per post (0 for unlimited)
    • Adjust thread pool concurrency if needed
    • Configure delay between paginated requests
  3. Start the Scraper

    • The actor validates and normalizes all input URLs
    • Parses Instagram media shortcodes
    • Initiates concurrent scraping tasks
  4. Scrape Comments

    • For each post, the scraper fetches comment batches using Instagram's GraphQL API
    • Automatically handles pagination and cursor management
    • Deduplicates comments using internal comment ID tracking
    • Extracts full comment metadata including replies
  5. Stream Results

    • Comments are pushed to the Apify dataset record-by-record as they're scraped
    • No need to wait for completion to access data
    • Monitor progress in real-time via Apify dashboard
  6. Export & Integrate

    • Download data in JSON, CSV, Excel, or other formats
    • Integrate with webhooks, APIs, and third-party tools
    • Use Python/Node.js SDKs for programmatic access

Input Schema

Required & Optional Parameters

{
"post_urls": [
"https://www.instagram.com/p/ABC123def/",
"https://www.instagram.com/reel/XYZ789/",
"ABC123def",
"reel/XYZ789"
],
"max_comments": 100
}

Input Fields

ParameterTypeRequiredDefaultDescription
post_urlsArray[String]βœ… Yes-Instagram post, reel, or TV URLs. Can be full URLs or raw shortcodes (e.g., ABC123def)
max_commentsInteger❌ No50 (free), unlimited (paid)Maximum comments to scrape per post. Use 0 for unlimited (paid users only)

URL Format Support

The scraper accepts multiple URL formats:

βœ… Valid Formats:
- https://www.instagram.com/p/ABC123def/
- https://www.instagram.com/p/ABC123def/?utm_source=...
- https://www.instagram.com/reel/ABC123def/
- https://www.instagram.com/tv/ABC123def/
- https://www.instagram.com/username/p/ABC123def/
- https://www.instagram.com/username/reel/ABC123def/
- ABC123def (raw shortcode)

Output Schema

Comment Data Fields

Each comment record contains the following fields:

{
"comment_id": "17949788698583607",
"text": "Amazing content! Love this ❀️",
"username": "gabriel2005120",
"user_id": "123456789",
"is_verified": true,
"profile_pic_url": "https://scontent-msp1-1.cdninstagram.com/v/...",
"created_at": 1637329453,
"created_at_iso": "2021-11-19T13:54:13Z",
"comment_like_count": 12,
"child_comment_count": 2,
"is_gif": false,
"gif_url": null,
"parent_comment_id": null,
"is_covered": false,
"has_translation": false,
"post_url": "https://www.instagram.com/p/ABC123def/",
"media_id": "1234567890123456789",
"media_shortcode": "ABC123def",
"source_url": "https://www.instagram.com/p/ABC123def/"
}

Output Fields Reference

FieldTypeDescription
comment_idStringUnique Instagram comment identifier
textStringComment text content (null for GIF-only comments)
usernameStringUsername of the commenter
user_idStringUser ID of the commenter
is_verifiedBooleanWhether the commenter has a verified badge
profile_pic_urlStringProfile picture URL of the commenter
created_atIntegerUnix timestamp of comment creation
created_at_isoStringISO 8601 formatted datetime
comment_like_countIntegerNumber of likes received by the comment
child_comment_countIntegerNumber of replies to the comment
is_gifBooleanWhether the comment is a GIF-only comment
gif_urlStringCDN URL for GIF comments (null if not a GIF)
parent_comment_idStringID of parent comment if this is a reply (null for top-level)
is_coveredBooleanWhether Instagram has hidden/covered the comment
has_translationBooleanWhether translation is available
post_urlStringFull URL of the Instagram post
media_idStringNumeric Instagram media ID
media_shortcodeStringInstagram media shortcode
source_urlStringOriginal URL from input

Usage Examples

Example 1: Scrape Single Post

Input:

{
"post_urls": ["https://www.instagram.com/p/ABC123def/"],
"max_comments": 100
}

Expected Output:

[
{
"comment_id": "17949788698583607",
"text": "This is amazing! πŸ”₯",
"username": "john_doe",
"user_id": "987654321",
"is_verified": false,
"created_at": 1637329453,
"created_at_iso": "2021-11-19T13:54:13Z",
"comment_like_count": 45,
"child_comment_count": 3,
"media_shortcode": "ABC123def",
"post_url": "https://www.instagram.com/p/ABC123def/"
},
{
"comment_id": "17949788698583608",
"text": "Totally agree with @john_doe",
"username": "jane_smith",
"user_id": "987654322",
"is_verified": true,
"created_at": 1637329500,
"created_at_iso": "2021-11-19T13:55:00Z",
"parent_comment_id": "17949788698583607",
"media_shortcode": "ABC123def"
}
]

Example 2: Scrape Multiple Reels

Input:

{
"post_urls": [
"https://www.instagram.com/reel/ABC123def/",
"https://www.instagram.com/reel/XYZ789abc/",
"reel/DEF456ghi/"
],
"max_comments": 0
}

Example 3: Using Raw Shortcodes

Input:

{
"post_urls": [
"ABC123def",
"XYZ789abc",
"DEF456ghi"
],
"max_comments": 500
}

Example 4: Programmatic Usage (Python SDK)

from apify_client import ApifyClient
client = ApifyClient("apify_api_key")
run = client.actor("devil_port369-owner/instagram-comments").call(
{
"post_urls": ["https://www.instagram.com/p/ABC123def/"],
"max_comments": 100
}
)
# Retrieve results
dataset_id = run["defaultDatasetId"]
dataset_client = client.dataset(dataset_id)
for item in dataset_client.iterate_items():
print(f"{item['username']}: {item['text']}")

Example 5: Using with Node.js SDK

const Apify = require('apify-client');
const apifyClient = new Apify.ApifyClient({
token: 'apify_api_key',
});
const run = await apifyClient.actor('devil_port369-owner/instagram-comments').call({
post_urls: ['https://www.instagram.com/p/ABC123def/'],
max_comments: 100,
});
const dataset = await apifyClient.dataset(run.defaultDatasetId).listItems();
dataset.items.forEach(item => {
console.log(`${item.username}: ${item.text}`);
});

Use Cases

1. Social Media Sentiment Analysis

Analyze audience reactions to posts and track brand sentiment over time. Export comments and use AI/NLP tools to classify sentiment (positive, negative, neutral).

β†’ Benefits: Understand customer perception, identify issues early, measure campaign success

2. Competitive Intelligence

Monitor competitor posts and analyze audience comments to understand market positioning and what resonates with audiences.

β†’ Benefits: Stay ahead of competitors, identify content gaps, benchmark engagement

3. Influencer Verification

Analyze comment quality, engagement rates, and audience authenticity before partnering with influencers.

β†’ Benefits: Avoid fake influencers, measure true engagement, validate partnerships

4. Customer Feedback & Support

Monitor brand mentions and comments to identify customer issues, feedback, and support requests.

β†’ Benefits: Fast response times, proactive support, customer satisfaction improvement

5. Market Research

Gather qualitative insights directly from your target audience about products, preferences, and pain points.

β†’ Benefits: Direct customer voice, lower research costs, quick insights

6. Content Strategy Optimization

Analyze what types of comments appear on high-engagement posts to optimize future content.

β†’ Benefits: Data-driven content strategy, higher engagement, better audience understanding

7. Crisis Management

Detect negative comments and misinformation early to respond quickly and manage brand reputation.

β†’ Benefits: Rapid issue detection, proactive crisis response, reputation protection

8. Academic Research

Study social media behavior, online discourse patterns, and community dynamics.

β†’ Benefits: Rich qualitative data, real-world insights, peer-reviewed research material

Performance & Limits

Concurrent Processing

  • Default: 2 simultaneous posts processed in parallel
  • Configurable: Adjust MAX_CONCURRENT_POSTS in code for your needs
  • Recommendation: 2-5 for most use cases to balance speed and stability

Rate Limiting & Delays

  • Delay between pages:
  • Pagination batch size:
  • Deduplication:

Free vs. Paid Plans

FeatureFreePaid
Comments per run50Unlimited
Concurrent posts22+

Issue: Missing GIF content

Solution: The scraper automatically handles GIF comments:

  • is_gif: true if comment is GIF-only
  • gif_url: Contains CDN URL (if available)
  • text: null for GIF-only comments

Issue: Profile pic URLs expired

Solution: Profile pic URLs are valid for a limited time. Re-scrape if needed for fresh URLs.


Third-Party Tool Integrations

The scraper integrates seamlessly with:

  • Data Visualization: Tableau, Power BI, Google Data Studio
  • Analytics: Google Analytics, Mixpanel, Amplitude
  • AI/ML: Hugging Face, OpenAI, Google Cloud AI
  • Automation: Zapier, n8n, Make, IFTTT
  • CRM: Salesforce, HubSpot, Pipedrive
  • Database: Google Sheets, Airtable, MongoDB, PostgreSQL
  • Workflow: GitHub Actions, GitLab CI, Jenkins

FAQ

Q: Can I scrape private accounts? A: No, only public posts and comments are accessible.

Q: Is there a limit on comments per post? A: Free users: 50 per post. Paid users: Unlimited (use max_comments: 0).

Q: How often can I run this? A: Free plan: Limited frequency. Paid plan: Unlimited runs.

Q: What if a post has 100K+ comments? A: The scraper handles pagination automatically. You can set a limit or scrape all.

Q: Does it include deleted comments? A: No, only currently visible comments are extracted.

Q: Can I schedule recurring scrapes? A: Yes, via Apify Scheduler or webhook automations.

Q: What formats does the output support? A: JSON, CSV, Excel, XML, HTML, plus programmatic access via SDKs.

Q: Is it legal to scrape Instagram comments? A: Our Instagram scrapers are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. You can also read our blog post on the legality of web scraping.

Q: Can I use integrations with Instagram Comment Scraper? A: You can integrate comment data scraped from Instagram with almost any cloud service or web app. We offer integrations with Zapier, n8n, Slack, Make, Airbyte, Gumloop, CrewAI, IFTTT, Lindy, GitHub, Google Sheets, Google Drive, and plenty more. Alternatively, you could use webhooks to carry out an action whenever an event occurs, such as getting a notification whenever the Instagram Comment Scraper successfully finishes a run.

  • Instagram Post Scraper - Extract post captions, media, engagement metrics
  • Instagram Hashtag Scraper - Scrape posts by hashtag
  • Instagram Profile Scraper - Extract profile information and bio data
  • Instagram Stories Scraper - Download and analyze Instagram stories

Keywords for SEO/SEM

Primary Keywords:

  • Instagram comment scraper
  • Scrape Instagram comments
  • Instagram API
  • Comment extraction tool
  • Social media scraping
  • Instagram data extraction
  • Comment sentiment analysis
  • Instagram engagement analysis
  • Bulk download Instagram comments
  • Instagram automation

Long-Tail Keywords:

  • How to scrape Instagram comments
  • Best Instagram comment scraper tool
  • Extract Instagram comments programmatically
  • Instagram comment API free
  • Scrape Instagram reel comments
  • Instagram post comment analysis
  • Automated Instagram comment collection
  • Instagram comment data export
  • Monitor Instagram comments
  • Instagram comment archiving tool

Semantic Keywords:

  • Instagram conversation analysis
  • Social listening tool
  • Audience sentiment tracking
  • Comment thread extraction
  • Instagram engagement metrics
  • Influencer comment analysis
  • Brand monitoring tool
  • Customer feedback analysis
  • Social media intelligence
  • Real-time comment monitoring