<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Icoe Man</title>
    <description>The latest articles on DEV Community by Icoe Man (@icoe_man).</description>
    <link>https://dev.to/icoe_man</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4210472%2Ff9a45790-28c3-4e72-b846-4027beeb4f52.png</url>
      <title>DEV Community: Icoe Man</title>
      <link>https://dev.to/icoe_man</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/icoe_man"/>
    <language>en</language>
    <item>
      <title>How to Scrape Instagram Comments from Posts, Reels and Profiles (No Login)</title>
      <dc:creator>Icoe Man</dc:creator>
      <pubDate>Tue, 27 Oct 2026 10:11:16 +0000</pubDate>
      <link>https://dev.to/icoe_man/how-to-scrape-instagram-comments-from-posts-reels-and-profiles-no-login-nn</link>
      <guid>https://dev.to/icoe_man/how-to-scrape-instagram-comments-from-posts-reels-and-profiles-no-login-nn</guid>
      <description>&lt;p&gt;If you want to scrape Instagram comments, the official API won't get you far. It only returns comments on business accounts you manage, and you need an approved Meta app to use it. Most people end up copying comments by hand or fighting a Python script that breaks when Instagram changes its markup.&lt;/p&gt;

&lt;p&gt;This guide shows a faster way. You can export the comments of any public post, reel or profile to CSV, Excel or JSON with no Instagram account, no cookies and no proxies. There's a no-code version and a short Python version.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure: I built the tool used here, &lt;a href="https://apify.com/icoe-man/instagram-comments-scraper" rel="noopener noreferrer"&gt;Instagram Comments Scraper&lt;/a&gt; on Apify Store. I've tried to be clear about what it can't do as well.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What people use Instagram comment data for
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Brand monitoring:&lt;/strong&gt; what people say under your posts, and under your competitors' posts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Influencer and campaign checks:&lt;/strong&gt; whether the comments on a sponsored post are real conversation or emoji spam&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Giveaway draws:&lt;/strong&gt; a full list of usernames who commented, ready for a random pick&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sentiment and community research:&lt;/strong&gt; a spreadsheet of comments to tag, count or feed to an LLM&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI datasets:&lt;/strong&gt; clean, flat comment text with dates and like counts&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What data you get
&lt;/h2&gt;

&lt;p&gt;Each comment is one flat row:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"platform"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"instagram"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"comment"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"postUrl"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://www.instagram.com/p/DdPsDCWRT-u/"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"This view never gets old!"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"createdAt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2026-10-16T09:41:12.000Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"author"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"username"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"jane.doe"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"profileUrl"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://www.instagram.com/jane.doe/"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"likeCount"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"scrapedAt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2026-10-17T16:09:00.000Z"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You also get the comment and post IDs and a direct link to each comment. Two things you won't get: &lt;strong&gt;replies&lt;/strong&gt; to comments (Instagram doesn't make them available, so you get top-level comments) and commenters' &lt;strong&gt;display names or photos&lt;/strong&gt; (only the username and ID come with each comment).&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 1: No code (about 3 minutes)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;a href="https://apify.com/icoe-man/instagram-comments-scraper" rel="noopener noreferrer"&gt;Instagram Comments Scraper&lt;/a&gt; and click &lt;strong&gt;Try for free&lt;/strong&gt;. You'll need a free Apify account.&lt;/li&gt;
&lt;li&gt;Paste one or more post or reel links into &lt;strong&gt;Instagram post or reel URLs&lt;/strong&gt;. Links with &lt;code&gt;/p/&lt;/code&gt;, &lt;code&gt;/reel/&lt;/code&gt;, &lt;code&gt;/reels/&lt;/code&gt; and &lt;code&gt;/tv/&lt;/code&gt; all work.&lt;/li&gt;
&lt;li&gt;Set &lt;strong&gt;Max comments per post&lt;/strong&gt;. Up to 24 is the fastest.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Start&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmvtpq51ngl1hosx9a2vx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmvtpq51ngl1hosx9a2vx.png" alt="Instagram Comments Scraper page on Apify Store with the Try for free button" width="798" height="195"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Instagram Comments Scraper on Apify Store. "Try for free" opens the input form.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Comments the tool collected recently come back instantly. A new post usually takes 40 to 90 seconds, and up to three are processed in parallel. When the run finishes, open the &lt;strong&gt;Output&lt;/strong&gt; tab and export to CSV, Excel or JSON.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fld98pl8wyu5hn1vrt0ns.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fld98pl8wyu5hn1vrt0ns.png" alt="Instagram comments exported to CSV: post, username, comment text, like count and date" width="800" height="470"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Real output from the natgeo profile, last 30 days (8 of 72 rows; usernames hidden here for privacy).&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Scrape comments from a whole profile
&lt;/h3&gt;

