Actor picture

Instagram Comment Scraper


Add one or more Instagram post URLs to scrape all comments fast. Get post ids, position, timestamp, owner ids, usernames, profile pics, and URLs. Download data in structured formats such as JSON, CSV, XML, Excel, and HTML and use in reports, spreadsheets, and applications.

No credit card required

Author's avatarZuzka Pelechov谩
  • Modified
  • Users114
  • Runs459
Actor picture

Instagram Comment Scraper


Our free Instagram Comment Scraper allows you to scrape comments from one or more Instagram post URLs.

Why scrape Instagram comments?

Scraping comments on Instagram posts can give you quick insights on how an audience is reacting to marketing campaigns, enable you to spot misinformation or abuse, track audience engagement, or help you monitor how competing content is being received.

If you want more ideas, check out our industries pages for ways web scraping is already being used in a wide range of companies.

How to scrape Instagram comments

Instagram Comment Scraper was created to be fast and easy to use. Just follow these steps.

  1. Create a free Apify account.
  2. Open Instagram Comment Scraper
  3. Add one or more Instagram post URLs to scrape.
  4. Click run and wait for the datasets to be extracted.
  5. Download your data in JSON, XML, CSV, Excel, or HTML.

Need to scrape more comments?

Instagram usually only lets you see the first 24 comments without having to log in, so that limits the number of comments you are able to scrape. If you set the max items higher you may get more comments, but it is unreliable and more expensive as it consumes a lot of recources on waiting.

You can scrape more comments by using multiple runs, or if you need more comments per run, use our full-featured Instagram Scraper and log in with your cookies. Beware that Instagram may block your account because of scraping, so use a dummy account if you can.

Want to scrape Instagram hashtags, profiles, or posts?

Use our super fast and easy dedicated scrapers if you want to scrape specific Instagram data. Fewer settings to change and faster results. Just enter one or more Instagram usernames or URLs and click to scrape.

Need something more advanced?

Try our more advanced Instagram Scraper if you need more options and are comfortable with changing settings.

Let us know if you need a custom Instagram scraping solution.

If you want more ideas, check out our industries pages for ways web scraping is already being used in a wide range of companies.

Cost of usage

There are two main factors to take into account if you want to run one of our Instagram scrapers on the Apify platform:

Using proxies

Instagram now aggressively blocks scrapers and redirects them to a login page. Currently, the only reliable solution to this problem is to use residential proxies.

Cost of usage breakdown

Scraping 1,000 Instagram comments will cost you just $3.25 platform credits from your Apify subscription plan.

Scraping 1,000 comments requires about:

  • 1 compute unit
  • 0.24 GB of proxy traffic

Example pricing

Based on Apify's pricing at the time of writing, scraping 1,000 comments would cost 1 CU * $0.25 + 0.24 GB * 12.5 GB, which is a total of $3.25. The Apify Personal plan ($49) would allow you to scrape about 9,000 Instagram comments monthly.

Apify residential proxies

The Apify platform provides residential proxies if you have a paid subscription. These proxies are only available to be run within actors on the Apify platform, not externally. If you are interested in using residential proxies for this scraper, contact via email or in-app chat to get the proxies enabled.

Input parameters

The input of this scraper should be JSON containing the post or list of posts that should be scraped. Required fields are:

Field Type Description
directUrls Array (required) Instagram post URL(s) to scrape posts from
resultsLimit Integer How many comments should be loaded from each URL (limit is per URL)

Instagram post scraper input example

  "directUrls": [
  "resultsLimit": 24

During the actor run

During the run, the actor will output messages letting you know what's going on. Each message always contains a short label specifying which page from the provided list is currently being scraped. When items are loaded from the page, you should see a message about this event with a loaded item count and total item count for each page, in most cases.

If you provide incorrect input to the actor, it will immediately stop with a failure state and output an explanation of what is wrong.

Instagram output format

The actor stores its results in a dataset. Each item is a separate item in the dataset.

You can manage the results in any language (Python, PHP, Node.js/NPM). See the Apify API docs to learn more about getting results from the Instagram Scraper.

The structure of each item in Instagram posts when scrolling looks like this:

"id": "17949788698583607",
"postId": "CH-MgQOn-7E",
"text": "Imagine scrolling to find the end of these comments!馃槀",
"position": 20,
"timestamp": "2021-11-19T13:54:13.000Z",
"ownerId": "47340566177",
"ownerIsVerified": false,
"ownerUsername": "gabriel2005120",
"ownerProfilePicUrl": ""

Personal data

You should be aware that your results could contain personal data. Personal data is protected by 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.