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.3~1 credit/runSource on GitHub

Workspace

Configure

Inputs stay here while results become exportable artifacts.

Start from an example

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 and run
~1 base credit/run10 runs/minute

Results

Preview, inspect, copy, or export the complete output.

Your result will become an artifact

Run the tool to inspect structured rows, raw JSON, execution details, and downloadable JSON, CSV, and Markdown files.

user_idcategoryusernameverifiedbio_linksbiographyfull_namemedia_count

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 15, 2026

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, ChatGPT, Codex)

# After connecting https://betterfetch.co/api/mcp, ask your AI to:
1. Call search_tools for "Instagram Profile Scraper"
2. Call run_tool with:
   name: "instagram_profile_scraper"
   input: {"username":"openai","max_recent_posts":3}

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/tools/tree/main/tools/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}'