&lt;p&gt;Often you don't have post links. You want "the comments on Nike's last five posts" or "everything under our posts this month." For that, leave the URL field empty and use &lt;strong&gt;Profiles&lt;/strong&gt; instead:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Profiles:&lt;/strong&gt; usernames (&lt;code&gt;natgeo&lt;/code&gt;) or profile links&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Posts per profile:&lt;/strong&gt; 1 to 50. The tool reads the posts in the order the profile's grid shows them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Only posts newer than:&lt;/strong&gt; optional, e.g. &lt;code&gt;30 days&lt;/code&gt; or &lt;code&gt;2026-09-01&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhnw1cq0qwr53e24tpvba.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhnw1cq0qwr53e24tpvba.png" alt="Profile inputs of the Instagram comments scraper: Profiles, Max comments per post, Posts per profile, Only posts newer than" width="800" height="690"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;The profile settings, from the Actor's Input tab.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;One thing to know: profiles can pin up to three posts to the top of their grid, and those come first. If a brand pinned an old post, it counts toward &lt;strong&gt;Posts per profile&lt;/strong&gt;. The date filter then drops it if it's older than your cutoff.&lt;/p&gt;
&lt;h2&gt;
  
  
  Option 2: Python
&lt;/h2&gt;

&lt;p&gt;Install the client:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;apify-client pandas
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then run the scraper on a profile and save the comments to a CSV. Your API token is under &lt;strong&gt;Settings → API &amp;amp; Integrations&lt;/strong&gt; in Apify Console.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;apify_client&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ApifyClient&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;ApifyClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;YOUR_APIFY_TOKEN&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;run&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;actor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;icoe-man/instagram-comments-scraper&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;call&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;run_input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;profiles&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;natgeo&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;postsPerProfile&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;onlyNewerThan&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;30 days&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;maxCommentsPerPost&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;24&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;

&lt;span class="n"&gt;items&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dataset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;defaultDatasetId&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]).&lt;/span&gt;&lt;span class="nf"&gt;list_items&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;
&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json_normalize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# author.username becomes its own column
&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;natgeo_comments.csv&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; comments saved&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For specific posts, swap &lt;code&gt;profiles&lt;/code&gt; for &lt;code&gt;"postUrls": ["https://www.instagram.com/p/DdPsDCWRT-u/"]&lt;/code&gt;. You can pass both in one run, and up to 1,000 posts and 200 profiles per run.&lt;/p&gt;

&lt;p&gt;If you call it from an AI agent or a script with a short timeout, start the run without waiting (&lt;code&gt;client.actor(...).start(...)&lt;/code&gt;) and fetch the dataset when it's done. Or set &lt;code&gt;"cacheOnly": True&lt;/code&gt; for an instant answer from previously collected comments. That works for post URLs only, since profiles need a live collection.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs
&lt;/h2&gt;

