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
4
Total users
1
Monthly active users
12 days 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