📸 Instagram Profile Scraper - Bios & Followers | Apify MCP · Apify
Instagram Profile Scraper Goat avatar

Instagram Profile Scraper Goat

Pricing

from $1.00 / 1,000 profile scrapeds

Go to Apify Store
Instagram Profile Scraper Goat

Instagram Profile Scraper Goat

Bulk-scrape Instagram profiles. Get follower, following and post counts, bios, bio links, website URLs, verification and business-account flags, and HD profile pictures. Contact email and phone are not included. No Instagram API key, no login, no cookies.

Pricing

from $1.00 / 1,000 profile scrapeds

Rating

5.0

(4)

Developer

Goutam Soni

Goutam Soni

Maintained by Community

Actor stats

3

Bookmarked

476

Total users

49

Monthly active users

5.8 hours

Issues response

6 days ago

Last modified

Features

Limited permissions

Share

Instagram Profile Scraper - Bulk Extract Bios, Followers & Profile Data

Scrape Instagram profiles in bulk. Get follower, following and post counts, bios, bio links, website URLs, verification and business-account flags, profile pictures (HD where available) and the latest reel time - without an Instagram API key, login, or cookies.

What this Instagram profile scraper does

Pass a list of Instagram usernames, @handles, or profile URLs and the actor returns one clean JSON record per profile. Multi-source failover and residential proxies keep runs going when one source is busy.

What it does not include: contact email and phone numbers. The sources this actor reads do not carry them, so those columns are always empty. Business category and street address are filled only for the few accounts that publish them (about 1 in 8 and 1 in 30 profiles in recent runs).

Perfect for influencer research, CRM enrichment, follower tracking, competitor analysis, and market research on Instagram at scale.

Why use this Instagram profile scraper

  • No API key, no login, no cookies - works on every public Instagram profile.
  • Follower, following and post counts on every public profile.
  • HD profile pictures - a 150x150 URL always, and the 1080x1080 URL when the source returns it (most profiles).
  • Bulk by username - one call to scrape one or many profiles in parallel.
  • Multi-source failover - upstream rate-limited? The actor falls back to another source automatically.
  • Residential proxies built in with per-request rotation.
  • Clean structured JSON - no junk fields, ready for direct CRM/spreadsheet import.

What data you get per Instagram profile

FieldTypeDescription
usernamestringInstagram handle
idstringNumeric user ID
fullNamestringDisplay name
biographystringProfile bio text
bioLinksstring[]URLs in bio
profilePicUrlstringProfile picture (150x150)
profilePicUrlHdstringHD profile picture (1080x1080)
followerCountintegerNumber of followers
followingCountintegerNumber following
mediaCountintegerTotal posts on profile
isVerifiedbooleanVerified badge
isPrivatebooleanPrivate account flag
isBusinessbooleanBusiness/creator account
categorystringBusiness category, only when the account publishes one (about 1 in 8 profiles)
externalUrlstringWebsite URL
addressstringBusiness street address, rarely published (about 1 in 30 profiles)
citystringCity, rarely published
zipstringZIP / postal code, rarely published
hasReelsbooleanHas Instagram Reels
latestReelTimestampintegerLatest reel (unix epoch), when the account has posted one

These columns stay in every row so existing integrations keep working, but they are always empty because no source the actor reads carries them: publicEmail, publicPhone, contactPhone, businessContactMethod, pronouns, threadsUrl, hasGuides, hasVideos, hasHighlightReels. Use the Stories & Highlights Scraper to detect highlights.

How to use the Instagram Profile Scraper

  1. Click Try for free on the actor page.
  2. Enter Instagram usernames in the usernames input. URLs, @handles, and plain usernames are all accepted and deduplicated.
  3. Tune concurrency (default 5) and delayBetweenRequests (default 1s) for your speed/safety tradeoff.
  4. Click Save & start. Download in JSON / CSV / Excel / XML / HTML or stream via API.

Top use cases

  • Influencer marketing - vet candidates by follower count, verification, account type and engagement signals.
  • CRM enrichment - add verified Instagram handles, follower counts and website links to your records.
  • Competitor follower growth tracking - snapshot follower counts on a schedule and compare over time.
  • Market research - map businesses by bioLinks, externalUrl and follower scale across niches.
  • Sales prospecting - qualify business accounts by follower scale, website and bio links.

Integrations

Apify API

$curl "https://api.apify.com/v2/datasets/{DATASET_ID}/items?format=json"

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("goat255/instagram-profile-scraper").call(run_input={
"usernames": ["example_user_1", "example_user_2", "example_user_3"],
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['username']}: {item['followerCount']} followers")
if item.get("externalUrl"):
print(f" Website: {item['externalUrl']}")

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('goat255/instagram-profile-scraper').call({
usernames: ['example_user_1', 'example_user_2', 'example_user_3'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => {
console.log(`${item.username}: ${item.followerCount} followers`);
if (item.externalUrl) console.log(` Website: ${item.externalUrl}`);
});

No-code integrations

Stream results to Google Sheets, Slack, Zapier, Make, Amazon S3, HubSpot, or any webhook via Apify Integrations.

Pricing

Pay-per-event. No subscription.

EventPrice
Profile scraped (primary)$0.005

Apify's $5 platform free credit applies on first use - ~1,000 free profiles to start.

FAQ

Do I need an Instagram API key or login?

No. This scraper works on every public Instagram profile with no auth required.

Can it scrape private Instagram accounts?

Profile metadata is returned (username, follower count, bio if public, verification), but post-level data is gated by Instagram. Use the Instagram Posts Scraper for post-level scraping on public accounts.

Does it return email addresses and phone numbers?

No. The sources this actor reads do not carry contact email or phone, so publicEmail, publicPhone and contactPhone are always empty. The website link in externalUrl and the links in bioLinks are filled whenever the account has them.

How accurate are the follower counts?

They are the counts the sources report at the time of the run.

Can I scrape Instagram by category or location?

This actor takes usernames as input. To discover profiles by category or location first, scrape a hashtag/location feed elsewhere, then feed the usernames here for full profile data.

What about rate limits?

Multi-source failover plus rotating residential proxies handle Instagram's rate limits automatically.

Can I export to Google Sheets / CSV / Excel?

Yes - JSON, CSV, Excel, XML, HTML formats all supported, plus native integrations.

Support

Open an issue on the actor page if a field's missing or behaving oddly. Reviews are read and replied to.

Privacy

To improve our actors we collect anonymized usage telemetry (run stats and input patterns). No personal account data is collected.