Ultra FAST Instagram Profile Scraper
Pricing
from $3.00 / 1,000 results
Ultra FAST Instagram Profile Scraper
The fastest Instagram profile scraper on Apify. Extract followers, bio, business info, posts & more via Instagram's internal API — no login, no browser. Concurrent scraping, rotating proxies & 60+ user agents. Structured JSON in seconds.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Rover Omniscraper
Actor stats
0
Bookmarked
6
Total users
2
Monthly active users
12 days ago
Last modified
Categories
Share
Instagram Profile Scraper � Apify Actor
Extract full Instagram public profile data at scale � followers, bio, business info, recent posts, and more � in seconds.
The Instagram Profile Scraper is a production-ready Apify actor that retrieves comprehensive public profile data directly from Instagram's internal API. No browser required, no login required � just fast, reliable, structured JSON output.
Built for marketers, researchers, data analysts, agencies, and developers who need accurate Instagram profile intelligence programmatically and at scale.
Table of Contents
- What Does This Actor Do?
- Why Use This Actor?
- Features
- Use Cases
- Input Configuration
- Proxy Modes
- Example Inputs
- Output Data
- Example Output
- Performance
- Anti-Detection & Reliability
- Limitations
- Local Development
- License
What Does This Actor Do?
This actor scrapes public Instagram profiles by username using Instagram's web_profile_info API endpoint � the same endpoint the Instagram website uses internally. For each username you provide, it returns a complete, structured JSON object containing every piece of publicly available profile data.
Scraped data includes profile statistics, biography, profile images, business contact details, account flags (verified, private, business), and the user's most recent posts � all in one request per profile.
Why Use This Actor?
- No Instagram account needed � works entirely without authentication
- No browser automation � lightweight HTTP requests, not Puppeteer or Playwright
- Concurrent scraping � scrape multiple profiles simultaneously, not one at a time
- Full data payload � every field Instagram exposes publicly, including raw data for advanced parsing
- Three proxy modes � works with Apify's built-in proxies or your own residential proxies
- Production-hardened � automatic retries, exponential backoff, CSRF token management, and rotating user agents
Features
- Multi-profile scraping � Provide a list of usernames and scrape them all in one run
- Concurrent execution � Configurable concurrency (up to 20 simultaneous requests) for maximum speed
- Three proxy modes � Apify built-in proxy, residential rotating proxy, or manual residential proxy rotation
- 60+ rotating user agents � Chrome, Firefox, Safari, Edge, and Opera across Windows, macOS, Linux, Android, and iOS
- Matching
sec-ch-uaheaders � Chromium-based user agents include correct client hint headers to pass bot detection - TLS fingerprint spoofing � Uses
got-scrapingwhich mimics real browser TLS fingerprints - CSRF token acquisition � Fetches a real CSRF token from Instagram before each profile request
- Automatic retries with exponential backoff � Handles rate limiting (429), access denied (401/403), and transient network errors
- Partial results on failure � Results are pushed to the dataset immediately; partial runs are never lost
- Full raw data output � Includes the complete unprocessed API response for custom downstream parsing
Use Cases
| Use Case | Description |
|---|---|
| Influencer Research | Verify follower counts, engagement quality, bio, and niche for influencer marketing |
| Competitor Analysis | Monitor competitors' follower growth, posting frequency, and content strategy |
| Lead Generation | Extract business email, phone, and category from brand and creator profiles |
| Market Research | Analyze verified accounts, business density, and audience sizes in any niche |
| Brand Monitoring | Track branded account stats, bio changes, or profile picture updates over time |
| Academic Research | Collect public social media data for studies, papers, and social network analysis |
| Data Enrichment | Append Instagram profile data to your CRM, analytics platform, or database |
| Journalism & OSINT | Verify public figures' accounts, follower counts, and publicly stated information |
Input Configuration
Configure the actor using the following input fields.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
usernames | string[] | ? Yes | � | List of Instagram usernames to scrape. The @ prefix is optional and will be stripped automatically. |
proxyMode | string | No | "apify" | Proxy strategy to use. See Proxy Modes. Options: apify, residential_rotating, residential_manual, none. |
apifyProxyGroups | string[] | No | ["RESIDENTIAL"] | Apify proxy groups to use (e.g. RESIDENTIAL, GOOGLE_SERP). Only applies when proxyMode is apify. |
apifyProxyCountry | string | No | "US" | Two-letter country code for Apify proxy geolocation (e.g. US, GB, DE). Only applies when proxyMode is apify. |
residentialRotatingProxy | string | No | � | A single proxy URL that auto-rotates IPs on each request (e.g. from Bright Data, Oxylabs, Smartproxy). Format: http://user:pass@host:port. Only applies when proxyMode is residential_rotating. |
residentialProxies | string[] | No | � | A list of proxy URLs. The actor rotates between them in round-robin order. Only applies when proxyMode is residential_manual. |
maxRetries | integer | No | 3 | Maximum number of retry attempts per username if a request fails. Range: 0�10. |
delayBetweenRequests | integer | No | 500 | Maximum random jitter delay (in ms) added before each concurrent request. Helps avoid rate limiting. Set to 0 for no delay. Range: 0�30000. |
concurrency | integer | No | 5 | Number of profiles to scrape simultaneously. Higher values are faster but more likely to trigger rate limits without proxies. Range: 1�20. |
Proxy Modes
Instagram aggressively rate-limits and blocks scrapers operating from datacenter IPs. Using a quality residential proxy is strongly recommended for any run beyond a handful of profiles.
apify (Recommended)
Uses Apify Proxy � Apify's built-in proxy infrastructure with residential and datacenter pools and optional country targeting. This is the easiest option when running on the Apify platform.
residential_rotating
Provide a single proxy endpoint from a third-party provider (Bright Data, Oxylabs, Smartproxy, etc.) that automatically rotates the exit IP on each connection. Set it in residentialRotatingProxy.
residential_manual
Provide a list of proxy URLs in residentialProxies. The actor rotates through them in round-robin order. If one fails, it moves to the next automatically.
none
Makes direct requests without any proxy. Not recommended for production � Instagram will quickly rate-limit datacenter IPs. Use only for local development and testing.
Example Inputs
Basic � Apify Proxy (Recommended)
{"usernames": ["cristiano", "instagram", "therock", "natgeo", "nasa"],"proxyMode": "apify","apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US","maxRetries": 3,"concurrency": 5}
Residential Rotating Proxy
{"usernames": ["nike", "apple", "google"],"proxyMode": "residential_rotating","residentialRotatingProxy": "http://user:pass@proxy.provider.com:8080","maxRetries": 3,"concurrency": 3}
Manual Proxy Rotation
{"usernames": ["spotify", "netflix", "microsoft"],"proxyMode": "residential_manual","residentialProxies": ["http://user:pass@proxy1.provider.com:8080","http://user:pass@proxy2.provider.com:8080","http://user:pass@proxy3.provider.com:8080"],"maxRetries": 3,"concurrency": 3}
Output Data
Each scraped profile produces one JSON record in the Apify dataset. Output is organized into the following sections:
Metadata
scrapedAt� ISO 8601 timestamp of when the profile was scrapedstatus�success,not_found, orfailed
Basic Info
username� Instagram handlefullName� Display nameuserId� Numeric Instagram user IDfbid� Connected Facebook ID (if any)
Profile Details
biography� Profile bio textbiographyWithEntities� Bio with hashtag and mention entity metadatabioLinks� Array of links in bio (title, URL, link type)externalUrl� Primary external URL shown on profilepronouns� Pronouns (if set)category/categoryEnum� Account category (e.g. Musician, Brand, Athlete)
Profile Images
profilePicUrl� Standard-resolution profile picture URLprofilePicUrlHD� High-resolution profile picture URL
Account Statistics
followers� Total follower countfollowing� Total following countpostsCount� Number of feed postsigtvVideos� Number of IGTV videosclipVideos� Highlight reel count
Account Flags
isVerified� Blue checkmark statusisPrivate� Whether the account is set to privateisBusinessAccount� Business account flagisProfessionalAccount� Creator or professional account flagisJoinedRecently� Recently created account indicatorhasGuides� Has published Instagram GuideshasChannel� Has an Instagram Broadcast ChannelhasClips� Has Reels content
Business Information (when publicly available)
businessContactMethod� Preferred contact methodbusinessEmail� Public business email addressbusinessPhoneNumber� Public business phone numberbusinessCategoryName� Business category labelbusinessAddressJson� Structured address (city, zip code, country code)
Social Graph
mutualFollowersCount� Number of mutual followersmutualFollowers� Array of mutual follower usernames
Recent Posts (up to 12)
Each post entry includes:
id,shortcode,postUrltype�GraphImage,GraphVideo, orGraphSidecarcaption� Post caption textlikes,comments� Engagement countstimestamp,date� Posted at (Unix timestamp and ISO format)displayUrl,thumbnailUrl� Media URLsisVideo,videoViewCount� Video-specific metadatadimensions� Media width and height in pixelslocation� Tagged location nameaccessibilityCaption� Auto-generated image description
Pagination
hasMorePosts� Whether the profile has more posts beyond the 12 returnedendCursor� Cursor for paginating additional posts
Raw Data
moreUserData— The complete, unprocessed user object from Instagram's API. Useful for extracting fields not yet explicitly mapped by the actor.
Example Output
{"scrapedAt": "2026-04-09T12:00:00.000Z","status": "success","username": "instagram","fullName": "Instagram","userId": "25025320","biography": "Discover what's new on Instagram ???","followers": 700938922,"following": 235,"postsCount": 8394,"isVerified": true,"isPrivate": false,"isBusinessAccount": true,"profilePicUrl": "https://...","profilePicUrlHD": "https://...","bioLinks": [],"recentPostsCount": 12,"recentPosts": [ "..." ],"hasMorePosts": true,"endCursor": "QVFDd..."}
Performance
Benchmarks using concurrency: 5 and no proxy (direct connection):
| Profiles | Approximate Time |
|---|---|
| 1 | ~1.5 seconds |
| 5 | ~3�4 seconds |
| 10 | ~7�9 seconds |
| 50 | ~35�50 seconds |
With high-quality residential proxies and concurrency: 10�15, throughput improves significantly. For large-scale runs (hundreds of profiles), Apify residential proxies with concurrency: 10 is the recommended configuration.
Anti-Detection & Reliability
Instagram actively detects and blocks automated scraping. This actor employs multiple layers of anti-detection to maximize reliability:
| Technique | Description |
|---|---|
| User Agent Rotation | 60+ real browser user agents selected randomly per request across Chrome, Firefox, Safari, Edge, and Opera on all major platforms |
| Client Hint Headers | sec-ch-ua, sec-ch-ua-mobile, sec-ch-ua-platform, and sec-ch-ua-full-version-list headers generated to precisely match the selected user agent |
| TLS Fingerprint Spoofing | HTTP requests use got-scraping which replicates the TLS handshake of a real browser, not a Node.js HTTP client |
| CSRF Token Acquisition | A real csrftoken cookie is obtained from Instagram's homepage before each API call |
| Realistic Header Sets | Full browser session headers including sec-fetch-*, dnt, accept-encoding, referer, x-ig-app-id, and randomized web device/session IDs |
| Exponential Backoff | On 429 (rate limit) responses, the actor waits an increasing amount of time before retrying |
| Proxy Rotation | Each retry uses a fresh proxy session to avoid IP-level bans |
Limitations
- Private profiles � Only public profiles can be scraped. Private accounts return a
not_foundresult. - Posts cap � Instagram's
web_profile_infoendpoint returns a maximum of 12 recent posts per profile. Deeper post pagination is not supported in this version. - Rate limiting � Instagram rate limits vary by IP reputation. Residential proxies greatly reduce the chance of being blocked.
- API changes � Instagram occasionally modifies internal API response structures without notice. If data fields go missing, check for an updated actor version.
- No Stories or Highlights � Stories, Highlights, Reels carousels, and live video data are not available from this endpoint.
- No private data � This actor only retrieves publicly accessible profile data. No private messages, follower lists, or analytics are collected.
Local Development
Prerequisites: Node.js 18+, Apify CLI
Install dependencies:
npm install
Provide test input by creating storage/key_value_stores/default/INPUT.json:
{"usernames": ["instagram"],"proxyMode": "none","maxRetries": 1,"concurrency": 1}
Run with Apify CLI (simulates the full Apify platform environment):
apify run
Run directly:
npm start
Output is written to storage/datasets/default/.
License
ISC � AntiG
