Instagram Comments Scraper - Fast & No Login
Pricing
from $1.30 / 1,000 instagram comments
Instagram Comments Scraper - Fast & No Login
Fast Instagram comments scraper for public posts and Reels. Get clean, unique rows with text, dates, likes, reply counts, authors, and IDs—no login or cookies.
Pricing
from $1.30 / 1,000 instagram comments
Rating
0.0
(0)
Developer
Chronometrica
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
💬 Instagram Comments Scraper — Fast, Clean & No Login
💬 What does Instagram Comments Scraper do?
Paste one or more public Instagram post or Reel URLs. Get fast, clean, unique, and structured top-level comment rows with text, public author details, dates, likes, reply counts, and stable post and comment IDs.
Skip manual copy-and-paste. Choose a clear per-post limit or collect until the public feed ends, sort the sample, add optional dates, and export organized rows.
Use it for social listening, brand monitoring, creator research, customer feedback, academic research, spreadsheets, AI work, and data pipelines. Each saved result is one public top-level comment. Empty or unavailable posts do not make fake dataset rows.
The Actor uses logged-out public Instagram pages. It does not need your Instagram account, cookies, API key, or copied browser session. It does not open private posts or bypass access controls.
With Instagram Comments Scraper, you can:
- 💬 Collect public top-level comments from known posts, Reels, and old TV URLs.
- 👤 Save public usernames, verification flags, and stable author IDs.
- ❤️ Collect public comment likes and reply totals when Instagram shows them.
- 🆔 Join data with stable post, short code, and comment IDs.
- 🎯 Set a positive comment limit for each post, or remove it.
- ↕️ Keep Instagram's default order, or sort the collected sample by date.
- 📅 Save only comments inside an optional date range.
- 🧹 Get unique rows with one stable field shape.
- 📦 Export JSON, JSONL, CSV, Excel, XML, RSS, or HTML.
- 🔁 Use the Apify API, SDKs, webhooks, schedules, and integrations.
Each paid result is one unique public top-level comment saved to the default dataset. Invalid, unavailable, empty, and duplicate results do not create paid comment rows.
✨ Why use this Actor?
- 🪄 Easy setup: paste public post URLs, choose a limit, an order, and optional dates.
- 🔓 No login: no Instagram account, cookie, or browser session is needed.
- 🧹 Clean, structured rows: one unique top-level comment per result.
- 🆔 Strict identity: each row stays tied to the requested post short code.
- 🎛️ Visible limits: choose a positive row limit per post or collect until the public feed ends.
- 🚦 Honest results: the public feed may return fewer rows, and
OUTPUTgives a clear reason. - 💸 Clear billing: pay only for unique top-level comments saved to the dataset.
📦 What data do I get?
Each dataset row is one public top-level Instagram comment.
| Data group | Main fields |
|---|---|
| 🔗 Post identity | postId, postShortCode, postUrl |
| 💬 Comment | commentId, text, createdAt |
| ❤️ Public signals | likesCount, repliesCount |
| 👤 Public author | ownerId, ownerUsername, ownerVerified |
| 🕒 Collection time | collectedAt |
Optional values that Instagram does not expose stay null. They are not
guessed and are not replaced with fake zeros.
repliesCount is the public reply total shown for a top-level comment when it
is available.
⚙️ Can I use this Actor through an API?
Yes. You can use:
- 🔌 Apify API
- 🐍 Python SDK
- 🟢 JavaScript SDK
- 🪝 Webhooks
- ⏰ Scheduled runs
- 🧩 Apify integrations
This makes it easy to send comments into spreadsheets, databases, dashboards, AI analysis tools, customer-feedback systems, and research pipelines.
🔌 API example
Keep your Apify token in an environment variable or secret store.
curl -X POST \"https://api.apify.com/v2/acts/chronometrica~instagram-comments-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"postUrls": ["https://www.instagram.com/reel/DZu6dkVyImf/"],"maxCommentsPerPost": 100,"collectAllAvailable": false,"commentSortMode": "default","commentsFrom": "2026-07-01","commentsUntil": "2026-07-14"}'
🎯 Why scrape Instagram comments?
| Use case | How comment data helps |
|---|---|
| 📣 Brand monitoring | Find public praise, complaints, questions, and product feedback. |
| 🧑🎨 Creator research | Review the public words around known creator posts. |
| 🚀 Campaign research | Study public response to a launch, ad, event, or partnership. |
| 🔎 Social listening | Track common topics and language in public discussions. |
| 🧑🔬 Academic research | Build structured public text samples for analysis. |
| 🤖 AI and NLP | Feed clean comment text into topic or sentiment tools. |
| 🧱 Data pipeline building | Load stable rows into a spreadsheet, app, database, or warehouse. |
The Actor gives you public source data. It does not add sentiment labels or guess a person's intent.
💵 Pricing
The price depends on your Apify pricing tier. Each result charge represents one unique top-level comment saved to the default dataset. Empty, unavailable, and duplicate comments do not create comment result charges.
| Apify tier | Price per comment | Price per 1,000 comments |
|---|---|---|
| Free | $0.0020 | $2.00 |
| Bronze | $0.0015 | $1.50 |
| Silver | $0.0014 | $1.40 |
| Gold, Platinum, or Diamond | $0.0013 | $1.30 |
There is no start fee or minimum run charge.
Use maxCommentsPerPost to control the largest possible dataset before you
start. Begin with 20 to 100 comments while testing a new workflow. Turn on
collectAllAvailable only when you accept a larger and less predictable bill.
🚀 How do I use Instagram Comments Scraper?
- Open Instagram Comments Scraper in Apify Console.
- Paste one or more public Instagram post or Reel URLs.
- Choose the maximum comments to save for each post.
- Keep the default order or choose newest-first or oldest-first with optional dates.
- Click Start.
- Open Output to inspect the rows and run summary.
- Download the dataset or send it to another tool.
⬇️ Input
{"postUrls": ["https://www.instagram.com/reel/DZu6dkVyImf/"],"maxCommentsPerPost": 100,"collectAllAvailable": false,"commentSortMode": "default","commentsFrom": "2026-07-01","commentsUntil": "2026-07-14"}
🔗 Supported URLs
- 🖼️
https://www.instagram.com/p/SHORT_CODE/ - 🎬
https://www.instagram.com/reel/SHORT_CODE/ - 📺
https://www.instagram.com/tv/SHORT_CODE/
Query strings are removed. Duplicate versions of the same URL are collected once. Profile, hashtag, search, Story, and Explore URLs are not supported.
🎛️ Input settings
| Setting | What it controls |
|---|---|
postUrls | Add one or more public Instagram post, Reel, or old TV URLs. |
maxCommentsPerPost | Save at most this many unique top-level comments for each URL. Use a positive whole number. Default: 100. Ignored when the limit is removed. |
collectAllAvailable | Remove the numeric limit and stream rows until the public feed ends, time runs out, or the source fails. Use Default order. Off by default and may cost much more. |
commentSortMode | Keep Instagram's order, or sort the collected public sample with newest or oldest comments first. Default: Instagram's order. |
commentsFrom | Only save comments on or after this date. Optional. |
commentsUntil | Only save comments on or before this date. Optional. |
Dates are inclusive. A comment without a public date is skipped when either date setting is used. Instagram chooses the public sample. Default keeps the source order. The date options sort that sample; they do not ask Instagram for a different comment feed.
⬆️ Output sample
{"postUrl": "https://www.instagram.com/reel/DZu6dkVyImf/","postId": "3922329444068919711","postShortCode": "DZu6dkVyImf","commentId": "18000000000000000","text": "Example public comment","createdAt": "2026-07-14T12:00:00.000Z","likesCount": 12,"repliesCount": 3,"ownerId": "123456789","ownerUsername": "example_user","ownerVerified": false,"collectedAt": "2026-07-14T16:00:00.000Z"}
📊 Run summary
The OUTPUT record includes:
- 🎯 Posts requested, successful, empty, and failed;
- 💬 Total top-level comments saved;
- 🧢 Posts that reached the chosen limit;
- 🎛️ The chosen per-post limit, remove-limit switch, order, and optional dates;
- 🚦 A clear result and stop reason for each input URL.
Common target results are:
| Result | Meaning |
|---|---|
capped | The Actor saved the chosen per-post limit. |
sample | The Actor saved a useful sample below the limit. |
source_exhausted | The public feed ended before the limit. |
unavailable_or_no_public_data | Instagram did not expose a public comment feed for that view. |
failed | A temporary target error stopped that URL. |
An empty dataset does not always mean the post has no comments. Instagram may
show a page but leave the logged-out comment feed empty. Check OUTPUT, then
retry later if the post is public and comments are visible in your browser.
🔒 Source boundary
Instagram Comments Scraper uses logged-out public Instagram data only.
It does not:
- 🔑 Ask for your Instagram username or password;
- 🍪 Use your account, cookies, or copied session;
- 🔒 Collect private, followers-only, or login-only posts;
- 🧩 Solve access challenges or bypass access controls;
- 🔎 Discover posts from profiles, hashtags, search, or Explore;
- ♾️ Promise every comment in Instagram's displayed total.
⚠️ Limits and interpretation
- Instagram controls which comments are visible to a logged-out viewer.
- The same post can return a different public sample on another run.
- A displayed comment total can be higher than the public rows available.
maxCommentsPerPostis a maximum, not a promise.- Date filters and oldest-first order inspect at most 250 public comments per post unless the result limit is removed.
- Comment order applies to the collected sample, not every comment on Instagram.
- Deleted, hidden, filtered, region-limited, or moderated comments may be absent.
- Comment text, likes, reply totals, and author details can change.
- This Actor is not affiliated with Instagram or Meta.
❓ FAQ
Does this Actor need an Instagram login, cookie, or API key?
No. It uses public logged-out Instagram pages.
Why did I get fewer comments than the displayed total?
Instagram's displayed total and logged-out public feed can differ. The public
feed may end early or change between runs. Check each target in OUTPUT.
How do date filters and comment order work?
The Actor filters and sorts the public sample it collected. Dates include the whole chosen day. Instagram can expose a different sample on a later run.
How are duplicates removed?
Duplicate input URLs are collected once. Saved rows use the post short code and Instagram comment ID as the run key.
What happens when a post returns no public comments?
The target appears in OUTPUT. It does not create a fake comment row.
Can I remove the comment limit?
Yes. Turn on collectAllAvailable. The Actor then ignores the numeric limit
and streams rows until Instagram's public feed ends, the run times out, or the
source fails. Use Default comment order with this switch. This can take longer
and cost much more. It still cannot promise comments that Instagram does not
expose publicly.
Can I paste an Instagram profile URL?
No. Use known post, Reel, or old TV URLs. This Actor does not discover posts from profiles.
🏆 Best practices
- 🎯 Start with 20 to 100 comments per post.
- 📚 Batch several known URLs in one run to lower run overhead per row.
- 🧾 Check
OUTPUTbefore treating a small or empty dataset as a bug. - 🆔 Join and deduplicate later work with
postShortCodeandcommentId. - 🔁 Use scheduled runs when you want to observe public comment changes.
🛟 Support
For help, include the Apify run ID, one public input URL, what you expected, and
the target result shown in OUTPUT. Do not send Instagram passwords, cookies,
session data, or private links.
⚖️ Responsible use
This Actor collects data that Instagram exposes to logged-out public viewers at run time. You are responsible for using the data lawfully and for following privacy, data-protection, research, and platform rules. Do not use public comments to harass people, infer sensitive traits, or make high-impact choices about individuals.
🔗 Related social media scrapers
Combine this Actor with our other social media scrapers for discovery, performance tracking, comment research, and transcript collection.
- Instagram Metrics Scraper — collect public post, Reel, carousel, profile, and collaboration metrics.
- Facebook Metrics Scraper — collect public post, Reel, video, and profile/page metrics.
- Facebook Comments Scraper — collect public comments, replies, authors, dates, and reactions from known Facebook content.
TikTok
- TikTok Search Scraper — find public TikTok videos, creators, and metrics by keyword.
- TikTok Metrics Scraper — collect public video, profile, engagement, hashtag, and music data.
- TikTok Comments Scraper — collect public comments, replies, authors, likes, and thread links.
- TikTok Transcript Scraper — extract public caption text and timestamped segments from TikTok videos.
YouTube
- YouTube Search Scraper — find public videos, Shorts, channels, and metrics by keyword.
- YouTube Metrics Scraper — collect public video, Short, channel, and engagement metrics.
- YouTube Comments Scraper — collect public comments, replies, authors, likes, pins, and creator hearts.
- YouTube Transcript Scraper — extract public captions as clean text, timestamps, SRT, VTT, or LLM-ready output.