Better Fetch

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.

Socialv0.1.0~1 credit/runApify StoreSource on GitHub

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

Instagram username, with or without the @ prefix. Use username or profile_url.

Public Instagram profile URL. Use username or profile_url.

Maximum recent visible media cards to include

Sign in to run this tool

~1 credit per run · runs against your account

Input

usernamestring

Instagram 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: 6

Maximum recent visible media cards to include

Output

user_idstring

Instagram user id

categorystring

Visible profile category

usernamestringrequired

Instagram username

verifiedboolean

Whether the profile is verified

bio_linksobject[]

Visible bio links

biographystring

Profile biography

full_namestringrequired

Visible profile name

media_countinteger

Visible post/media count

profile_urlstringrequired

Public Instagram profile URL

external_urlstring

Primary external URL

recent_postsobject[]

Recent visible media cards

follower_countinteger

Visible follower count

following_countinteger

Visible following count

private_accountboolean

Whether the profile is private

profile_pic_urlstring

Profile picture URL

business_accountboolean

Whether Instagram marks the profile as a business account

business_categorystring

Visible business category

professional_accountboolean

Whether Instagram marks the profile as professional

Examples

openai-profile

{
  "username": "openai",
  "max_recent_posts": 3
}

Use cases

Creator and brand research

Collect public Instagram account details, follower counts, bio links, categories, and recent visible posts for influencer discovery or competitive research.

Profile monitoring

Track public profile counts, bios, links, media counts, and recent post metadata over time without hand-copying Instagram pages.

Agent context

Give an agent enough structured Instagram profile context to summarize an account, compare creators, or decide which public posts need deeper review.

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}'