Instagram Profile Scraper Goat
Pricing
from $3.00 / 1,000 profile scrapeds
Instagram Profile Scraper Goat
Bulk scrapes Instagram profiles and also gets public contact details (email, phone numbers etc.)
Pricing
from $3.00 / 1,000 profile scrapeds
Rating
0.0
(0)
Developer
Goutam Soni
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Instagram Profile Scraper
Scrape Instagram profile data in bulk. Get follower counts, bios, public email addresses, public phone numbers, business categories, and more — fast and at scale.
What it does
- Extracts full profile data — username, bio, follower/following counts, verification status, business category, and profile pictures (standard + HD)
- Extracts public contact info — if the profile has a public email, phone number, or business address, this scraper gets it
- Accepts usernames, @handles, or full Instagram URLs — mix and match any format
- Runs multiple profiles in parallel with configurable concurrency
- Uses multiple independent sources with automatic failover — if one source is temporarily unavailable, the next picks up seamlessly
- Returns clean, structured JSON — no junk fields, semantically ordered, ready for integration
Output
Each result is one JSON object per username.
| Field | Type | Description |
|---|---|---|
username | string | Instagram handle |
id | string | Numeric user ID |
fullName | string | Display name |
biography | string | Profile bio |
bioLinks | string[] | URLs in bio |
pronouns | string[] | Pronouns if set |
profilePicUrl | string | Profile picture (150x150) |
profilePicUrlHd | string | Profile picture HD (1080x1080) |
followerCount | integer | Number of followers |
followingCount | integer | Number following |
mediaCount | integer | Total posts on profile |
isVerified | boolean | Verified badge |
isPrivate | boolean | Private account |
isBusiness | boolean | Business/creator account |
category | string | Business category |
externalUrl | string | Website URL |
publicEmail | string | Public contact email |
publicPhone | string | Public phone number |
contactPhone | string | Business contact phone |
businessContactMethod | string | Contact method (CALL, TEXT, etc.) |
address | string | Business street address |
city | string | City |
zip | string | ZIP/postal code |
hasHighlightReels | boolean | Has story highlights |
hasGuides | boolean | Has guides |
hasVideos | boolean | Has video posts |
hasReels | boolean | Has reels |
latestReelTimestamp | integer | Last reel (unix timestamp) |
threadsUrl | string | Threads profile URL |
Use cases
- Lead generation — extract public emails and phone numbers from business profiles at scale
- Competitor analysis — track follower growth and account status across competitors
- Influencer research — bulk-check verification status, follower counts, and business categories
- Market research — analyze business categories, bio links, and contact methods across industries
- CRM enrichment — enrich contact databases with Instagram profile data
Integrations
Apify API
$curl "https://api.apify.com/v2/datasets/{DATASET_ID}/items?format=json"
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("YOUR_ACTOR_ID").call(run_input={"usernames": ["nasa", "spacex", "natgeo"],})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['username']}: {item['followerCount']} followers")if item.get("publicEmail"):print(f" Email: {item['publicEmail']}")if item.get("publicPhone"):print(f" Phone: {item['publicPhone']}")
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('YOUR_ACTOR_ID').call({usernames: ['nasa', 'spacex', 'natgeo'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => {console.log(`${item.username}: ${item.followerCount} followers`);if (item.publicEmail) console.log(` Email: ${item.publicEmail}`);});
Webhooks & other platforms
Use Apify integrations to send results to Google Sheets, Slack, Zapier, Make, Amazon S3, or your own webhook endpoint.
Pricing
This actor uses pay-per-event pricing. You are charged per profile successfully scraped. Check the Pricing tab for current rates.
Proxy requirements
Residential proxies are required. Configured by default with Apify's residential proxy pool.
Limits
- Private accounts: Profile metadata is returned but some fields may be limited
- Rate limits: Use
delayBetweenRequests(default 1s) and reasonableconcurrency(default 5) to avoid rate limits