Instagram API MCP server

MCP server · 10 tools · 23 endpoints

Instagram MCP server

Profiles, posts, comments, hashtags and reel transcripts from public Instagram, read by your agent as JSON.

100 credits on signup · No card · Sign in with OAuth or paste a key

scrapersocial-instagram mcp.scrapersocial.com/instagramconnected
you

Pull the profile for <@account> and tell me their follower count and bio.

agent
calls get_profile 3 credits / profile
{ "handle": "<handle>" }
server
returns
followers number subscribers number bio string
Shape only. Keys follow the tool's summary; a real call returns the full record. 1 call · 3 credits

Connect

One URL. Your client already knows what to do with it.

The first call opens a sign-in. New accounts get 100 credits, no card. Every client below shares one account and one balance.

Get a free key
server url https://mcp.scrapersocial.com/instagram
claude.aiOAuth

Settings → Connectors → Add custom connector, then paste the server URL.

mcp.scrapersocial.com/instagram

Web, desktop and mobile. Nothing else to paste.

Claude Codeone command

Run this in a terminal.

$ claude mcp add --transport http scrapersocial-instagram https://mcp.scrapersocial.com/instagram

Approve the sign-in prompt on first use.

Cursorone click

Installs the server and opens the MCP panel.

Add to Cursor
or paste the JSON into .cursor/mcp.json
{ "mcpServers": { "scrapersocial-instagram": { "url": "https://mcp.scrapersocial.com/instagram", "headers": { "Authorization": "Bearer sk_live_..." } } } }
Other clients · VS Code, Windsurf, Gemini CLI, anything that speaks MCP
VS Codeone click or JSON
Add to VS Codeor run MCP: Add Server, choose HTTP and use:
{ "name": "scrapersocial-instagram", "type": "http", "url": "https://mcp.scrapersocial.com/instagram" }
Windsurf~/.codeium/windsurf/mcp_config.json
{ "mcpServers": { "scrapersocial-instagram": { "serverUrl": "https://mcp.scrapersocial.com/instagram", "headers": { "Authorization": "Bearer sk_live_..." } } } }
Gemini CLI~/.gemini/settings.json
{ "mcpServers": { "scrapersocial-instagram": { "httpUrl": "https://mcp.scrapersocial.com/instagram", "headers": { "Authorization": "Bearer sk_live_..." } } } }
Any clientStreamable HTTP · OAuth 2.1 or Bearer
$ npx add-mcp https://mcp.scrapersocial.com/instagram

One account and one balance across every client and the every-platform hub at mcp.scrapersocial.com.

What it does

What your agent can do with Instagram

Instagram shows a logged-out visitor more than people expect: a profile’s follower count and bio, the grid of posts and reels, like and comment counts, the comments themselves, and every public post under a hashtag or a location. What it hides is anything behind a login, which means stories, close-friends posts, private accounts and DMs. This server covers the first group and nothing in the second.

Ten tools map onto 23 Instagram endpoints. get_profile returns the account record for 3 credits and get_channel_posts lists recent posts with their metrics at 2 per post. get_post_stats is the cheapest call in the set at 1 credit. get_comments walks a post’s comments at 3 each. search_hashtag returns public posts under a tag for 2 per post. Two tools are expensive and worth knowing about before your agent fires them: get_transcript costs 40 credits for a reel and get_summary costs 42, because they process the video itself. download_media, which returns direct media URLs from Instagram’s own CDN, is also 40.

The rest of the catalog is one call_endpoint away: reels for an account, hashtag and location analytics, keyword and profile search, reels search, tagged posts, similar accounts and the fuller profile-about and profile-full records. list_endpoints prints each path with its price, and calling it is free.

Five jobs it finishes on its own

01

Audit a brand or creator account

Three credits for the profile, 100 for the latest 50 posts. An agent can work out posting cadence, median likes, which formats carry the account, and whether engagement tracks follower count or lags it.

02

Size up a hashtag or a location

search_hashtag returns the public posts under a tag; hashtag-stats and location-posts via call_endpoint add counts and place-based feeds. Useful for picking tags before a launch or seeing who posts from a venue.

03

Read what a reel actually says

A reel's caption rarely matches its audio. get_transcript returns the spoken words so your agent can fact-check, quote, or summarise. It costs 40 credits, so ask the user before spending it.

04

Collect comments for sentiment

