How to Scrape Instagram Profiles, Posts & Reels (No Login)
Pull public Instagram profiles, posts, reels and hashtag results into JSON or CSV without an API key, an app review, or logging in to an account.
What this guide covers
Instagram has no open public API. The official Instagram Graph API only returns data for accounts you own or for Business/Creator accounts that have explicitly authorized your app, and getting there means a Meta developer account, an app review, and OAuth tokens. If you just want to read public data — competitor profiles, a brand's recent posts, reels engagement, or everything tagged with a hashtag — that route is overkill or simply unavailable.
This guide shows how to do it with the Instagram Scraper on Apify, which reads public Instagram data without a login or API key, plus the companion Instagram Hashtag Scraper for tag-based collection. You run it from the browser, no code required, and export the results.
What data you get
From a profile you get the account-level fields and a list of its recent media. From individual posts and reels you get the engagement and media details. Typical fields include:
- Profile: username, full name, user ID, biography, external link, follower count, following count, post count, profile picture URL, verified flag, business/private flags.
- Posts & reels: shortcode, post URL, caption, type (image / carousel / video / reel), like count, comment count, video view count (for reels/video), timestamp, image and video URLs, dimensions.
- Carousels: each child image/video in the album with its own media URL.
- Hashtags & mentions: tags and @-mentions parsed from captions.
Everything is structured, so you can drop it straight into a spreadsheet, a database, or a dashboard. Output is available as JSON, CSV, or Excel.
Step by step: how to run it
- 1. Open the actor. Go to the Instagram Scraper page and click Try for free. Create a free Apify account if you do not have one — no credit card needed to start.
- 2. Add your targets. In the input form, paste the usernames or profile URLs you want. You can mix profile URLs and direct post/reel URLs.
- 3. Set the scope. Choose how many recent posts to pull per profile, and whether you want reels included. Keep the limit modest on your first run so you can check the shape of the data.
- 4. Run. Click Start. The run executes on Apify's cloud — nothing runs on your machine and you never enter Instagram credentials.
- 5. Export. When the run finishes, open the Dataset tab and download as JSON, CSV, or Excel, or push the results to Notion, Slack, Google Drive, or a webhook.
To schedule recurring pulls (for example, a brand's new posts every morning), use the Schedules feature in Apify and point it at this actor with saved input.
Input example
The input is a simple form, but under the hood it is JSON. A realistic configuration looks like this:
usernames:["nike", "natgeo"]postUrls:["https://www.instagram.com/p/Cxy.../", "https://www.instagram.com/reel/Czab.../"]postsPerProfile:30includeReels:true
You do not need every field. To grab one profile and its last 12 posts, a single username and a post limit is enough.
Sample output fields
A post record in the dataset will contain fields along these lines:
ownerUsername,ownerIdshortCode,url,typecaption,hashtags,mentionslikesCount,commentsCount,videoViewCounttimestamp(ISO 8601)displayUrl,videoUrl,dimensions
Profile records add fullName, biography, followersCount, followsCount, postsCount, profilePicUrl, isVerified, and isPrivate.
When and why to use it
This approach fits a handful of common jobs:
- Competitor and brand monitoring — track follower growth, posting cadence, and which posts get traction.
- Influencer research — vet creators by real engagement (likes and comments per post) instead of follower count alone.
- Content and trend analysis — pull a hashtag's top and recent posts to see what is performing in a niche; pair this with the Instagram Hashtag Scraper.
- Reels benchmarking — compare view counts and engagement across reels to inform your own content.
It only reads public data. Private accounts, follower lists of private profiles, and anything behind a login are out of scope by design.
Honest comparison: official API vs paid incumbents
Versus the Instagram Graph API. The Graph API is the right tool when you manage your own accounts or have authorized Business/Creator partners — it is first-party, stable, and free. But it cannot read arbitrary public profiles, it requires a Meta app and review process, and it returns nothing for accounts that have not connected to your app. For public-data research, scraping is usually the only practical path.
Versus other Apify actors (apidojo, compass, and similar). Those are mature and feature-rich, and if you need their exact feature set they are worth a look. The Instagram Scraper here is positioned on price and simplicity: it is keyless, pay-per-result, and priced from $0.40 per 1,000 results — a fraction of several incumbents — and failed runs are not billed. There are no public user reviews or ratings on this actor yet, so judge it on a small test run rather than on social proof.
Versus DIY scripts. You can write your own scraper, but you then own the anti-bot maintenance, proxies, and breakage every time Instagram changes its front end. A hosted actor moves that burden off your plate.
FAQ
Do I need an Instagram account or login? No. The actor reads public data without authentication, so you never hand over credentials and there is no risk to a personal account.
Can it scrape private accounts? No. Only public profiles, posts, and reels are accessible. If an account is private, its media is not returned.
How much does it cost? Pricing starts at $0.40 per 1,000 results, billed per result, and failed runs are free. Check the actor page for the current rate, since pricing can change.
What about comments? This actor focuses on profiles, posts, and reels. For comment-level data on other platforms, see the related guides for YouTube comments and TikTok comments.
Is scraping Instagram legal? Collecting publicly available data is generally permissible in many jurisdictions, but Instagram's Terms of Service restrict automated access, and you are responsible for complying with applicable law (including privacy rules like GDPR) and for how you use the data. This guide is not legal advice — collect only public data and use it responsibly.
Can I get other platforms too? Yes. The same keyless, pay-per-result model is available for TikTok and X / Twitter.