Instagram Intelligence Suite
Pricing
from $2.50 / 1,000 results
Instagram Intelligence Suite
Scrape public Instagram profiles, posts, reels, comments, hashtags, keywords, locations, followers, and following lists.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
Muhammad Qaseem Iqbal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Collect public Instagram data for research, monitoring, influencer discovery, and content analysis. Enter Instagram usernames, post URLs, reel URLs, hashtags, or location URLs, and get clean, structured results you can download or send to your tools.
This Actor is designed for people who want useful Instagram data without building their own scraper or working with raw page code.
What can Instagram Intelligence Suite do?
Instagram Intelligence Suite helps you collect public data from Instagram pages such as:
- Profile details, including username, full name, profile URL, follower count, following count, post count, profile picture, and public account flags when available
- Public posts, reels, videos, and carousel-style media found on profile, hashtag, or location pages
- Captions, hashtags, mentions, media URLs, and engagement metrics when Instagram exposes them publicly
- Public comments and replies when they are included in the public page data
- Hashtag and location discovery results from public Instagram pages
- Clean JSON records that are easy to export to CSV, Excel, Google Sheets, databases, dashboards, or automation tools
The Actor only works with public Instagram data. It does not log in to Instagram, bypass private accounts, or access private content.
Why use this Actor?
You can use Instagram Intelligence Suite to:
- Track public brand mentions and campaign hashtags
- Find posts and reels around a niche, topic, event, or location
- Research influencers, creators, and public profile activity
- Collect user-generated content for review or reporting
- Monitor engagement on public posts and reels
- Export public Instagram data for analysis in spreadsheets or BI tools
- Build automated workflows with Apify integrations, APIs, schedules, and webhooks
Profile research use cases
Profile scraping is useful when you want a quick public snapshot of an Instagram account.
For example, you can use profile targets to:
- Check public follower, following, and post counts
- Review bios, profile names, profile images, websites, and business categories when available
- See whether a public account is verified, private, or marked as a business account
- Compare creators, brands, competitors, or public organizations
- Build a list of public profiles for market research, influencer discovery, or reporting
You can enter a username such as nasa, an @username, or a full profile URL such as https://www.instagram.com/nasa/.
Hashtag and discovery use cases
Hashtag discovery is useful when you want to understand what people are posting around a topic, campaign, event, product category, or community.
For example, you can use a hashtag target to:
- Collect public posts and videos connected to a campaign hashtag
- Find creators posting in a specific niche
- Review captions, mentions, and related hashtags
- Compare engagement across public content in a topic area
- Build a content library for reporting or manual review
You can enter hashtags with or without the # symbol. For simple keyword targets, the Actor can treat plain words such as birdsofinstagram like hashtags. Broad free-form Instagram search is different and is listed in the limitations section below.
Reels and video use cases
Reel scraping is useful when you want to track short-form video content, campaign performance, creator activity, or competitor posts.
For example, you can use reel and video targets to:
- Scrape a direct public reel URL
- Discover public reels from profile, hashtag, or location pages when Instagram exposes them
- Review captions, hashtags, mentions, owner details, timestamps, and engagement metrics
- Collect public video URLs, display images, duration, dimensions, and music information when available
- Save supported videos or images to Apify storage by turning on
downloadMedia - Run the Actor on a schedule to compare public metrics over time
The Actor does not create video transcripts itself. It can only return transcript-related fields when Instagram exposes that information in the public page data.
Comment analysis use cases
Comment scraping is useful when you want to understand how people are reacting to a specific public post or reel.
For example, you can use comment targets to:
- Collect public comment text from a direct post or reel URL
- Include public replies when they are available
- Review commenter usernames, timestamps, likes, reply counts, and comment URLs
- Monitor feedback on campaigns, launches, creator partnerships, or competitor content
- Export comments for manual review, moderation support, reporting, or sentiment analysis in another tool
Instagram does not always include full comment threads in public page data. Direct post or reel URLs usually work best for comments, but the number of comments can still vary.
What Instagram data can I extract?
The output depends on what Instagram makes available on the public page at the time of the run. Typical records can include:
| Record type | What it contains |
|---|---|
profile | Username, profile URL, full name, follower count, following count, post count, profile image, verification/private flags when public |
media | Post or reel URL, shortcode, caption, hashtags, mentions, owner, media image/video URL, view count, play count, likes, comments, duration, music info, location, and public flags when available |
comment | Comment ID, text, owner username, owner profile image, likes, timestamp, position, replies, reply count, comment URL, and post URL when available |
hashtag | Hashtag URL, normalized tag, observed media count, and related tags when available |
location | Location ID or URL, location name, observed media count, and media records when available |
error | A clear explanation when Instagram does not expose the requested public data |
Common media fields include captions, hashtags, mentions, public creator information, image URLs, video URLs, downloaded media URLs, view counts, play counts, like counts, comment counts, timestamps, durations, dimensions, music information, locations, tagged users, latest public comment previews, and public content flags when Instagram includes them.
Common profile fields include username, profile URL, full name, biography, external website URL, follower count, following count, post count, highlight count, business category, public/private status, verification status, profile image URL, and public "about" details when Instagram exposes them.
How to use Instagram Intelligence Suite
- Click Try for free or Run on the Actor page.
- Add one or more Instagram targets, such as a username, post URL, reel URL, hashtag, or location URL.
- Choose how many results you want.
- Run the Actor.
- Download the results as JSON, CSV, Excel, XML, HTML, or access them through the Apify API.
No code is required. Developers can also run the Actor from the Apify API, SDKs, schedules, or webhooks.
Input
You can set up the Actor from the Apify UI or by sending JSON input through the API. The most important input fields are:
| Setting | What it does |
|---|---|
targets | The Instagram usernames, URLs, hashtags, locations, or post/reel/comment targets you want to scrape |
operationPreset | The type of run, such as profiles, post details, comments, hashtag discovery, or location discovery |
maxResultsPerTarget | Maximum number of media records to collect for each target |
maxItemsTotal | Hard limit for the whole run |
contentTypes | Which media types to include, such as posts, reels, videos, images, or carousels |
includeComments | Adds public embedded comments when they are available |
commentLimit | Maximum number of public comments to save for each post or reel |
includeReplies | Adds embedded public replies when Instagram includes them |
downloadMedia | Saves supported images or videos to the Apify key-value store |
flattenOutput | Adds CSV-friendly top-level fields for easier spreadsheet exports |
includeErrorRecords | Saves clear error records for unavailable or unsupported targets |
For hashtag runs, you can add one hashtag or many hashtags. Keep the first run small, check the dataset, then raise maxResultsPerTarget if the public page exposes enough results.
For profile runs, you can add one username or a list of usernames. You can also paste full Instagram profile URLs if you already have them from another source.
For post, reel, and comment runs, paste the exact public Instagram URL. Direct URLs are the best option when you need details or comments for a specific item.
Input examples
Scrape a public profile
Use this when you want profile-level information such as follower count, post count, and profile image.
{"operationPreset": "profiles","targets": [{"type": "profile","value": "nasa"}]}
Find public posts and reels from a hashtag
Use this to discover content around a campaign, topic, niche, event, or community hashtag.
{"operationPreset": "hashtagDiscovery","targets": [{"type": "hashtag","value": "birdsofinstagram"}],"contentTypes": ["post", "reel"],"maxResultsPerTarget": 50}
Scrape one public post or reel
Use this when you already know the Instagram post or reel URL.
{"operationPreset": "postDetails","targets": [{"type": "post","value": "https://www.instagram.com/p/DW_CSSeDMyA/"}]}
Scrape one public reel and save the video
Use this when you want reel metadata and want Apify to save the supported video file when Instagram exposes a public video URL.
{"operationPreset": "reelDetails","targets": [{"type": "reel","value": "https://www.instagram.com/reel/SHORTCODE/"}],"downloadMedia": true,"mediaTypesToDownload": ["video"],"includeComments": true,"commentLimit": 20}
Scrape public comments
Use this to collect public comments when Instagram includes them in the page data.
{"operationPreset": "comments","targets": [{"type": "comments","value": "https://www.instagram.com/p/SHORTCODE/"}],"commentLimit": 100,"includeReplies": true}
Scrape public media from a location
Use this when you want public posts or reels connected to a public Instagram location page.
{"operationPreset": "locationDiscovery","targets": [{"type": "location","value": "https://www.instagram.com/explore/locations/213385402/"}],"maxResultsPerTarget": 50}
Output
Results are saved to the Apify dataset for the run. You can find them in the Storage tab and export them as JSON, CSV, Excel, XML, HTML, or through the Apify API.
Each item in the dataset has a recordType, so you can easily tell whether it is a profile, media item, comment, hashtag, location, or error message.
Output examples
Profile result
{"recordType": "profile","username": "nasa","url": "https://www.instagram.com/nasa/","fullName": "NASA","followersCount": 104000000,"followsCount": 95,"postsCount": 4815,"profilePicUrl": "https://scontent.cdninstagram.com/..."}
Media result
{"recordType": "media","mediaKind": "video","shortCode": "DW_CSSeDMyA","url": "https://www.instagram.com/p/DW_CSSeDMyA/","caption": "You are hot for a young couple #parrot #farm #birdsofinstagram","hashtags": ["parrot", "farm", "birdsofinstagram"],"owner": {"username": "example_creator","isVerified": false},"metrics": {"videoViewCount": 1116825,"videoPlayCount": 1116825},"media": {"displayUrl": "https://scontent.cdninstagram.com/...","videoUrl": "https://instagram.cdninstagram.com/..."}}
Comment result
{"recordType": "comment","id": "17949788698583607","postUrl": "https://www.instagram.com/p/SHORTCODE/","text": "Amazing post!","position": 1,"timestamp": "2026-06-11T14:44:09.000Z","owner": {"username": "commenter","isVerified": false,"profilePicUrl": "https://scontent.cdninstagram.com/..."},"likesCount": 12,"repliesCount": 1,"replies": [{"text": "Thanks for sharing this!","ownerUsername": "another_user"}]}
Error result
{"recordType": "error","errorInfo": {"code": "NO_EMBEDDED_MEDIA_FOUND","message": "No public embedded media was found on the hashtag page.","retryable": false}}
Error records are useful because they tell you what happened instead of silently hiding missing results.
Using the Actor as an API
You can use Instagram Intelligence Suite without opening the Apify Console. Run it from your own app, dashboard, backend job, or automation tool through the Apify API.
Common automation options include:
- Run the Actor on a schedule
- Trigger it from a webhook
- Send results to another app after each run
- Export datasets automatically
- Call the Actor from Node.js, Python, or any HTTP client
- Connect results to tools such as Make, Zapier, n8n, Slack, Airbyte, Google Sheets, Google Drive, or your own database
- Use the Actor from tools that connect to Apify through an API or MCP-style integration
This makes it useful for recurring reports, campaign monitoring, creator tracking, and content pipelines.
Developers can use the Apify API directly or use the official Apify clients for JavaScript and Python to start runs, monitor status, and fetch dataset items.
How many results can you scrape?
The number of results depends on what Instagram shows publicly at the moment of the run. A profile, hashtag, post, reel, or location page may expose different data depending on:
- Whether the content is public
- The type of Instagram page
- The region and runtime environment
- Instagram layout changes
- Rate limits or temporary anti-automation behavior
- Whether Instagram includes the data in the public page HTML
For best results, start with a small test run, confirm the output, then increase maxResultsPerTarget.
How much does it cost?
The cost depends on your Apify plan, run size, memory settings, proxies, and the pricing model selected for this Actor on the Store.
To control costs:
- Start with a small
maxResultsPerTarget - Use
maxItemsTotalto set a hard cap - Keep
downloadMediaturned off unless you need media files saved - Use focused targets instead of very broad searches
You can see the exact run cost in Apify after each run.
Important notes and limitations
Instagram public data is dynamic. Sometimes a public page shows media, comments, or metrics; sometimes Instagram does not include them in the public page data. When data is not available, the Actor returns a clear error record where possible.
Current limitations:
- Private profiles and private posts are not supported.
- Login-only data is not supported.
- Followers and following lists are not collected from public pages because Instagram does not provide a stable public endpoint for them without authenticated access.
- Free-form keyword search is limited. Simple keyword values can be treated like hashtags, but broad Instagram search requires a separate search backend.
- Like counts, comment counts, view counts, captions, comments, and media URLs may be missing when Instagram hides or changes the public data.
- Comment results are limited to comments and replies embedded in the public page data. They may not match everything you see while logged in to Instagram.
- The Actor does not generate AI summaries, sentiment labels, or transcripts. It exports structured data that you can analyze in another tool.
Is it legal to scrape Instagram?
This Actor is built for public Instagram data only. It does not access private accounts or private content.
Public profile, post, and comment data can still include personal data. You are responsible for using the results lawfully and ethically. Make sure you have a legitimate reason for collecting the data, follow applicable privacy laws such as GDPR, avoid collecting unnecessary sensitive information, and delete data when you no longer need it.
If you are unsure whether your use case is allowed, consult a legal professional.
FAQ
Can I scrape private Instagram accounts?
No. This Actor only collects data that is publicly available.
Can I scrape followers and following lists?
Not from public Instagram pages. The Actor recognizes follower and following requests and returns a clear unsupported-endpoint message, but it does not collect private or login-only audience lists.
Can I get Instagram profile details by username?
Yes. Add a username such as nasa or @nasa, choose the profiles preset, and the Actor will collect the public profile fields Instagram exposes for that account.
Can I get Instagram profile details by URL?
Yes. You can paste a full public profile URL such as https://www.instagram.com/nasa/. The Actor normalizes it to the username and returns the available public profile data.
Why are some profile fields empty?
Not every profile exposes the same data publicly. Some fields may be missing because the account does not provide them, Instagram hides them, or the public page did not include them during the run.
Can this Actor scrape reels?
Yes, when public reel data is available. You can provide a reel URL directly, use profile reel discovery, or include "reel" in contentTypes for discovery-style runs.
Can I scrape one reel by URL?
Yes. Use the reelDetails preset and paste the full public reel URL, such as https://www.instagram.com/reel/SHORTCODE/.
Does this Actor generate reel transcripts?
No. It does not transcribe audio or generate text from videos. It only returns transcript-related fields if Instagram exposes them in the public page data.
Can I scrape posts and reels from a hashtag in the same run?
Yes. Add a hashtag target and choose the content types you want to collect. Instagram may expose posts, videos, or reels differently depending on the hashtag page, so the exact mix of results can vary.
Can I enter hashtags with the # symbol?
Yes. You can enter #birdsofinstagram or birdsofinstagram. The Actor normalizes the hashtag before running.
Can I scrape comments from posts or reels?
Yes. Use the comments preset with a direct public post or reel URL, or turn on includeComments for post and reel detail runs. The Actor saves the comments Instagram includes in the public page data.
Can I get comment replies?
Yes, when Instagram includes embedded replies publicly. Turn on includeReplies to keep those replies in the comment records.
Why did I get fewer comments than I can see on Instagram?
Instagram often shows more comments to logged-in users than it exposes to public visitors. The Actor only saves comments available from the public page data during the run.
Why did I get fewer results than expected?
Instagram may not expose all content in the public page data. The number of available results can vary by page type, region, public visibility, rate limits, deleted content, and Instagram layout changes.
Why are some fields missing?
Some Instagram data is not always public. For example, users may hide like counts, comments may not be embedded, media URLs may expire, or Instagram may not include certain metrics in the page data.
Can I download the images or videos?
Yes. Turn on downloadMedia if you want supported media files saved to the Apify key-value store. Leave it off if you only need URLs and metadata. Direct Instagram CDN links can expire or change, so downloading media is useful when you need files saved with the run.
Does this Actor analyze sentiment or summarize comments?
No. It collects structured public data. You can export the dataset to another tool for sentiment analysis, summaries, dashboards, or reporting.
Can I export the results to Excel or CSV?
Yes. Apify datasets can be exported as JSON, CSV, Excel, XML, HTML, RSS, and through the API. For CSV-friendly exports, turn on flattenOutput.
Can I use this Actor with other apps?
Yes. You can connect it to schedules, webhooks, API calls, and Apify integrations. For example, you can run it every day, export the dataset, and send the results to a spreadsheet, database, or analytics workflow.
Tips for better results
- Test with one target before running a large batch.
- Use direct post or reel URLs when you need details for a specific item.
- Use hashtags or location URLs when you want discovery-style results.
- Keep result limits realistic for public Instagram pages.
- Check error records and run logs when results are lower than expected.
- Use proxies for production runs.
Support
If a run does not return the results you expected, check the run log and error records first. They usually explain whether Instagram did not expose the data, the target was unavailable, or the request type is not supported through public access.