Instagram Profile Scraper – Followers, Bio, Posts, Verified
Pricing
from $0.80 / 1,000 profile scraped successfullies
Instagram Profile Scraper – Followers, Bio, Posts, Verified
Get real‑time Instagram profile data: username, full name, bio, followers, following, posts, verified, business account, profile pic. No login. Pay per success ($0.0008). Residential proxy ready. Bulk support.
Pricing
from $0.80 / 1,000 profile scraped successfullies
Rating
0.0
(0)
Developer
Scrape Pilot
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Share
📸 Instagram Profile Scraper – Followers, Bio, Posts, Verified
Get real‑time Instagram profile data – username, full name, bio, followers, following, posts, verified badge, business account flag, profile picture, external URL – using Instagram’s internal API.
No login required. Residential proxy ready. Pay per successful result. Perfect for influencer marketing, competitor analysis, lead generation, and social listening.
💡 What is the Instagram Profile Scraper?
The Instagram Profile Scraper extracts public profile information from any Instagram account using Instagram’s own web_profile_info API endpoint (the same one used by the official website). It returns clean, structured JSON with:
- Username and full name
- Bio (biography text)
- Follower count, following count, post count
- Verified badge and business account flag
- Profile picture URL (high resolution)
- External link (if provided)
- Scraped timestamp
No Instagram login, no password, no cookies required. The actor respects Instagram’s public data policies and uses residential proxies to avoid IP bans. You are charged only for successful profile retrievals – failed or private accounts incur no cost.
🚀 Key Features
| Feature | Description |
|---|---|
| Real‑time data | Fetches live profile information directly from Instagram’s API. |
| Bulk profile scraping | Process hundreds of usernames in one run. |
| No login required | Works without any Instagram account. |
| Private usernames | For private accounts, the API returns null – the actor logs a warning and charges nothing. |
| Residential proxy ready | Avoids Instagram rate limits and IP blocks (strongly recommended). |
| Pay per success | You are charged only when a profile is successfully retrieved. Failed attempts are free. |
| Spending limit protection | Automatically stops when the user’s daily/monthly spending limit is reached. |
| Clean JSON output | Ready for CRM, spreadsheets, or dashboards. |
| Apify native integration | Seamless integration with Apify storage, proxy, and scheduling. |
📥 Input Parameters
The actor accepts a JSON object with the following fields:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
usernames | array or string | Yes | – | List of Instagram usernames (with or without @). Can be newline‑separated string or JSON array. |
proxyConfiguration | object | No | – | Apify proxy configuration. Residential proxies are strongly recommended. |
Example Input (Single)
{"usernames": "cristiano"}
Example Input (Bulk)
{"usernames": "cristiano\nleomessi\ninstagram","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
📤 Output Fields
Each successful profile returns an object with the following fields:
| Field | Type | Description |
|---|---|---|
username | string | Instagram username (lowercase). |
full_name | string | Display name. |
bio | string | Biography text. |
followers | integer | Follower count. |
following | integer | Following count. |
posts | integer | Number of posts (media count). |
is_verified | boolean | Verified badge. |
is_business | boolean | Business account flag. |
profile_pic | string | High‑resolution profile picture URL. |
external_url | string | Website link (if provided). |
status | string | "success". |
scraped_at | string | ISO 8601 timestamp. |
Failed profiles (private, blocked, not found) return an error object:
| Field | Type | Description |
|---|---|---|
username | string | The requested username. |
status | string | "failed". |
error_code | integer or string | HTTP status code or "NetworkError". |
error_message | string | Explanation of the failure. |
scraped_at | string | ISO 8601 timestamp. |
Example Output (Success)
[{"username": "cristiano","full_name": "Cristiano Ronaldo","bio": "Athlete ⚽️ | @cr7 | @cr7museum","followers": 612000000,"following": 500,"posts": 3800,"is_verified": true,"is_business": true,"profile_pic": "https://instagram.f...jpg","external_url": "https://www.cristianoronaldo.com","status": "success","scraped_at": "2026-04-26T12:00:00Z"}]
Example Output (Failed)
[{"username": "private_account","status": "failed","error_code": 404,"error_message": "Could not retrieve profile data. Account may be private or blocked.","scraped_at": "2026-04-26T12:00:01Z"}]
💰 Pricing
| Metric | Price |
|---|---|
| Per successful profile | $0.0008 |
| Per 1,000 successful profiles | $0.80 |
- You are charged only when a profile is successfully retrieved (HTTP 200 with valid user data).
- Failed requests (private, blocked, not found, network errors) are free.
- Minimum charge per run is $0.0008 (one profile).
- Example: 1,000 successful profiles = $0.80.
- Example: 10,000 successful profiles = $8.00.
Spending limit protection: The actor automatically stops when your Apify spending limit is reached.
🛠 How to Use on Apify
- Create a task with this actor.
- Enter usernames in the
usernamesfield (one per line). - Enable residential proxies – go to Proxy Configuration → Selected proxies → Residential.
- Run – the actor scrapes each profile and pushes results to the Dataset.
- Export – download as JSON, CSV, or Excel from the Dataset tab.
Running via API
curl -X POST "https://api.apify.com/v2/acts/your-username~instagram-profile-scraper/runs" \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_API_TOKEN" \-d '{"usernames": ["cristiano", "leomessi"],"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}'
🎯 Use Cases
| Industry / Use Case | How It Helps |
|---|---|
| Influencer Marketing | Evaluate potential partners by follower count, engagement, and verification status. |
| Competitor Analysis | Track competitors’ follower growth and content volume. |
| Lead Generation | Enrich CRM with Instagram stats for known accounts. |
| Social Listening | Monitor brand ambassadors and industry leaders. |
| Academic Research | Study social media influence and network dynamics. |
| Investment Due Diligence | Assess the authenticity and reach of a brand’s social presence. |
❓ Frequently Asked Questions
1. Do I need an Instagram account?
No. The actor uses Instagram’s public API endpoint. No login required.
2. Can I scrape private profiles?
No. For private accounts, the actor returns a failed status and does not charge you.
3. Why do I need residential proxies?
Instagram blocks most datacenter IPs after moderate usage. Residential proxies avoid 429 Too Many Requests errors.
4. How accurate is the follower count?
It is the exact count shown by Instagram, updated in real time. No approximations.
5. What is the rate limit?
Instagram’s unofficial API is not documented. We recommend using residential proxies. The actor does not add artificial delays – you can modify the code to add time.sleep() if needed.
6. Am I charged for failed attempts?
No. Only HTTP 200 responses with valid user data incur a charge. Private, blocked, or non‑existent accounts are free.
7. Does it work with Instagram’s new API restrictions?
The actor uses the same endpoint as the Instagram website (/api/v1/users/web_profile_info/), which remains accessible for public profiles.
8. What happens when my spending limit is reached?
The actor detects charge_result.event_charge_limit_reached and stops processing further usernames, preventing overspending.
9. Can I extract followers or following lists?
No, this actor only retrieves counts, not the actual list of followers/following. For that, you need a different actor.
10. How are you bypassing Instagram’s 401/403 errors?
The actor uses curl_cffi with Chrome 124 impersonation, appropriate headers (including x-ig-app-id), and Apify residential proxies to mimic a real browser session.
📝 Technical Notes
- Endpoint used:
https://www.instagram.com/api/v1/users/web_profile_info/?username={username} - Headers required:
x-ig-app-id: 936619743392459,x-requested-with: XMLHttpRequest,referer,user-agent - Library:
curl_cffi(handles TLS fingerprinting to resemble Chrome 124) - Proxy: Uses Apify’s proxy configuration – you must select residential proxies for reliability.
- Error handling: If the HTTP status is not 200, the actor logs an error item and continues (no charge).
- Charging: Uses
Actor.charge(event_name='result-scrape')– works within Apify’s built‑in monetization system. - Spending limit: The actor checks
charge_result.event_charge_limit_reachedand exits early to respect user budget. - Private accounts: Instagram returns an empty
data.userfield; the actor treats this as a failure.
🔍 SEO Keywords
Instagram Profile Scraper, Instagram follower count, Instagram bio extractor, Instagram API without login, Instagram profile data, bulk Instagram lookup, Instagram username checker, social media intelligence, influencer analytics, Apify Instagram actor, Instagram public profile scraper, pay per success scraper
🔗 Related Actors
- Instagram Reels & Video Downloader – Download videos and metadata.
Start scraping Instagram profiles today – only $0.80 per 1,000 successful profiles. Residential proxy ready.