Instagram API Scraper
Pricing
from $3.99 / 1,000 results
Instagram API Scraper
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
Scraply
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day 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. π