&lt;p&gt;You pay per comment, plus small per-post and per-profile fees. Prices as of October 2026:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Apify plan&lt;/th&gt;
&lt;th&gt;Per 1,000 comments&lt;/th&gt;
&lt;th&gt;Per post&lt;/th&gt;
&lt;th&gt;Per profile&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;$1.25&lt;/td&gt;
&lt;td&gt;$0.005&lt;/td&gt;
&lt;td&gt;$0.025&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Starter&lt;/td&gt;
&lt;td&gt;$1.05&lt;/td&gt;
&lt;td&gt;$0.005&lt;/td&gt;
&lt;td&gt;$0.025&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scale&lt;/td&gt;
&lt;td&gt;$0.90&lt;/td&gt;
&lt;td&gt;$0.005&lt;/td&gt;
&lt;td&gt;$0.025&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business&lt;/td&gt;
&lt;td&gt;$0.75&lt;/td&gt;
&lt;td&gt;$0.005&lt;/td&gt;
&lt;td&gt;$0.025&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Example: 5,000 comments from 100 posts on Starter costs 5,000 × $0.00105 + 100 × $0.005 = &lt;strong&gt;$5.75&lt;/strong&gt;. For profiles, the per-post fee only applies to posts that returned comments. Private or deleted posts aren't charged at all. You can also set &lt;strong&gt;Maximum cost per run&lt;/strong&gt; so a run never spends more than you decide.&lt;/p&gt;

&lt;p&gt;On Apify's free plan you get previously collected comments plus a small live allowance each day. That's enough for roughly one profile a day at 3 posts and 50 comments per post. Any paid Apify plan removes the limit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tips and gotchas
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No results?&lt;/strong&gt; The run's &lt;code&gt;OUTPUT&lt;/code&gt; record lists a status and a note for every post and profile. The usual causes: the account is private, the link isn't a post link (profiles go under &lt;strong&gt;Profiles&lt;/strong&gt;), or no posts are newer than your date filter.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;pending&lt;/code&gt; status:&lt;/strong&gt; the post is still being collected. It isn't charged, so run it again a bit later.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fresher data:&lt;/strong&gt; &lt;strong&gt;Reuse data collected within (hours)&lt;/strong&gt; controls how old a cached result can be. Set it to 0 to always collect live.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Schedules:&lt;/strong&gt; to track a brand every week, save your input as a task and add an Apify schedule. You can send the results to Google Sheets, Make, Zapier or n8n with Apify's integrations.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is it legal to scrape Instagram comments?&lt;/strong&gt;&lt;br&gt;
The tool collects publicly visible comments only. Comments can still contain personal data, which laws like GDPR protect, so only collect what you have a legitimate reason to process. If you're unsure, ask a lawyer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I need an Instagram account?&lt;/strong&gt;&lt;br&gt;
No. No login, cookies or proxies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I get comments from TikTok, Facebook or Reddit too?&lt;/strong&gt;&lt;br&gt;
Yes, with sister tools that use the same output format: &lt;a href="https://apify.com/icoe-man/tiktok-comments-scraper" rel="noopener noreferrer"&gt;TikTok Comments Scraper&lt;/a&gt;, &lt;a href="https://apify.com/icoe-man/facebook-comments-scraper" rel="noopener noreferrer"&gt;Facebook Comments Scraper&lt;/a&gt;, and &lt;a href="https://apify.com/icoe-man/social-media-comments-scraper" rel="noopener noreferrer"&gt;Social Media Comments Scraper&lt;/a&gt; for all four networks in one run.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;Run &lt;a href="https://apify.com/icoe-man/instagram-comments-scraper" rel="noopener noreferrer"&gt;Instagram Comments Scraper&lt;/a&gt; on a post you care about. The prefilled example finishes in a few seconds. If something doesn't work the way this article says, open an issue on the Actor page. I usually reply within a day.&lt;/p&gt;

</description>
      <category>webscraping</category>
      <category>python</category>
      <category>instagram</category>
      <category>datascience</category>
    </item>
  </channel>
</rss>
