Ultra FAST Instagram Profile Scraper avatar

Ultra FAST Instagram Profile Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Ultra FAST Instagram Profile Scraper

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

Rover Omniscraper

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

2

Monthly active users

12 days ago

Last modified

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?

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-ua headers � Chromium-based user agents include correct client hint headers to pass bot detection
  • TLS fingerprint spoofing � Uses got-scraping which 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 CaseDescription
Influencer ResearchVerify follower counts, engagement quality, bio, and niche for influencer marketing
Competitor AnalysisMonitor competitors' follower growth, posting frequency, and content strategy
Lead GenerationExtract business email, phone, and category from brand and creator profiles
Market ResearchAnalyze verified accounts, business density, and audience sizes in any niche
Brand MonitoringTrack branded account stats, bio changes, or profile picture updates over time
Academic ResearchCollect public social media data for studies, papers, and social network analysis
Data EnrichmentAppend Instagram profile data to your CRM, analytics platform, or database
Journalism & OSINTVerify public figures' accounts, follower counts, and publicly stated information

Input Configuration

Configure the actor using the following input fields.

FieldTypeRequiredDefaultDescription
usernamesstring[]? YesList of Instagram usernames to scrape. The @ prefix is optional and will be stripped automatically.
proxyModestringNo"apify"Proxy strategy to use. See Proxy Modes. Options: apify, residential_rotating, residential_manual, none.
apifyProxyGroupsstring[]No["RESIDENTIAL"]Apify proxy groups to use (e.g. RESIDENTIAL, GOOGLE_SERP). Only applies when proxyMode is apify.
apifyProxyCountrystringNo"US"Two-letter country code for Apify proxy geolocation (e.g. US, GB, DE). Only applies when proxyMode is apify.
residentialRotatingProxystringNoA 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.
residentialProxiesstring[]NoA list of proxy URLs. The actor rotates between them in round-robin order. Only applies when proxyMode is residential_manual.
maxRetriesintegerNo3Maximum number of retry attempts per username if a request fails. Range: 0�10.
delayBetweenRequestsintegerNo500Maximum random jitter delay (in ms) added before each concurrent request. Helps avoid rate limiting. Set to 0 for no delay. Range: 0�30000.
concurrencyintegerNo5Number 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.

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

{
"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 scraped
  • statussuccess, not_found, or failed

Basic Info

  • username � Instagram handle
  • fullName � Display name
  • userId � Numeric Instagram user ID
  • fbid � Connected Facebook ID (if any)

Profile Details

  • biography � Profile bio text
  • biographyWithEntities � Bio with hashtag and mention entity metadata
  • bioLinks � Array of links in bio (title, URL, link type)
  • externalUrl � Primary external URL shown on profile
  • pronouns � Pronouns (if set)
  • category / categoryEnum � Account category (e.g. Musician, Brand, Athlete)

Profile Images

  • profilePicUrl � Standard-resolution profile picture URL
  • profilePicUrlHD � High-resolution profile picture URL

Account Statistics

  • followers � Total follower count
  • following � Total following count
  • postsCount � Number of feed posts
  • igtvVideos � Number of IGTV videos
  • clipVideos � Highlight reel count

Account Flags

  • isVerified � Blue checkmark status
  • isPrivate � Whether the account is set to private
  • isBusinessAccount � Business account flag
  • isProfessionalAccount � Creator or professional account flag
  • isJoinedRecently � Recently created account indicator
  • hasGuides � Has published Instagram Guides
  • hasChannel � Has an Instagram Broadcast Channel
  • hasClips � Has Reels content

Business Information (when publicly available)

  • businessContactMethod � Preferred contact method
  • businessEmail � Public business email address
  • businessPhoneNumber � Public business phone number
  • businessCategoryName � Business category label
  • businessAddressJson � Structured address (city, zip code, country code)

Social Graph

  • mutualFollowersCount � Number of mutual followers
  • mutualFollowers � Array of mutual follower usernames

Recent Posts (up to 12)

Each post entry includes:

  • id, shortcode, postUrl
  • typeGraphImage, GraphVideo, or GraphSidecar
  • caption � Post caption text
  • likes, comments � Engagement counts
  • timestamp, date � Posted at (Unix timestamp and ISO format)
  • displayUrl, thumbnailUrl � Media URLs
  • isVideo, videoViewCount � Video-specific metadata
  • dimensions � Media width and height in pixels
  • location � Tagged location name
  • accessibilityCaption � Auto-generated image description

Pagination

  • hasMorePosts � Whether the profile has more posts beyond the 12 returned
  • endCursor � 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):

ProfilesApproximate 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:

TechniqueDescription
User Agent Rotation60+ real browser user agents selected randomly per request across Chrome, Firefox, Safari, Edge, and Opera on all major platforms
Client Hint Headerssec-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 SpoofingHTTP requests use got-scraping which replicates the TLS handshake of a real browser, not a Node.js HTTP client
CSRF Token AcquisitionA real csrftoken cookie is obtained from Instagram's homepage before each API call
Realistic Header SetsFull browser session headers including sec-fetch-*, dnt, accept-encoding, referer, x-ig-app-id, and randomized web device/session IDs
Exponential BackoffOn 429 (rate limit) responses, the actor waits an increasing amount of time before retrying
Proxy RotationEach 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_found result.
  • Posts cap � Instagram's web_profile_info endpoint 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