Instagram Profile Scraper: Bio & Followers
Pricing
$1.00 / 1,000 profiles
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
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
3
Monthly active users
12 hours ago
Last modified
Categories
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:
| Field | Description |
|---|---|
π€ username | Public Instagram handle without the @ |
π·οΈ full_name | Display name on the profile |
π biography | Bio text as shown on the profile |
π₯ followers | Follower count at time of scrape |
β‘οΈ following | Number of accounts the profile follows |
πΌοΈ posts_count | Total posts published |
β
is_verified | True if the account has a verification badge |
π is_private | True if the account is private |
πΌ is_business | True if the account is a Business or Creator account |
ποΈ category | Business or creator category, when set |
π external_url | Website link listed on the profile |
π· profile_pic_url | Full resolution profile picture URL |
π user_id | Internal numeric Instagram ID |
π profile_url | Canonical public profile URL |
π§ͺ source | Which tier produced the record: api, html-og, or browser |
π scraped_at | ISO timestamp when the record was captured |
ποΈ recent_posts | Optional 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
- Open the actor on Apify and click Try for free.
- Paste one or more usernames into the Usernames field. Full profile URLs also work.
- Toggle Include recent posts if you want each profile's latest posts attached.
- Keep the default
RESIDENTIALproxy group. Instagram rate limits datacenter IPs. - 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:
- Threads Scraper: posts, profiles, hashtags, and search on Meta Threads.
- Twitter / X Scraper: tweets by keyword or handle with no paid API key.
- Pinterest Scraper: profiles, pins, boards, and related pin discovery.
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.