Instagram Scraper
Extract public Instagram profile metadata and recent visible media cards from a username or profile URL, including bio, links, avatar, public counts, verification, privacy, captions, likes, and comments.
Overview
Instagram Scraper is the broader public Instagram entry point for Better Fetch tools. Version 0.1 focuses on the reliable public web profile response: it accepts a username or profile URL, returns account metadata and counts, and includes recent visible media cards with captions, thumbnails, timestamps, likes, and comments when Instagram exposes them.
Last validated: Jul 3, 2026
Playground
Input
usernamestringInstagram username, with or without @. 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 return
Output
usernamestringrequiredInstagram username
verifiedbooleanWhether the profile is verified
biographystringProfile biography
full_namestringrequiredVisible profile name
source_urlstringrequiredPublic Instagram profile URL
media_countintegerVisible post/media count
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
Examples
openai-profile
{
"username": "openai",
"max_recent_posts": 3
}Use cases
FAQ
Does Instagram Scraper require a login?
No. It uses public Instagram web responses visible without account-specific cookies and does not use passwords, exported sessions, or private API tokens.
Does this version scrape comments, hashtags, or every post?
No. Version 0.1 returns public profile metadata and recent visible media cards. Comments, hashtags, locations, and deep timeline pagination should be added as separate validated slices.
What happens with private profiles?
Private or unavailable profile data is not bypassed. The tool returns only what Instagram exposes in the public web profile response.
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_scraper
REST
curl -sS -X POST "https://betterfetch.co/api/tools/instagram_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-scraper && cd instagram-scraper && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"username":"openai","max_recent_posts":3}'