Instagram API Scraper
Pricing
from $3.99 / 1,000 results
Instagram API Scraper
⚡ Lightning-fast Instagram scraper. Extract posts, reels, comments, profile details, hashtag posts, and search results from any public Instagram URL or username — no login, no cookies, no headless browser.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
ScrapeFlow
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
📸 Instagram API Scraper
⚡ Lightning-fast, no-login Instagram scraper. Profiles · Posts · Reels · Comments · Hashtags · Search.
Extract clean, structured data from any public Instagram URL or username — no headless browser, no logged-in cookies, no fragile session jugglery. The actor calls Instagram's own public endpoints with a battle-tested proxy escalator that quietly switches gears the moment Instagram pushes back.
✨ Why this actor?
| 🔓 No login required | Scrapes public data only — no sessions, no risky cookie reuse |
| 🪶 Browser-free | Pure async HTTP — 10× cheaper than headless-Chrome scrapers |
| 🛡️ Auto-escalating proxies | Direct → datacenter → residential, all behind the scenes |
| 💾 Live results | Each item is pushed to the dataset the moment it is parsed |
| 🗂️ Per-section tables | Posts, comments, profiles, reels each get their own view |
| 📅 Date filtering | 2 months, 30 days, 2026-01-01 — whichever you prefer |
| 🧷 Source attribution | Optional parentData tags each row with where it came from |
🎯 Key Features
- 📷 Posts — recent posts from any profile, hashtag, or single shortcode
- 💬 Comments — public comments under a post or reel
- 🪪 Details — full profile or post metadata
- 🔖 Mentions — every
@mentionparsed out of a profile's posts - 🎬 Reels — reel-feed from a profile
- 🔎 Search — user / hashtag / place top-search
📥 Input
{"directUrls": ["https://www.instagram.com/humansofny/","humansofny","https://www.instagram.com/p/DPwJzEVDbwC/"],"resultsType": "posts","resultsLimit": 30,"onlyPostsNewerThan": "1 year","search": "","searchType": "hashtag","searchLimit": 20,"addParentData": false,"proxyConfiguration": { "useApifyProxy": false }}
| Field | Type | Description |
|---|---|---|
directUrls | array | Instagram URLs or bare usernames. Required. |
resultsType | enum | posts · comments · details · mentions · reels · stories |
resultsLimit | integer | Max items per URL (default 30) |
onlyPostsNewerThan | string | 2026-01-01, 7 days, 2 months, etc. Empty = no filter |
search | string | Optional Instagram search query |
searchType | enum | user · hashtag · place |
searchLimit | integer | 1–250 |
addParentData | boolean | Attach a parentData field for source tracking |
proxyConfiguration | object | Defaults to no proxy. Actor auto-falls back to datacenter, then residential, when needed |
📤 Output
Each item is pushed to the run's default dataset immediately on parse and tagged with a section field (posts, comments, reels, profiles, details, mentions, search). Switch between the 📷 Posts overview, 💬 Comments view, 🪪 Profile details, 🎬 Reels view, 🔖 Mentions view, and 🔎 Search results tabs in the Console to see the right columns for each section.
Post example
{"id": "3742534382104984578_242598499","type": "Sidecar","shortCode": "DPwJzEVDbwC","caption": "A few years ago I received a DM from @zohrankmamdani…","hashtags": [],"mentions": ["zohrankmamdani"],"url": "https://www.instagram.com/p/DPwJzEVDbwC/","commentsCount": 3949,"firstComment": "Hello friends ❤️ …","latestComments": [ /* up to ~24 comments with full owner objects */ ],"dimensionsHeight": 720,"dimensionsWidth": 1080,"displayUrl": "https://scontent…cdninstagram.com/…","images": [ "…", "…" ],"likesCount": 30381,"timestamp": "2026-05-06T15:31:34.000Z","childPosts": [ /* carousel children */ ],"ownerFullName": "Humans of New York","ownerUsername": "humansofny","ownerId": "242598499","isCommentsDisabled": false,"inputUrl": "https://www.instagram.com/humansofny/"}
Profile, comment, reel, mention and search records have analogous, clean shapes — see the dataset views in Console.
🛡️ How the proxy escalator works
🌐 direct ──► 🏢 datacenter ──► 🏠 residential (3 retries, sticky)
- Default: no proxy. Talk directly to Instagram.
- First block (HTTP 401/403/407/429/451/503 or transport errors) → switch to a datacenter proxy and retry.
- Second block → switch to a residential proxy and retry up to 3 times.
- Once on residential, stay there for the rest of the run.
Every escalation is logged with a clear emoji marker so you can see exactly when Instagram pushed back.
🚀 How to Use (Apify Console)
- Log in at https://console.apify.com → Actors.
- Open Instagram API Scraper.
- Drop in your URLs / usernames, pick a
resultsType, set aresultsLimit. - (Optional) tighten the window with
onlyPostsNewerThanor run asearch. - Click Start.
- Watch the live log — posts/comments/profiles stream into the dataset as they are found.
- Open Output → switch between Posts overview, Comments view, Profile details tabs.
- Export to JSON / CSV / XLSX.
🤖 Use via API
Start a run synchronously and receive the dataset items in the response:
curl -X POST \"https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"directUrls": ["https://www.instagram.com/humansofny/"],"resultsType": "posts","resultsLimit": 30}'
Or start asynchronously:
curl -X POST \"https://api.apify.com/v2/acts/<ACTOR_ID>/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"directUrls":["humansofny"],"resultsType":"posts","resultsLimit":30}'
💡 Best Use Cases
- 🧠 Audience research — pull a creator's recent post + comment data into your warehouse
- 📈 Brand monitoring — track mentions of your brand across hashtags
- 🎯 Competitive analysis — diff a competitor's posting cadence and engagement
- 🧬 Trend mining — sweep hashtags weekly and feed posts into an LLM for theme analysis
- 📨 Outreach prep — enrich profile lists with bio + follower counts before email runs
💰 Pricing
This actor follows Apify's pay-per-event model. You're billed per actor start and per dataset item produced; full breakdown is shown on the actor's pricing page. The actor exits gracefully if your spend limit is reached — runs never crash because of pricing.
❓ FAQ
Does it need an Instagram login? No. It only reads public data through Instagram's own public endpoints.
Why am I sometimes getting fewer comments than the post's commentsCount?
Without a logged-in session, Instagram only returns the most recent ~24 comments per post. The actor returns all of those.
What happens if Instagram blocks me? The actor auto-escalates: direct → datacenter → residential (3 retries). You'll see the escalation in the log; nothing for you to do.
Can I scrape private accounts? No — and you shouldn't. Only publicly accessible profiles, posts, reels, and hashtags are supported.
Can I scrape stories? Only public, currently-visible stories on profiles that expose them publicly. Most stories are private and skipped silently.
⚖️ Legal / Responsible Use
- Data is collected only from publicly available Instagram URLs.
- The end user is responsible for compliance with GDPR, CCPA, anti-spam rules, and Instagram's terms.
- Don't use scraped personal data to spam, dox, or harass.
🆘 Support & Feedback
Open an issue on the actor page or send a message in the Apify Console. Bug reports with the run ID get fixed fastest. 💚