Three credits a comment, 50 to a page. Pull a few hundred across a campaign's posts and have the model sort them into praise, complaints and questions.

05

Fetch stats for a list of post URLs

At 1 credit per post, get_post_stats is cheap enough to run across every post in a spreadsheet. Likes, comments and views where Instagram publishes them, one JSON object per URL.

Limits · read before you connect

What this does not do

Written by a person, not generated. If something here is wrong, tell us.

Public data only, and no account is logged in on your behalf. Stories, a followers-count endpoint and an audio lookup appear in the catalog but are switched off, so there’s no way to read them here. A private profile answers not found, and nobody is charged for that. Comments and post listings arrive 50 at a time, billed by the row, and even an empty page is metered at 1 credit. The three 40-credit calls (transcript, summary, download) should sit behind an explicit request; a 100-credit trial covers two of them. Read-only: the server can’t post, like, follow or message.

Tools

10 tools, same names as the every-platform hub

8 do one Instagram thing each. The last two reach all 23 endpoints by path, so nothing in the catalog is out of an agent's reach.

Full credit table →

Get a video transcript

get_transcript

Spoken-word transcript of a public video, with timestamped segments where the source publishes them.

40 credits / reel

Summarise a video

get_summary

Short LLM summary of what a public video actually says, built on its transcript.

42 credits / reel

Get post engagement stats

get_post_stats

Engagement stats for one public post or video: views, likes, comments, shares and reposts where the platform publishes them.

1 credit / post

Read comments on a post

get_comments

Comments on a public post or video, newest first, paginated with limit and cursor.

3 credits / comment

Get an account profile

get_profile

Profile, page or channel record for a public account: follower and subscriber counts, bio, and totals.

3 credits / profile

List an account's posts

get_channel_posts

Recent public posts or videos from one account, with per-item metrics.

2 credits / post

Search a hashtag

search_hashtag

Public posts carrying a hashtag.

2 credits / post

Get media file URLs

download_media

Direct media URLs for a public post or video, served from the platform's own CDN.

40 credits / video
Reaches the other 15 endpoints

List every Instagram endpoint

list_endpoints

Browse every Instagram endpoint, its input and its credit cost. Free, and calls nothing upstream.

free

Call any Instagram endpoint by path

call_endpoint

Run any Instagram endpoint by its path, so nothing Instagram offers is out of reach of an agent.

endpoint's own cost

Pricing

100 free credits is 2 transcripts, or 33 profile reads, or 50 posts.

Then $5 a month for 1,000 credits, or $4 per 1,000 as a top-up. No card to start. Calls cost between 1 and 42 credits on Instagram.

2 transcriptsget_transcript · 40 each
33 profile readsget_profile · 3 each
50 postsget_channel_posts · 2 each
Get a free key 100 credits on signup · $5 for 1,000 · full credit table

Prompts

Things to ask once it is connected

Copy one, swap the placeholder, paste it into your client.

Pull the profile for <@account> and tell me their follower count and bio.

Fetch <@account>'s most recent 30 posts and work out their average likes.

Get the comments on <instagram-post-url> and summarise the recurring complaints.

What are people posting under #<hashtag> today? Show me the top ten with like counts.

Transcribe <instagram-reel-url> so I can quote it accurately.

Compare the engagement on these three post URLs: <url-1>, <url-2>, <url-3>.

Questions

Before you connect

Do I have to log in to Instagram? #

No. Your agent authenticates with a ScraperSocial key; no Instagram session is created or needed. That's also why private content is out of scope.

Why did one call cost 40 credits? #

You ran get_transcript or download_media on a reel. Those process the video and are priced accordingly. get_summary is 42. Everything else on this spoke is between 1 and 3 credits per item.

Is this Meta's Graph API? #

No. ScraperSocial has no relationship with Meta or Instagram; it's an independent service reading public pages. If you own the account, the Graph API gives you insights this server can't see.

Can it see a private account or someone's stories? #

Neither. Private profiles answer not found; the stories endpoint is unavailable. Readable means visible without signing in; nothing beyond that.

How many comments come back per call? #

Up to 50, 20 by default, plus a cursor you pass back for the following page. Each comment is 3 credits.

What does a post stats call cost? #

One credit. It's the cheapest thing in the Instagram catalog and a good first call for an agent checking whether a post exists before doing anything pricier.