Tutorial: Scrape Instagram Without Limits and Without Using Cookies (2025)
In this tutorial, we explore three efficient ways to scrape Instagram without limits and without using cookies — a simple manual method, a Make automation, and an advanced n8n scenario. At every stage, we ensure the extracted data is cleanly structured to make it easy to use. You can also download ready-to-use workflows to save time and boost your productivity.
Sommaire
Introduction – Why and How to Scrape Instagram Without Using Cookies?
Quick Definition – Understand Web Scraping in One Minute
Web scraping is a method used to automatically extract data from websites. There are two main types: scraping public pages that don’t require login, and scraping secured platforms like Instagram, Facebook, or LinkedIn, which do. These platforms protect their data by limiting requests and blocking suspicious activity. To scrape Instagram at scale without using cookies, it’s essential to bypass these restrictions smartly—without violating platform rules. Instead of using login-based cookies, prefer automated tools that simulate human behavior, space out requests, and structure your output for easy use. By following these best practices, you can collect reliable data while avoiding blocks or account bans.
Why Use Scraping on Instagram to Collect Data?
Instagram has hundreds of millions of active users, making it a virtually unlimited and constantly refreshed source of data. For brands and professionals, Instagram scraping is a powerful way to collect valuable insights: competitor profiles, followers with specific interests, trending content, and much more. This information can help you build smarter marketing lists, automate personalized actions, or even spark fresh creative ideas. In short, scraping Instagram unlocks a world of possibilities to better understand your market, sharpen your strategy, and boost your performance.
What data can you extract from an Instagram account?
Here are the main types of data you can extract from an Instagram account using scraping:
- Profile Information: full name, username, unique ID, profile picture, and verification status.
- Posts: content type (photo, video, carousel), captions, used hashtags, and user mentions.
- Stats: number of likes, comments, video views, and video duration.
- Recent Comments: comment text, author name, author profile picture, number of replies and likes.
- Tags: tagged users in posts, their profile info, and IDs.
- Media: direct image and video URLs, dimensions, and download links.
- Other Details: pinned posts, sponsored content, and background music info for videos.
This data can be structured into detailed databases that help you analyze competitors, identify leads, or power highly targeted marketing campaigns.
Why Cookie-Free Scraping Is Essential on Instagram
Instagram and the entire Meta ecosystem are making it harder than ever to access data. Scraping Instagram usually means being logged in, using session cookies— but that’s risky. Your account can get blocked or even suspended in no time. Plus, Instagram constantly updates its rules and detects suspicious activity, which can instantly break your automation. That’s why scraping without cookies is a total game changer: you avoid those risks, stay under the radar, and build automations that last. If you want reliable and long-term scraping, skip the cookies and check out the tutorial.
Tutorial 1: Manually Scrape Instagram with Apify (No Cookies Needed)
In this first tutorial, you’ll learn how to manually scrape Instagram with Apify — completely cookie-free. We’ll show you how to install and configure the Apify actor for different scraping needs: posts, comments, profiles, reels, or mentions. You’ll get a clear, step-by-step walkthrough to fine-tune each type of Instagram scraping. The entire process is supported by a video tutorial to make it easy to follow. This method is perfect if you want full control over your Instagram scraping, without any technical hassle.
Video Tutorial – Scrape Instagram at Scale with Apify (No Cookies Required)
Requirements to Start Scraping Instagram with Apify
Create a Free Account on Apify
Creating an Apify account is quick and easy. To get started, go to the official Apify site using this link. Just enter your email address and a secure password to register.
Apify uses a freemium model: you’ll get a limited number of free scrapes each month. After that, usage is billed—but pricing stays very reasonable considering the platform’s power and reliability.
Install the Instagram Scraper Actor on Apify
Once your account is created, log in to Apify. In the left-hand menu, click on Apify Store to browse the library of available actors. Look for the actor named Instagram Scraper in the list. If it doesn’t appear right away, use the search bar at the top and type “Instagram Scraper”. When you find it, click on it to open its dedicated page, then hit Install. The actor will be added to your dashboard, ready to be configured for your Instagram scraping needs.
Start Instagram Scraping with Apify: Setup and Execution
Instagram – Tutorial to Scrape Posts with Apify
To scrape Instagram posts using Apify, start by opening the Instagram Scraper actor in your Apify dashboard.
In the settings, paste the Instagram profile URL you want to scrape into the Instagram URL field. You can add multiple URLs by clicking the + Add button underneath to scrape several profiles in one run.
Make sure to select the Scrap Posts option to extract posts, and set the maximum number of posts you want to retrieve (default is 200).
Once everything is set, click Save & Start to launch the scraper. You’ll be redirected to a preloading page where you can follow the scraping process in real time. This page displays key post data including images, comment count, media dimensions, internal ID, hashtags, URLs, captions, and more.
At the bottom of the page, you’ll be able to export your results in the format of your choice: JSON, CSV, XML, Excel, HTML, RSS, or JSONL.
This visual interface gives you full control of your scraping job and helps you collect clean, structured Instagram post data for your campaigns and analyses.
Instagram – How to Automatically Scrape Comments with Apify
To scrape Instagram comments, go back to your Instagram Scraper actor on Apify. This time, instead of entering a profile URL, paste the URL of the Instagram post you want to extract comments from. You can add multiple post URLs by clicking the + Add button to scrape comments from several posts at once. Note: the maximum number of comments per post is limited to 50.
Once your URLs and parameters are set, click Save & Start to begin scraping. You’ll be redirected to a preloading page where comments will appear in real time. Each comment includes the text, author, timestamp, number of likes, and other relevant details. At the bottom of the page, you’ll be able to export the data in your preferred format: JSON, CSV, XML, Excel, HTML, RSS or JSONL.
This method gives you a fast and structured view of interactions on any Instagram post — perfect for analysis or targeted marketing strategies.
Instagram – How to Scrape Profile Mentions with Apify
To scrape Instagram profile mentions with Apify, go back to your Instagram Scraper actor. This time, simply enter the URL of the profile you want to analyze in the input field. Make sure to select the option Scrape Mentions, which will collect all the posts where the profile has been mentioned or tagged by other users.
You can add multiple profiles by clicking the + Add button to scrape mentions across different accounts. Once your configuration is done, click Save & Start to launch the run.
The results will appear in a live preview, showing all posts where the profile was mentioned. You’ll get access to useful metadata like post URLs, captions, number of likes, and images. At the bottom of the page, export your data in the format of your choice: JSON, CSV, Excel, HTML, RSS, or JSONL.
Scraping mentions is a smart way to monitor brand visibility, track user-generated content, or stay updated on collaboration opportunities.
Instagram – Scrape Reels from a Profile Using Apify
To extract Instagram Reels from a profile, start by opening the Instagram Scraper actor on Apify. This time, enter the Instagram profile URL you want to scrape Reels from.
Reels are short-form videos inspired by TikTok and are among the most engaging content on Instagram. Scraping Reels lets you collect the videos themselves along with valuable data like view count, likes, comments, and other key metrics.
You can add multiple profile URLs by clicking the + Add button to scrape Reels from several accounts at once. Once your settings are configured, launch the scraping by clicking Save & Start.
After starting the process, a live preview page will appear showing all the extracted Reels and their detailed information. You can then export the data in your preferred format: JSON, CSV, XML, Excel, HTML, RSS, or JSONL.
This feature is perfect for analyzing a profile’s top-performing video content and refining your strategy accordingly.
Instagram – Scrape profile, post, hashtag or location details with Apify
To extract specific details from an Instagram profile, post, hashtag or location, use the Apify Scraper for Instagram Data module. Simply enter the relevant URL — it can be a user profile, a specific post, a hashtag page, or even a location page.
The module will automatically pull all available data from the input URL: profile bios and metrics, post content, related media for hashtags, or posts linked to a specific location.
You can add multiple URLs using the + Add button to run bulk scraping in one click. Once your URLs are set, hit Save & Start to launch the scraping process.
A real-time monitoring page will display all extracted data, which you can then export in your preferred format (JSON, CSV, Excel, and more).
This flexible feature is ideal to get a full picture of Instagram profiles, posts, tags, or locations — helping you fuel your competitive research, marketing strategy, or content planning.
Tutorial 2: Automatically Scrape Instagram with Make (No Cookies Required)
In this second tutorial, you’ll learn how to automatically scrape Instagram using Make, without cookies. We’ll guide you through creating a preformatted Google Sheet to neatly organize all extracted data. This automation builds clearly structured, named sheets containing detailed Instagram profile information pulled from a list in Google Sheets. By the end, you’ll have a simple, powerful system to centralize and use your Instagram scraping data—no tech headaches involved.
When you download this automation, you’ll also get access to a dedicated Google Drive folder and a preconfigured example Google Sheet. This means you can launch the automation in one click, with no need to manually set up spreadsheets or tabs. Everything’s ready to go so you can start scraping faster and more efficiently.
Download the Ready-to-Use Make Scenario — 100% Free
Video Tutorial – Scrape Instagram Without Limits Using Make (No Cookies)
Step-by-Step Guide – Automate Instagram Scraping with Make
Step 1: Monitor New Entries and Prepare Google Sheets with Optimized Organization in Google Drive
Step 2: Extract Instagram Profile Data via Apify and Add it to Google Sheets
In this step, add the native Apify Scraper for Instagram Data module to extract profile information from Instagram.
The main parameter to set is the Instagram username, which should be pulled directly from your Google Sheets list.
This module fetches detailed profile data such as full name, biography, follower count, profile picture, and more.
Important: some descriptions can be very long. To avoid errors when writing to Google Sheets, use the substring()
function in Make to limit text size (e.g., to 5000 characters).
Then, add an Add a Row module to insert this data line by line into the “Profile Information” sheet, following the column structure defined by the headers.
Step 3: Scrape Instagram Posts from Profiles and Organize the Data into Dedicated Sheets
To collect posts from Instagram profiles, insert the native Apify Scraper for Instagram Data module and configure it in “Extract Instagram Posts” mode. Provide the target Instagram username and limit the results to a maximum of 5 posts per profile.
This module retrieves key details like captions, hashtags, mentions, number of likes, comments, publish date, and content type (photo, video, carousel).
Just like with profiles, use the substring()
function in Make to limit long text fields and prevent errors when writing to Google Sheets.
Finish this step by inserting the post data into the “Post Information” sheet using an Add a Row module.
The results are structured and automatically inserted into a dedicated Google Sheets tab for posts.
Step 4: Prepare individual sheets for comments with automatic creation and structure
For each retrieved post, insert a Create Sheet module that creates a new tab named with the post’s unique ID. This allows you to store comments per post clearly and separately in your spreadsheet.
Then, add an Add a Row module to set up a comment-specific header including fields like comment text, author, date, likes, and more. This step ensures that your comments are well structured and ready for use in future workflows or analysis.
Step 5: Scrape Instagram post comments and store data in corresponding sheets
To scrape post comments, insert a native Apify Scraper for Instagram Data module configured with the “Extract Instagram Comments” mode. This step fetches up to 10 comments per post, including the text, author, profile picture, like count, date, and any replies.
Use an Add a Row module to insert each comment into the sheet created in the previous step, matching the corresponding Instagram post. Make sure to handle edge cases where comments might be turned off to avoid execution errors.
Each post has its own tab filled with comments collected by Apify and inserted line by line.
Step 6: View and Use Scraped Data in Google Sheets – Clean and Automated Organization
At the end of the automation, a Google Sheets spreadsheet is automatically generated to centralize all extracted data. This file includes two main preformatted sheets: “Profile Information” to store key details from Instagram profiles, and “Post Information” where all scraped posts are listed with their details (captions, likes, comments, etc.).
For each scraped post, a dedicated sheet is created using its unique ID. These sheets contain the full list of related comments, with all relevant information (text, author, date, likes).
This setup makes it easy to browse through profiles, their posts, and user interactions — allowing you to analyze and reuse your data in a clear, organized, and fully automated way.
You can navigate across the different tabs to explore profiles, posts, and their associated comments — all automatically organized by the automation.
Make Tip: Use the native “Get Public User Info Instagram for Business” module
Make offers a super handy native module that lets you easily fetch public information from an Instagram profile, directly via the official API.
This module, called Get Public User Info Instagram for Business, only requires you to be connected to a Business Instagram account. The real advantage? It’s unlimited and fully authorized by Instagram, so there’s zero risk of getting blocked.
With this module, you can instantly retrieve all the essential public profile data:
- follower count,
- media count,
- bio,
- Facebook and Instagram IDs,
- full name,
- profile picture,
- Instagram username,
- and even the linked website.
Basically, if you don’t need to scrape posts or comments and just want reliable, public data on a profile, this is the easiest and safest option to go with. It’s a super useful trick to get straight to the point without any hassle.
Tutorial 3: Automatically Scrape Instagram with n8n (No Cookies Required)
In this third tutorial, you’ll learn how to automate Instagram scraping using n8n — still without using any cookies. We start by retrieving a list of profiles from a Google Sheet, then use a custom HTTP request to Apify to extract profile data. That data is then inserted directly into the same spreadsheet, neatly organized. What’s special here is that n8n doesn’t have a native Apify module, so we connect everything using fully customized API requests. This method gives you an easy and clean way to automate Instagram data extraction using a powerful, flexible tool like n8n.
Download the Ready-to-Use n8n Automation for Free
Video Tutorial – Automatically Scrape Instagram Profile Info from Google Sheets with n8n
Step-by-Step Guide – Scrape Instagram Profile Info from a Google Sheet with n8n
Step 1: Detect New Instagram Profiles via Google Sheets
The first step is to configure a Google Sheets trigger. This module monitors your spreadsheet — named “n8n” here — and starts the workflow as soon as a new row is added with an Instagram profile URL to scrape. It’s crucial that you replace the Google Sheets document ID with your own file’s ID. Without it, the automation won’t know where to look for new profiles. Also, make sure your Google Sheets credentials are properly connected to n8n or Make to authorize the integration. If you download the automation, a template file is included, but it’s this setup that makes everything work properly.
The Google Sheets Trigger module ensures that each new row starts the n8n workflow, so your Instagram scraping runs hands-free.
Step 2: Dynamic Creation and Setup of Sheets in Google Sheets
The goal here is to keep your data clean and organized. This module automatically creates a new sheet inside your main Google Sheets document. The sheet name is dynamic and matches the Instagram username you’re about to scrape. Once again, it’s crucial to set the correct document ID — it should be the same one used in the previous step.
This setup ensures each profile gets its own separate sheet, making your data easier to manage, read, and analyze later on.
The Create Sheet module dynamically generates one tab per profile, automatically named with its username, making your data clean and well-organized.
Step 3: Launch and Monitor Instagram Scraping via Apify
This is the most technical and critical part of your automation. This module sends a POST request to the Apify API to launch an actor that will scrape the Instagram profile. You must insert your Apify API key in the Authorization header using the format: Bearer your_api_key.
The JSON request body should contain your scraping parameters, for example:
“{
“addParentData”: false,
“directUrls”: [
“{{ $(‘Google Sheets Trigger’).item.json.Url_profil }}”
],
“enhanceUserSearchWithFacebookPage”: false,
“isUserReelFeedURL”: false,
“isUserTaggedFeedURL”: false,
“resultsLimit”: 2,
“resultsType”: “posts”,
“searchLimit”: 1,
“searchType”: “hashtag”
}”
Here, directUrls is dynamically pulled from your Google Sheet. The resultsLimit defines how many posts you want to retrieve — feel free to adjust based on your needs.
Then, you’ll add another module to check the status of the actor’s execution. Again, use the same API key in the headers, and use the runId returned just after the initial POST to track the execution state. If the status isn’t SUCCEEDED, it loops again after a short delay using a Wait node. This avoids spamming the API and ensures the actor has time to finish.
Pro tip: Add a condition to detect failed executions (e.g. status FAILED or ABORTED) to break the loop and prevent infinite execution. This is a smart way to keep your automation stable if something goes wrong.
The workflow checks the run status continuously using an HTTP module and an IF condition. If the scraping isn’t complete, a 2-second delay is triggered before checking again.
Step 4: Process and Batch Insert Scraped Data into Google Sheets
Once the scraping is complete, this module retrieves the results in JSON format from the Apify API (dataset endpoint). It then processes the JSON by breaking it into batches to avoid hitting Google Sheets API limits.
These batches are added row by row into the specific sheet created in Step 2, corresponding to the scraped profile. The sheet name is dynamic and must be passed correctly to ensure the data lands in the right place.
Thanks to this step, you get a clean and structured Google Sheets file with all the scraped information—ready to use, analyze, or connect to other tools.
After the scraping is complete, the data is fetched with an HTTP module and then sent one by one using a Loop into the corresponding sheet via Append Row.
Step 5: Automatic Visualization of Scraped Data in Google Sheets
At this stage, all scraped data is automatically displayed in your Google Sheets. You can view the number of posts, comments, or any other elements you’ve configured in your scraping settings. The list updates in real-time, making it easy to use the data for analysis, reporting, or further automation workflows.
This video shows a timelapse of a Google Sheet being filled automatically, row by row, with data from scraped posts. Each profile gets its own dedicated tab.
Going Further: Exploring Advanced Techniques and Use Cases for Instagram Scraping
What Are the Alternatives for Instagram Scraping That Use Cookies?
There are several popular alternatives for scraping Instagram, such as PhantomBuster. However, these tools require authentication using your Instagram credentials and rely on login cookies. This leads to very strict limits: typically, you can only scrape a few dozen accounts per day since you are using your own profile. Moreover, these methods pose a real risk to your account. As soon as Instagram detects unusual or excessive activity, it may block your access or even permanently delete your account. That’s why cookie-free solutions, like our automation with Apify, are much safer and more effective today.
PhantomBuster
Phantom Buster is a comprehensive tool that enables scraping a wide range of data across multiple social networks and platforms. On Instagram, for example, it allows scraping up to 2,500 comments per day. However, caution is crucial because the automations offered (such as auto-liking or other automatic actions) are subject to very strict limits set by Instagram to prevent account blocks. It is therefore important to respect these limits to avoid getting “striked” by the platform. Phantom Buster offers a freemium model with 30 minutes of free execution and paid plans starting at €69 per month for 20 hours of execution. It can also scrape other popular platforms like LinkedIn, Google, Twitter, Sales Navigator, Yellow Pages, and Github, making it an interesting solution for testing multi-platform scraping.
What Use Cases Can You Trigger After a Successful Instagram Scraping?
Once you’ve successfully scraped Instagram, the possibilities to automate and optimize your strategy are vast. For example, you can set up Instagram automations such as auto-follow to automatically follow targeted profiles, auto-like to engage with posts, auto-comment, and even send personalized messages automatically.
These actions help you build and enrich a qualified database while increasing your visibility and engagement. Beyond that, you can analyze market trends, monitor your competitors’ movements, and maintain continuous watch over their activities.
Scraping also feeds and trains artificial intelligences for creative or analytical uses, giving you an edge in strategic thinking and content creation.
How to Combine Instagram Scraping with Other Tools to Enrich Your Databases?
To effectively enrich your databases with data extracted from Instagram, using automation tools like Make or n8n is ideal. As shown in our previous tutorials, these platforms allow you to easily capture scraped information and automatically transfer it to tools like Google Sheets, Airtable, or powerful CRMs such as HubSpot or Salesforce. This flexibility gives you the freedom to structure, analyze, and leverage your data as you wish, while automating repetitive tasks. In short, combining Instagram scraping with automation software makes your data immediately actionable and boosts your efficiency.
Best Practices to Avoid Blocks and Comply with Instagram’s Policies
The best way to avoid blocks on Instagram is to use the automation presented in this tutorial, which does not rely on a user account or authentication cookies. This protects you from account blocks or suspensions, common with traditional methods.
Of course, this solution comes at a cost—about $2 per 1,000 scrapes—but it’s a small investment compared to the value of the data collected.
Conversely, avoid automations that use your own cookies, as Instagram quickly detects such behavior and may penalize your account.
Finally, always try to mimic human behavior: space out your requests, avoid activity spikes, and limit frequency to remain undetectable by Instagram’s detection algorithms.
Is Scraping Instagram Legal?
Yes, scraping Instagram is legal. However, this does not necessarily mean that the practice complies with Instagram’s Terms of Use, which restrict certain types of data extraction. In summary, scraping is legal under the law, but it is important to stay cautious and respect each platform’s specific rules to avoid any issues.