Instagram Advanced Scraper
Pricing
$10.00 / 1,000 results
Instagram Advanced Scraper
Advanced Instagram scraper with rate-limit bypass. Extract profiles, posts, reels, followers, following, bios, engagement metrics. Scrapes public Instagram data at scale.
Pricing
$10.00 / 1,000 results
Rating
0.0
(0)
Developer
Luan M.
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
22 days ago
Last modified
Categories
Share
Instagram Advanced Scraper (Rate Limit Bypass)
An advanced Instagram scraper for Apify that bypasses rate limits using residential proxy rotation, user-agent rotation, and anti-bot detection techniques. Scrapes profiles, posts, stories, and engagement metrics.
Features
- Profile Scraping: Extract username, full name, bio, follower count, following count, post count, and verified status
- Post Scraping: Extract post URLs, captions, likes, comments, and media URLs
- Story Scraping: Optionally scrape Instagram Stories from profile pages
- Comment Extraction: Optionally scrape comments on each post
- Rate Limit Bypass:
- Residential proxy rotation (Apify RESIDENTIAL group)
- 5 modern user-agent rotation
- Anti-bot detection via
navigator.webdriveroverride and Chrome runtime spoofing - Random delays between requests (2-5s)
- Max 3 requests per profile to avoid triggering rate limits
- Retry on failure (up to 3 retries)
Input
| Field | Type | Default | Description |
|---|---|---|---|
profileUrls | array[string] | ["https://www.instagram.com/"] | Instagram URLs (profiles, posts, or stories) |
maxPosts | integer | 50 | Max posts to scrape per profile (max 500) |
includeStories | boolean | false | Also scrape Instagram Stories |
includeComments | boolean | false | Also scrape comments on posts |
proxyConfiguration | object | { useApifyProxy: true, apifyProxyGroups: ["RESIDENTIAL"] } | Proxy config — RESIDENTIAL proxies strongly recommended |
Output
Each dataset item has a type field: "profile", "post", "story", or "error".
Profile
{"type": "profile","username": "example","fullName": "Example Account","bio": "This is a bio","followerCount": 1234,"followingCount": 567,"postCount": 89,"isVerified": false,"profileUrl": "https://www.instagram.com/example/","scrapedAt": "2025-06-06T12:00:00.000Z"}
Post
{"type": "post","postUrl": "https://www.instagram.com/p/ABC123/","caption": "Post caption here","likesCount": 150,"commentsCount": 12,"mediaUrl": "https://...","username": "example","profileUrl": "https://www.instagram.com/example/","comments": [],"scrapedAt": "2025-06-06T12:00:00.000Z"}
Rate Limit Bypass Strategy
Instagram significantly increased rate limiting in Q1 2025, breaking many existing scrapers. This actor implements:
- Residential Proxies: Essential for avoiding blocks. Datacenter proxies are frequently blocked.
- User-Agent Rotation: 5 modern browser user-agents rotated per request
- Anti-Detection Scripts:
navigator.webdriverset tofalse, Chrome runtime spoofing, valid plugin and language values - Random Delays: 2-5 second delay after each page load, plus 1-3 second pre-scrape delay
- Request Limits: Max 3 requests per profile URL pattern
- Retry Logic: Failed requests retried up to 3 times
Local Development
# Install dependenciesnpm install# Run syntax checknode --check src/main.js# Run locally (requires Apify token and proxy)APIFY_TOKEN=your_token_here node src/main.js
Technical Notes
- Built with Crawlee PlaywrightCrawler for robust browser automation
- ES module format (
"type": "module") - Compatible with Apify platform's
apify/actor-node-playwright-chromeDocker image - Selectors target multiple DOM patterns for resilience against Instagram's dynamic class names