Instagram Comments Scraper
Pricing
$19.99/month + usage
Instagram Comments Scraper
📲 Instagram Comments Scraper pulls comments from posts & reels — text, usernames, timestamps, likes, mentions & hashtags. 📈 Export CSV/JSON for sentiment, UGC mining, social listening & competitor analysis. ⚡ Fast, reliable, code-free. Great for marketers & researchers.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScrapePilot
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Instagram Comments Scraper
The Instagram Comments Scraper is a fast, reliable Instagram comment extractor that pulls structured comment data from post and reel URLs — including text, usernames, timestamps, likes, replies, and more. It solves the manual effort of trying to scrape Instagram comments at scale and gives marketers, developers, data analysts, and researchers clean, machine-readable outputs for social listening, UGC mining, and competitor analysis. Use this Instagram comments scraper tool to collect Instagram comments at scale and export Instagram comments to CSV or JSON for downstream analytics and automation.
What data / output can you get?
Below are the exact fields the actor produces for each comment record. Data is streamed to the Apify Dataset in real time and also saved as a single JSON array to the Key-Value Store under key OUTPUT. You can export datasets to CSV, JSON, Excel, or use the API to download Instagram comments programmatically.
| Data type | Description | Example value |
|---|---|---|
| id | Unique identifier of the comment | "17894957058162897" |
| text | Full text of the comment | "Amazing work! 🔥 #design" |
| timestamp | UTC timestamp of when the comment was created | "2025-01-15T14:22:10.000Z" |
| ownerUsername | Commenter’s Instagram handle | "jane_doe" |
| ownerProfilePicUrl | URL of the commenter’s profile picture | "https://scontent.cdninstagram.com/…/profile.jpg" |
| commentUrl | Direct link to the comment on the post | "https://www.instagram.com/p/ABC123/c/17894957058162897" |
| postUrl | Source Instagram post or reel URL | "https://www.instagram.com/p/ABC123/" |
| repliesCount | Number of direct replies to this comment | 3 |
| likesCount | Number of likes on the comment | 12 |
| replies | Array of reply objects (same shape as comments) | [{…}, {…}] |
| owner | Structured commenter object with metadata (username, id, is_verified, etc.) | {"username":"jane_doe","id":"1234567890",…} |
Notes:
- replies contains reply items with the same fields as comments: id, text, ownerUsername, ownerProfilePicUrl, timestamp, repliesCount, likesCount, owner, commentUrl.
- Exports: Use the Apify Dataset to export to CSV/JSON/Excel or fetch the single JSON array from the Key-Value Store (key OUTPUT).
Key features
-
⚡ Fast, structured extraction
Extract clean comment data (including replies) from Instagram posts and reels using a robust GraphQL-based flow — ideal to scrape Instagram comments at scale for analytics. -
📥 Batch input (multi-URL support)
Provide multiple Post URLs in one run to collect Instagram comments across several posts or reels efficiently. -
🧩 Replies control
Toggle replies collection via includeNestedComments and limit depth with maxReplies to balance detail and speed. -
🔐 Session cookie support for reliability
Provide a sessionId (Instagram sessionid cookie) for reliable extraction. Without it, required identifiers (doc_id, media_id) often cannot be found. -
🌍 Smart connectivity with proxy fallback
Optional proxyConfiguration for fallback only. The actor automatically retries with datacenter, then residential proxies (3 retries) when blocked. -
📡 Real-time streaming + single-file output
Comments are pushed to the Dataset record-by-record and also saved as one JSON array to Key-Value Store key OUTPUT — perfect for pipelines and one-file downloads. -
💾 Flexible exports
Export Instagram comments to CSV, JSON, or other formats directly from the Apify platform, or integrate via API to power your Instagram comments scraping automation. -
🐍 Developer-friendly (Python-based actor)
Built on Apify’s Python stack — easy to integrate into data pipelines, scripts, and ETL workflows for Instagram comments data extraction.
How to use Instagram Comments Scraper - step by step
-
Sign in to Apify
Create or log in to your Apify account to run the Instagram post comments scraper. -
Open the actor
Find “Instagram Comments Scraper” in the Apify Store and click Try for free. -
Add input data
Paste one or more Instagram Post/Reel URLs into directUrls (e.g., https://www.instagram.com/p/SHORTCODE/). -
Improve reliability with sessionId
Set sessionId to your Instagram sessionid cookie for best results. Without it, Instagram may serve different content and the scraper may not find required identifiers. -
Configure limits and replies
Adjust maxComments (per post) and maxReplies (per comment). Use includeNestedComments to enable/disable reply fetching. -
Optional: Proxy fallback
Leave proxyConfiguration empty for direct requests. The actor will automatically fall back to datacenter, then residential proxies only if blocked. -
Run the scraper
Click Start. The run will stream one record per comment to the Dataset and also build a single JSON array in Key-Value Store under OUTPUT. -
Download results
Export the Dataset to CSV/JSON/Excel or fetch the OUTPUT key as a single JSON file to download Instagram comments for analysis.
Pro tip: Use the Apify API to automate runs, schedule jobs, and plug results into dashboards or downstream tools to build a full Instagram comments scraping bot.
Use cases
| Use case | Description |
|---|---|
| Social media analytics | Measure engagement by extracting comment text, timestamps, likes, and reply counts across posts and reels. |
| Marketing sentiment | Collect Instagram comments to quantify brand sentiment and track themes for campaigns and competitors. |
| Influencer campaign tracking | Scrape comments from Instagram posts to assess audience reaction and UGC quality for sponsored content. |
| Competitor analysis | Monitor competitor posts with an Instagram comments crawler to benchmark engagement and topics. |
| Community management | Surface FAQs, issues, and top feedback from comments and replies to improve response playbooks. |
| Academic and NLP research | Build datasets for sentiment models or language research using structured, timestamped comment corpora. |
| Data pipelines & APIs | Automate scrape Instagram comments workflows and export Instagram comments to CSV/JSON for BI tools. |
Why choose Instagram Comments Scraper?
Built for precision, automation, and reliability on Apify’s infrastructure.
- ✅ Accurate, structured fields for each comment and reply
- 📦 Batch-friendly — process multiple Post URLs in one run
- 🔐 Cookie-based reliability (sessionId) to reduce login walls and missing identifiers
- 🧭 Resilient networking with automatic proxy fallback when blocked
- 💾 Flexible outputs — Dataset streaming plus single JSON array (key OUTPUT)
- 🤝 Developer-ready — Python-based actor, API-friendly for pipelines
- 🛡️ Ethical by design — focused on public content from posts and reels
In short: a production-ready Instagram post comments scraper that outperforms brittle browser extensions and ad-hoc scripts.
Is it legal / ethical to use Instagram Comments Scraper?
Yes — when done responsibly. This actor is designed to work with publicly available Instagram content from posts and reels.
Guidelines:
- Only extract publicly visible comments.
- Do not attempt to collect private or sensitive user data.
- Comply with applicable regulations (e.g., GDPR) and your local data protection laws.
- Review Instagram’s Terms of Service before scraping and ensure your use case is compliant.
Users are responsible for their own compliance and legal review.
Input parameters & output format
Example JSON input
{"directUrls": ["https://www.instagram.com/p/DN8-GjPkgjS"],"maxComments": 25,"maxReplies": 5,"includeNestedComments": true,"sessionId": "YOUR_INSTAGRAM_SESSIONID_COOKIE","proxyConfiguration": {"useApifyProxy": true}}
Parameters
| Field | Type | Description | Default | Required |
|---|---|---|---|---|
| directUrls | array | Instagram post or reel URLs (e.g. https://www.instagram.com/p/SHORTCODE/) | — | No |
| maxComments | integer | Maximum comments to scrape per URL (1–500) | 10 | No |
| maxReplies | integer | Maximum replies per comment (0–50) | 5 | No |
| sessionId | string | Instagram sessionid cookie. Required for reliable extraction: without it, doc_id and media_id often cannot be found (Instagram serves different content when unauthenticated). Get it from your browser after logging in to instagram.com. | — | No |
| includeNestedComments | boolean | Fetch replies for each comment | true | No |
| isNewestComments | boolean | Newest first (not supported). Kept for compatibility with provided script. Instagram GraphQL here only supports popular sorting. | false | No |
| proxyConfiguration | object | Optional. Used only when platform blocks direct requests: fallback to datacenter proxy, then residential proxy (3 retries). By default no proxy is used. | — | No |
Notes:
- The input schema allows up to 10,000 comments and 500 replies, but the actor caps at 500 comments per post and 50 replies per comment internally.
- None of the fields are strictly required, but sessionId is strongly recommended for reliability.
Example JSON output
[{"postUrl": "https://www.instagram.com/p/DN8-GjPkgjS/","commentUrl": "https://www.instagram.com/p/DN8-GjPkgjS/c/17894957058162897","id": "17894957058162897","text": "None of them. #saynotoaiart","ownerUsername": "delicious.avocados07","ownerProfilePicUrl": "https://scontent.cdninstagram.com/…/profile.jpg","timestamp": "2025-08-29T21:11:18.000Z","repliesCount": 2,"replies": [{"id": "18111111111111111","text": "Agreed!","ownerUsername": "art_fan","ownerProfilePicUrl": "https://scontent.cdninstagram.com/…/reply_profile.jpg","timestamp": "2025-08-29T22:05:10.000Z","repliesCount": 0,"replies": [],"likesCount": 3,"owner": {"fbid_v2": "","full_name": "","id": "55555555","is_mentionable": true,"is_private": false,"is_verified": false,"latest_reel_media": 0,"profile_pic_id": "","profile_pic_url": "https://scontent.cdninstagram.com/…/reply_profile.jpg","username": "art_fan"},"commentUrl": "https://www.instagram.com/p/DN8-GjPkgjS/c/17894957058162897/r/18111111111111111"}],"likesCount": 5,"owner": {"fbid_v2": "","full_name": "","id": "44444444","is_mentionable": true,"is_private": false,"is_verified": false,"latest_reel_media": 0,"profile_pic_id": "","profile_pic_url": "https://scontent.cdninstagram.com/…/profile.jpg","username": "delicious.avocados07"}}]
Output destinations
- Dataset: One record per comment (real-time). Default view includes id, text, timestamp, ownerUsername, commentUrl, postUrl, repliesCount, likesCount.
- Key-Value Store: Key OUTPUT contains a single JSON array of all comments (same shape as Dataset) for one-file downloads.
FAQ
Do I need to log in or provide a cookie?
Yes — for reliable results you should provide sessionId (your Instagram sessionid cookie). Without it, required identifiers (doc_id and media_id) often cannot be found because Instagram serves different content to unauthenticated sessions.
Can it scrape comments from reels?
Yes. Provide reel URLs (…/reel/SHORTCODE/) or standard post URLs (…/p/SHORTCODE/) in directUrls to collect Instagram comments.
How many comments and replies can I scrape per run?
You control this via maxComments and maxReplies. The actor caps at 500 comments per post and 50 replies per comment internally, even though the input schema accepts higher values.
What sort order does it use?
The scraper fetches popular comments. The isNewestComments flag is kept for compatibility but is not supported by this GraphQL flow.
Does it use proxies?
Proxies are optional and used only as a fallback when blocked. The actor will retry with a datacenter proxy, then residential proxy (3 retries) to improve success rates.
What formats can I export?
Results are saved to the Apify Dataset (exportable to CSV/JSON/Excel) and to the Key-Value Store under key OUTPUT as a single JSON array — perfect to download Instagram comments in one file.
Can I automate this with an API or Python?
Yes. This is a Python-based Apify actor and fully compatible with the Apify API, making it ideal for Instagram comments scraping automation, pipelines, and scheduled runs.
Is there a trial?
Yes. The listing includes trial minutes (e.g., 120 trial minutes), so you can test before subscribing. Check the actor’s Apify Store page for current pricing and trial details.
Final thoughts
Instagram Comments Scraper is built to collect Instagram comments from posts and reels at scale — reliably and in structured form. With cookie-based reliability, proxy fallback, and flexible exports (Dataset and single JSON array), it’s ideal for marketers, developers, analysts, and researchers. Use the Apify API or Python-based workflows to automate end-to-end Instagram comments data extraction and start turning conversations into insights today.