Instagram Profile Scraper: Bio & Followers avatar

Instagram Profile Scraper: Bio & Followers

Pricing

$1.00 / 1,000 profiles

Go to Apify Store
Instagram Profile Scraper: Bio & Followers

Instagram Profile Scraper: Bio & Followers

Scrape any public Instagram profile without login: followers, following, posts count, bio, verified/private flags, category, profile pic & external link, plus optional recent posts. Bulk usernames. Works in Claude, ChatGPT & any MCP AI agent.

Pricing

$1.00 / 1,000 profiles

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

3

Monthly active users

12 hours ago

Last modified

Share

πŸ‘€ Instagram Profile Scraper: Followers, Bio & Stats (No Login)

Overview

Instagram Profile Scraper turns any public Instagram username into a clean, structured profile record in seconds. Feed it one handle or a bulk list and it returns follower count, following count, posts count, bio, verification and business flags, category, external website link, profile picture URL, and optional recent posts. No Business account, no OAuth app, no Graph API review, no cookies.

Instagram's official Graph API only surfaces data for accounts you already own or manage, and it demands a Business or Creator account plus an approved app for anything else. This scraper works from the same public HTML and public API that any logged out visitor already sees, so you can pull public profile data for any public account without registering an app or handing over credentials.

βœ… No login required | βœ… No API key | βœ… Pay only for profiles returned | βœ… MCP-ready for AI agents

Features

Bulk profile lookup. Paste one username or hundreds and get one structured JSON row per account. Full profile snapshot. Followers, following, posts, bio, verified flag, business flag, category, and external link. Recent posts add-on. Optional array of the latest posts with caption, like count, comment count, and media URL. Multi-tier fetch. Tries the rich public API first, then falls back to public HTML, tagged in the source field. No ban risk. Never authenticates with Instagram, never uses cookies, never touches a private account.

How it works

The actor accepts either usernames (without the @) or full profile URLs. For each handle it first calls Instagram's public web API surface used by the site itself for logged out visitors, then falls back to parsing the public HTML if the API response is thin. Residential proxies keep requests looking like normal traffic so the actor stays under per IP limits.

Every record is normalised into a consistent schema regardless of which tier produced it. The source field records whether the record came from api, html-og, or browser. Blocked profiles and profiles that do not exist are never charged, and the first 10 profiles on every account are free for life.

🧾 Input configuration

{
"usernames": ["nasa", "natgeo"],
"includePosts": false,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

πŸ“€ Output format

{
"username": "nasa",
"full_name": "NASA",
"biography": "Exploring the universe and our home planet.",
"followers": 96323377,
"following": 80,
"posts_count": 4519,
"is_verified": true,
"is_private": false,
"is_business": true,
"category": "Government Agencies",
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/29090066_n.jpg",
"external_url": "https://www.nasa.gov/",
"user_id": "528817151",
"profile_url": "https://www.instagram.com/nasa/",
"source": "api",
"scraped_at": "2026-07-10T12:00:00.000Z",
"recent_posts": [
{
"shortcode": "DNQuxufAih9",
"url": "https://www.instagram.com/p/DNQuxufAih9/",
"caption": "Under the sea πŸͺΈ",
"like_count": 601022,
"comment_count": 1882,
"is_video": false,
"display_url": "https://scontent.cdninstagram.com/v/t51.2885-15/531774345_n.jpg",
"video_url": null,
"timestamp": "2025-08-12T16:19:28.000Z"
}
]
}

Every profile record contains these fields:

FieldDescription
πŸ‘€ usernamePublic Instagram handle without the @
🏷️ full_nameDisplay name on the profile
πŸ“ biographyBio text as shown on the profile
πŸ‘₯ followersFollower count at time of scrape
➑️ followingNumber of accounts the profile follows
πŸ–ΌοΈ posts_countTotal posts published
βœ… is_verifiedTrue if the account has a verification badge
πŸ”’ is_privateTrue if the account is private
πŸ’Ό is_businessTrue if the account is a Business or Creator account
πŸ—‚οΈ categoryBusiness or creator category, when set
πŸ”— external_urlWebsite link listed on the profile
πŸ“· profile_pic_urlFull resolution profile picture URL
πŸ†” user_idInternal numeric Instagram ID
🌐 profile_urlCanonical public profile URL
πŸ§ͺ sourceWhich tier produced the record: api, html-og, or browser
πŸ•’ scraped_atISO timestamp when the record was captured
🎞️ recent_postsOptional array of latest posts with caption, likes, comments, media URL

πŸ’Ό Common use cases

Influencer discovery and vetting Score creators on real follower size, verified status, and category before you reach out. Pull bios and external links across hundreds of handles in one run.

Competitor and creator tracking Snapshot rivals' follower counts and posting cadence on a weekly schedule. Monitor business category changes and bio updates over time.

Lead enrichment Append Instagram reach, website link, and category to a list of brands or prospects. Turn a client's target account list into a contactable roster.

Market research Profile a whole niche in one run to map who is big, who is a business account, and who is rising. Build a clean roster of accounts to monitor for a campaign.

πŸš€ Getting started

  1. Open the actor on Apify and click Try for free.
  2. Paste one or more usernames into the Usernames field. Full profile URLs also work.
  3. Toggle Include recent posts if you want each profile's latest posts attached.
  4. Keep the default RESIDENTIAL proxy group. Instagram rate limits datacenter IPs.
  5. Click Save & Start, then download the dataset as JSON, CSV, or Excel, or pull it via the Apify API or MCP.

FAQ

Do I need an Instagram login or API key? No. The scraper only reads public profile data that a logged out visitor can see. No account, no password, no cookies, and no Graph API app required.

Can I scrape by profile URL or ID instead of username? Yes. Paste full profile URLs into the Usernames field. Usernames without the @ are the simplest input and each profile is scraped independently.

How am I charged? Pay per result. You are billed only for profiles that are actually delivered. Blocked or not found profiles are never charged, and the first 10 results are free for life on every account.

Why is a field sometimes empty? The actor tries the public API first and falls back to Instagram's public HTML when needed. The source field tells you which tier produced each record. On the HTML fallback, some fields (like recent_posts) may be empty.

Is it legal to scrape Instagram profiles? The actor collects only publicly available data and never accesses private accounts. Some public data may still be personal data under regulations like GDPR, so only scrape what you have a legitimate reason to use.

Can I use it inside an AI agent? Yes. It is exposed as an MCP tool. See below.

Use in Claude, ChatGPT & any MCP agent

https://mcp.apify.com/?tools=themineworks/instagram-profile-scraper

Or call it programmatically with the Apify client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('themineworks/instagram-profile-scraper').call({
usernames: ['nasa', 'natgeo'],
includePosts: false,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

πŸ› οΈ Complete your social intelligence pipeline

Profile data is the anchor. Round out the picture with the rest of the suite:

Typical flow: profile scraper builds the roster, then Threads and Twitter scrapers watch what the same people are saying across networks.

Questions or need a custom field set? Reach out through the Apify profile.