Pricing
from $1.00 / 1,000 results
Instagram Scraper Ultimate
Scrape public Instagram profiles, posts, Reels, hashtags, places, comments, and media links. Export clean data for research, monitoring, and analysis.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
Instagram Scraper Ultimate ๐ธโจ
Extract clean, ready-to-use data from public Instagram pages in minutes. ๐
Instagram Scraper Ultimate helps you collect public Instagram profiles, posts, Reels, hashtags, places, comments, media links, and search results for market research, social listening, influencer discovery, campaign tracking, lead research, and trend monitoring. ๐๐
You do not need an Instagram login for the default setup. The Actor is built for public data only. It does not unlock private profiles, bypass access controls, or collect hidden account data. ๐โ
What does this Actor do? ๐
Give the Actor Instagram usernames, post URLs, Reel URLs, hashtag URLs, place URLs, or a search term. It visits the public pages, extracts the information Instagram makes visible, and saves the results in an Apify dataset you can download as JSON, CSV, Excel, XML, RSS, or HTML. ๐โฌ๏ธ
Use it when you want a simple way to turn public Instagram pages into organized data instead of manually copying posts, captions, likes, comments, profile details, and links one by one. ๐งนโจ
What can you scrape? โ
| Data type | What you can get |
|---|---|
| ๐ค Profiles | Username, full name, biography when visible, profile URL, follower counts, following counts, post counts, verification status, privacy status, category, and related profile details |
| ๐ท Posts | Post URL, shortcode, caption, hashtags, mentions, post type, owner username, timestamp, likes, comments count, views when available, and media URLs |
| ๐ฌ Reels | Reel URL, shortcode, caption, owner, media type, engagement metrics when available, and media URLs |
| #๏ธโฃ Hashtags | Hashtag name, hashtag URL, visible post counts, and hashtag-related post results |
| ๐ Places | Place name, place ID, place URL, location metadata when available, and place-related post results |
| ๐ฌ Comments | Public comments, comment owner usernames, timestamps, likes, replies when exposed, and parent comment IDs |
| ๐ Search results | Public profile, hashtag, and place search results from your query |
| ๐ผ๏ธ Media | Public image, thumbnail, and video URLs, with optional download into the Apify key-value store |
| โ ๏ธ Errors | Clear error records when a target cannot be processed |
Why scrape Instagram? ๐ก
Public Instagram data can help you understand what people, brands, creators, and communities are talking about. ๐
Common use cases include:
- ๐ Track hashtag trends and see which topics are gaining attention.
- ๐งฒ Find influencers, creators, and brand partners in a niche.
- ๐๏ธ Monitor product launches, campaigns, and customer reactions.
- ๐ฌ Analyze public comments for brand sentiment and feedback.
- ๐ Research activity around places, venues, cities, stores, or events.
- ๐งช Build datasets for academic, market, or competitor research.
- ๐ Run scheduled monitoring jobs and spot changes over time.
- ๐ Export public Instagram data to spreadsheets, dashboards, CRMs, or BI tools.
How to use Instagram Scraper Ultimate ๐
- Open the Actor in Apify Console. ๐๏ธ
- Choose what you want to collect in Operation. ๐งญ
- Add usernames, URLs, hashtags, place IDs, or a search query. โ๏ธ
- Set your result limit. For a cheap test, start small, such as 10 results. ๐ธ
- Keep comments and media downloads turned off unless you need them. โ๏ธ
- Click Start. โถ๏ธ
- Download your results from the Dataset tab. ๐ฅ
That is it. No coding is required. ๐
Quick input examples ๐งช
Scrape public profile posts ๐ค๐ท
{"operation":"profilePosts","usernames":["humansofny","natgeo"],"maxItemsPerTarget":10,"includeProfileDetails":true}
Scrape one public post ๐ท
{"operation":"postDetails","postUrls":["https://www.instagram.com/p/C3TTthZLoQK/"],"includeComments":false,"downloadMedia":false}
Scrape public Reels ๐ฌ
{"operation":"profileReels","usernames":["instagram"],"maxItemsPerTarget":10}
Search for places ๐๐
{"operation":"searchResults","search":"Niagara Falls","searchType":"place","searchLimit":20}
Scrape hashtag posts #๏ธโฃ๐
{"operation":"hashtagPosts","hashtags":["travelphotography"],"maxItemsPerTarget":25}
Scrape public comments ๐ฌ
{"operation":"comments","postUrls":["https://www.instagram.com/p/C3TTthZLoQK/"],"includeComments":true,"includeReplies":false,"maxCommentsPerPost":50}
Save media files ๐ผ๏ธ๐พ
{"operation":"postDetails","postUrls":["https://www.instagram.com/p/C3TTthZLoQK/"],"downloadMedia":true,"downloadMediaTypes":["image","thumbnail","video"],"maxMediaFiles":10}
Input settings explained ๐งฐ
You can use the visual input form in Apify Console, or paste JSON like the examples above. ๐งพ
| Setting | Plain-English meaning |
|---|---|
๐งญ operation | What the Actor should do, such as profile posts, post details, comments, hashtag posts, place posts, search results, or auto-detection |
๐ startUrls | Instagram URLs to process, useful when you have a mixed list of profiles, posts, Reels, hashtags, or places |
๐ค usernames | Instagram usernames, with or without @ |
#๏ธโฃ hashtags | Hashtags, with or without # |
๐ placeUrls | Instagram place URLs or numeric place IDs |
๐ท postUrls | Post or Reel URLs |
๐ search | A search term for finding public profiles, hashtags, or places |
๐๏ธ searchLimit | Maximum number of search results to save |
๐ฆ maxItemsPerTarget | Maximum number of posts, Reels, or discovered items to save per target |
๐ค includeProfileDetails | Add profile details when profile targets are processed |
๐ฌ includeComments | Try to collect public comments for posts and Reels |
โฉ๏ธ includeReplies | Include public comment replies when Instagram exposes them |
๐ข maxCommentsPerPost | Maximum number of public comments to save for each post |
๐
fromDate / toDate | Keep only posts inside a date range when timestamps are available |
๐ผ๏ธ downloadMedia | Store media files in Apify storage instead of only saving temporary Instagram CDN links |
๐งฎ maxMediaFiles | Maximum number of media files to download in one run |
๐ proxyConfiguration | Optional proxy settings. The default is off to keep small runs cheap |
๐ข maxConcurrency | How many targets to process at the same time. Lower values are gentler and cheaper |
๐ maxRequestRetries | How many times to retry failed requests. The default is 0 for low-cost testing |
๐งน deduplicateAcrossRuns | Remember previously seen items using a named state store |
๐ outputOnlyNewItems | When deduplication is on, save only newly discovered items |
๐ changeDetection | Track metric changes across runs |
๐ก๏ธ removePersonalTextFields | Remove captions, biographies, comments, and similar text fields where supported |
๐ถ๏ธ redactUsernames | Replace usernames with stable redacted labels where supported |
Output format ๐ฆ
The Actor saves results to the default Apify dataset. Each dataset row is one record, such as a profile, post, comment, hashtag, place, media item, search result, or error. ๐
Every record includes:
- ๐ท๏ธ
recordType- tells you what kind of row it is, such aspost,profile, orcomment. - ๐งพ
source- shows which input produced the result. - ๐ฏ
target- shows the normalized target, such as the username, shortcode, URL, or place ID. - ๐
metrics- includes counts such as likes, comments, views, followers, or posts when Instagram exposes them. - ๐ผ๏ธ
media- contains public media URLs and download information. - ๐
crawl- includes scrape time, request URL, warnings, and whether the result is partial.
The Actor also writes an OUTPUT summary with total records, finished requests, failed requests, warnings, and errors. ๐งพโ
Example post output ๐ท
{"recordType":"post","schemaVersion":"1.0","source":{"input":"https://www.instagram.com/p/ABC123/","inputType":"postUrl","inputIndex":0,"operation":"postDetails"},"target":{"type":"post","name":"ABC123","url":"https://www.instagram.com/p/ABC123/","id":"ABC123"},"post":{"shortCode":"ABC123","url":"https://www.instagram.com/p/ABC123/","type":"image","caption":"Example caption #campaign @partner","hashtags":["campaign"],"mentions":["partner"],"timestamp":"2026-06-01T12:00:00.000Z","ownerUsername":"examplebrand"},"metrics":{"likesCount":100,"commentsCount":5},"media":[{"type":"image","displayUrl":"https://cdn.example.com/post.jpg","downloaded":false,"downloadStatus":"skipped"}],"crawl":{"scrapedAt":"2026-06-15T13:16:50.780Z","partial":false,"warnings":[],"requestUrl":"https://www.instagram.com/p/ABC123/"}}
Dataset views ๐
In Apify Console, the dataset includes ready-made views so you can scan the data faster. โจ
- ๐ Overview - all records with common fields.
- ๐ท Posts and Reels - captions, URLs, timestamps, metrics, hashtags, and mentions.
- ๐ค Profiles - usernames, follower counts, verification status, and profile metadata.
- ๐ฌ Comments - comment text, owners, timestamps, likes, and reply relationships.
- #๏ธโฃ Hashtags - hashtag names, URLs, and counts.
- ๐ Places - place IDs, names, URLs, and location details when visible.
- ๐ Search Results - discovered public profiles, hashtags, and places.
- ๐ผ๏ธ Media - downloaded media records and media storage details.
- โ ๏ธ Errors - targets that could not be processed, with readable error messages.
How much will it cost? ๐ธ
Instagram Scraper Ultimate is tuned for low-cost runs by default. ๐ช
The default setup uses:
- ๐ง 256 MB memory by default.
- ๐ข 1 concurrent request.
- ๐ 0 automatic retries.
- โฑ๏ธ 0 artificial delay.
- ๐ Proxy disabled by default.
- ๐ฌ Comments disabled by default.
- ๐ผ๏ธ Media downloads disabled by default.
- ๐ฆ Small default result limits.
This keeps quick tests very cheap. In a small Apify platform smoke test, one public post URL completed in about 9 seconds at 256 MB and saved one post record. โก
Your final cost depends on Apify platform pricing, runtime, memory, number of targets, retries, proxies, storage writes, dataset reads, and whether you download media. For the lowest cost, start with a small limit, keep media downloads off, keep comments off, and increase settings only after your test run looks good. ๐งชโก๏ธ๐
How many results can I get? ๐
The number of results depends on what Instagram publicly shows for each target. Some pages expose rich public data. Others may show only partial data, require login, rate-limit requests, or change their page format. ๐
A good rule of thumb:
- ๐ Open the target in an incognito browser.
- โ If you can see the content without logging in, the Actor has a better chance of collecting it.
- โ ๏ธ If Instagram shows a login wall, hides comments, or blocks pagination, the Actor may return partial data or an error record.
- ๐งช Run a small test before scaling to large jobs.
During the Actor run โถ๏ธ
While the Actor runs, it logs what it is processing and updates the run status with progress. You can watch the log in Apify Console. ๐
If an input is invalid, the Actor stops early and explains what needs to be fixed. If one target cannot be processed, the Actor can save an error record so you can review it later. ๐งฏ
Exporting and integrations ๐
After the run finishes, you can download the dataset from Apify Console. ๐ฅ
You can export to:
- ๐ JSON
- ๐ CSV
- ๐ Excel
- ๐ HTML
- ๐งพ XML
- ๐ฐ RSS
You can also connect the results to cloud tools using Apify integrations, webhooks, or the Apify API. Popular destinations include Google Sheets, Google Drive, Slack, Make, Zapier, Airbyte, databases, dashboards, and custom apps. ๐๐
Public data, privacy, and responsible use โ๏ธ๐ก๏ธ
This Actor is intended for public Instagram data only. It does not scrape private accounts, does not require Instagram login by default, and does not bypass access controls. ๐
However, public Instagram pages may still contain personal data, such as usernames, captions, comments, profile text, images, or engagement data. You are responsible for using the results lawfully and respectfully. If you are unsure whether your use case is allowed, ask a qualified legal professional. ๐ฉโโ๏ธ๐จโโ๏ธ
Helpful privacy options:
- ๐ก๏ธ Turn on
removePersonalTextFieldsto remove captions, biographies, comments, and similar text fields where supported. - ๐ถ๏ธ Turn on
redactUsernamesto replace usernames with stable redacted labels where supported. - ๐งน Use smaller limits and collect only the fields you actually need.
Instagram Scraper Ultimate is not affiliated with Instagram or Meta. โน๏ธ
Limitations โ ๏ธ
Instagram changes often, and public pages can behave differently depending on the target, region, traffic, and current Instagram restrictions. ๐ฆ๏ธ
Important limits to know:
- ๐ Private accounts cannot be scraped.
- ๐ช Login-only content may not be available.
- ๐ฌ Comments are collected only when Instagram exposes them publicly.
- ๐ Deep pagination may be limited by what Instagram shows publicly.
- ๐ผ๏ธ Instagram CDN media URLs can expire. Enable
downloadMediaif stable media files matter. - ๐ If you see rate limiting or login walls, try lower concurrency, smaller batches, or proxy settings.
Troubleshooting ๐งฏ
| Problem | What to try |
|---|---|
| ๐ Fewer results than expected | Check the target in an incognito browser, reduce concurrency, and start with a smaller batch |
| ๐ช Login wall or blocked page | Retry later, lower request volume, or use proxy settings |
| ๐ฌ No comments returned | Instagram may not expose public comments for that post |
| ๐ผ๏ธ Media links stopped working | Turn on downloadMedia for stable stored files |
| ๐งพ Invalid input error | Add at least one target source, such as startUrls, usernames, hashtags, placeUrls, postUrls, or search |
| โ ๏ธ Partial records | Some fields were not visible on the public page. Check warnings in the dataset and OUTPUT summary |
FAQ ๐
Does this Actor require Instagram login? ๐
No. The default setup is public-data-first and does not require login.
Can it scrape private Instagram accounts? ๐
No. It only works with public data that Instagram exposes.
Can it scrape Reels? ๐ฌ
Yes. Use Reel URLs, profile Reel mode, or auto-detection with mixed Instagram URLs.
Can it scrape comments? ๐ฌ
Yes, when comments are publicly exposed by Instagram. Turn on includeComments and set maxCommentsPerPost.
Can it download images and videos? ๐ผ๏ธ
Yes. Turn on downloadMedia. This stores media files in the run key-value store, which is better than relying only on temporary Instagram CDN URLs.
Can I export to CSV or Excel? ๐
Yes. Open the Dataset tab after the run and choose your export format.
Can I run it every day? ๐
Yes. Create an Apify task from your input and schedule it in Apify Console. For recurring monitoring, consider using deduplicateAcrossRuns, outputOnlyNewItems, or changeDetection.
Can I use it with Google Sheets, Zapier, or Make? ๐
Yes. Use Apify integrations, webhooks, or API access to send results to other tools.
Why are some fields missing? ๐งฉ
Instagram does not show the same data for every public page. If a metric, timestamp, comment, or media URL is not visible, the Actor may leave that field empty or mark the result as partial.
For developers ๐งโ๐ป
Most users can run the Actor from Apify Console without touching code. If you are developing locally, use these commands:
npminstallnpmtestnpm run buildnpm run start
When no local input is present, the Actor uses fixture mode so a local smoke run can finish without hitting Instagram. Production runs should provide real input and keep debugUseFixtures disabled. ๐งช
