Instagram Profile Scraper
Extract public Instagram profile metadata from a username or profile URL, including bio, links, avatar, verification, privacy, follower and following counts, media count, and recent visible posts.
Overview
Instagram Profile Scraper turns a public Instagram profile into structured metadata for agents, research workflows, and monitoring jobs. It requests Instagram's public web profile endpoint through Better Fetch with browser-like same-origin headers, then normalizes the account bio, links, public counts, avatar, verification and privacy flags, and recent visible media cards.
Last validated: Jul 3, 2026
Playground
Input
usernamestringInstagram username, with or without the @ prefix. Use username or profile_url.
profile_urlstring (uri)Public Instagram profile URL. Use username or profile_url.
max_recent_postsintegerdefault: 6Maximum recent visible media cards to include
Output
user_idstringInstagram user id
categorystringVisible profile category
usernamestringrequiredInstagram username
verifiedbooleanWhether the profile is verified
bio_linksobject[]Visible bio links
biographystringProfile biography
full_namestringrequiredVisible profile name
media_countintegerVisible post/media count
profile_urlstringrequiredPublic Instagram profile URL
external_urlstringPrimary external URL
recent_postsobject[]Recent visible media cards
follower_countintegerVisible follower count
following_countintegerVisible following count
private_accountbooleanWhether the profile is private
profile_pic_urlstringProfile picture URL
business_accountbooleanWhether Instagram marks the profile as a business account
business_categorystringVisible business category
professional_accountbooleanWhether Instagram marks the profile as professional
Examples
openai-profile
{
"username": "openai",
"max_recent_posts": 3
}Use cases
FAQ
Does Instagram Profile Scraper need an Instagram login?
No. It reads public web profile data visible without account-specific cookies and does not use private credentials, passwords, or session exports.
Does it scrape private profiles?
No. Private, unavailable, removed, or region-blocked profile data is not bypassed. The tool returns only public metadata exposed by Instagram's web profile response.
Does this extract comments or every historical post?
No. Version 0.1 returns profile metadata and a bounded set of recent visible media cards. Comments and deep timeline pagination should be separate validated tools.
Use it anywhere
MCP (Claude, Cursor, any client)
# Add the Better Fetch MCP connector (or paste the URL into # Claude → Settings → Connectors → Add custom connector): claude mcp add --transport http better-fetch https://betterfetch.co/api/mcp \ --header "Authorization: Bearer bf_your_key_here" # Then ask for the tool by name: instagram_profile_scraper
REST
curl -sS -X POST "https://betterfetch.co/api/tools/instagram_profile_scraper/run" \
-H "Authorization: Bearer bf_your_key_here" \
-H "Content-Type: application/json" \
-d '{"input": {"username":"openai","max_recent_posts":3}}'Run locally
git clone https://github.com/better-fetch/instagram-profile-scraper && cd instagram-profile-scraper && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"username":"openai","max_recent_posts":3}'