Instagram Profile Scraper
Pricing
Pay per event
Instagram Profile Scraper
Scrape Instagram profiles instantly. Get follower counts, bios, recent posts, engagement rates, and related accounts. Just input usernames - no login required. Supports date filtering and Apify Proxy for reliable results.
Pricing
Pay per event
Rating
0.0
(0)
Developer

Elliot Padfield
Actor stats
0
Bookmarked
13
Total users
4
Monthly active users
a month ago
Last modified
Categories
Share
Scrape Instagram profile data including bio, followers, posts, and engagement metrics. Just provide usernames and get structured JSON data back.
Features
- Profile data - Username, bio, follower/following counts, profile pictures, verification status
- Recent posts - Up to 12 posts with likes, comments, captions, and media URLs
- Engagement metrics - Automatically calculated engagement rate
- Related profiles - Suggested/similar accounts from Instagram
- Date filtering - Only include posts newer than a specified date
- Proxy support - Built-in Apify Proxy integration to avoid rate limiting
- Error handling - Returns structured error objects instead of crashing
Input
| Field | Type | Description |
|---|---|---|
usernames | array | Required. List of Instagram usernames to scrape (without @) |
proxyConfiguration | object | Proxy settings. Recommended to use Apify Proxy |
maxRetries | integer | Max retry attempts per profile (default: 3) |
delayBetweenRequests | integer | Delay in ms between requests (default: 1000) |
onlyPostsNewerThan | string | Filter posts by date. Accepts YYYY-MM-DD, ISO format, or relative like 30 days, 6 months, 1 year |
Example Input
{"usernames": ["instagram", "cristiano"],"proxyConfiguration": {"useApifyProxy": true},"onlyPostsNewerThan": "6 months"}
Output
Each scraped profile is saved to the dataset with the following structure:
Successful Scrape
{"username": "instagram","userId": "25025320","fullName": "Instagram","biography": "Discover what's new on Instagram","followerCount": 698856927,"followingCount": 262,"mediaCount": 8299,"isVerified": true,"isPrivate": false,"isBusiness": false,"isProfessional": true,"profilePicUrl": "https://...","profilePicUrlHd": "https://...","externalUrl": "http://help.instagram.com/","bioLinks": [{"title": "", "url": "http://help.instagram.com", "link_type": "external"}],"pronouns": [],"categoryName": null,"highlightReelCount": 15,"posts": [{"id": "3808662901121777021","shortcode": "DTbFrq6kn19","displayUrl": "https://...","isVideo": true,"postType": "video","likeCount": 192022,"commentCount": 2878,"caption": "the way he actually flew...","takenAt": 1768248111,"videoUrl": "https://...","viewCount": 8343294}],"relatedProfiles": [{"username": "nctwish_official","fullName": "NCT WISH","profilePicUrl": "https://...","isVerified": true,"isPrivate": false}],"engagementRate": 2.45,"scrapedAt": "2025-01-13T12:00:00.000Z"}
Error Response
{"username": "nonexistent_user","error": "not_found","message": "Profile not found: nonexistent_user"}
Error types: not_found, private, rate_limited, unknown
Post Types
The scraper handles all Instagram post types:
| Type | Description | Extra Fields |
|---|---|---|
image | Single image | displayUrl |
video | Video/Reel | videoUrl, viewCount, thumbnailUrl |
carousel | Multiple images/videos | carouselItems[] with individual media |
Proxy Configuration
Using Apify Proxy is highly recommended to avoid rate limiting:
{"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
For high-volume scraping, residential proxies provide better success rates.
Cost Estimation
- ~1 request per profile
- Average run: 1-2 seconds per profile
- Memory: 256MB is sufficient for most runs
Limitations
- Only public profiles can be fully scraped
- Private profiles return an error response
- Maximum 12 recent posts per profile (Instagram API limit)
- Related profiles may not be available for all accounts
Local Development
# Install dependenciespnpm install# Run locallyecho '{"usernames": ["instagram"]}' > storage/key_value_stores/default/INPUT.jsonpnpm run start:dev# Buildpnpm run build
Deploy to Apify
$apify push
License
ISC