Ask Claude about an Instagram account and its web fetch gets back the page title and nothing else. An Instagram MCP server gives it tools that return the posts, captions, counts and comments as data, so it can work with them.
Most Instagram MCP servers go through Meta’s Graph API, which opens only your own professional account, or log in as you with your Instagram password. To read other people’s public accounts (a competitor, say), you want one that reads public pages. LurkAPI’s is one URL, https://api.lurkapi.com/mcp?platforms=instagram, and it gives Claude, ChatGPT or Cursor eight read-only tools at 1 credit a call:
| Tool | What it returns |
|---|---|
instagram_profile | Bio, links and follower counts |
instagram_user_posts | Posts with captions, likes and comment counts |
instagram_user_reels | Reels with play counts |
instagram_post | One post or reel with its caption and counts |
instagram_post_comments | Comments with their likes, 13 to 15 a page |
instagram_media_transcript | What’s said in a reel, as text |
They read what a logged-out visitor can see, so a private account’s posts stay private. Each tool is also a REST endpoint (Instagram endpoints), and the transcript one runs our free Instagram transcript tool.
Add it to Claude in about a minute
In claude.ai or Claude Desktop, open Customize > Connectors > Add custom connector, paste the URL and sign in on lurkapi.com with Google or an email code. Every plan can add one, Free included. Switch it on for a chat from + > Connectors. The sign-in gives the app its own API key, so revoking that key in your dashboard disconnects it. Our YouTube-into-Claude guide walks through every click.
In Claude Code, add it with the URL in quotes (zsh reads a bare ? as a file pattern), then run /mcp to sign in:
claude mcp add --transport http lurkapi "https://api.lurkapi.com/mcp?platforms=instagram"ChatGPT needs developer mode, which OpenAI offers on Business, Enterprise and Edu plans on the web; create an app with the URL and sign in when asked. Cursor takes it as an entry under mcpServers in ~/.cursor/mcp.json. A new account starts with 100 free credits, and any day your balance is under 20 it goes back up to 20, so 20 calls a day cost nothing.
Ask in plain words, and Claude picks the calls
Try “Compare the last 10 posts of @glossier and @rarebeauty: which formats get the most comments?” You get the answer in about 35 seconds, for 3 credits: Claude fetches ten posts from each account at once, and since Rare Beauty’s first post is pinned from April 2023, it fetches one more so each side is ten recent posts.
| Format | Posts | Average | Median |
|---|---|---|---|
| Glossier carousel | 7 | 133 | 86 |
| Glossier single image | 2 | 125 | 125 |
| Glossier reel | 1 | 96 | 96 |
| Rare Beauty carousel | 5 | 741 | 483 |
| Rare Beauty reel | 5 | 588 | 425 |
Format barely mattered. Rare Beauty’s carousels lead only because of one collab post; without it they average 342 comments, below reels at 588. The posts with the most comments, for both brands, revealed or teased a product. And the pinned post got the most comments of all, and not because of its format: its caption asks people to “compliment the person who commented before you”, and it has 18,154.
Watch for pinned posts if you script this. Instagram lets an account pin up to three posts to the top of its grid and they come first in the feed, so “the last 10 posts” can include one from 2023. Claude caught it from the date; a script should check taken_at.
Ten posts can be too big for Claude to read
Instagram’s data for a post lists every image in several sizes, and a carousel repeats that for each slide. Ten of Glossier’s posts come to 332,597 characters that way: 93% of it is links to images and video, and each carousel slide adds about 10,000. Claude Code saves any tool result over 50,000 characters to a file and hands Claude the path, which it can’t read in full without a shell command you approve (Claude Code docs). claude.ai stops at about 150,000.
LurkAPI sends one link per image or video and drops empty fields, so the same ten posts reach Claude as 40,450 characters and it reads them in one go. A longer result comes in parts that Claude asks for in turn, and the parts after the first are free for 15 minutes. If you need every image size, trim=false returns the full response. Whichever server you try, ask it for ten posts from a brand that posts carousels. If Claude reports the result was saved to a file instead of answering, that server sends more than Claude can read.
Comments come about 15 a page, so say how many to read
Follow up with “Look at the comments on Rare Beauty’s most-commented recent post. What are people asking for?” That’s the Rare Beauty × BÉIS launch carousel, with 2,334 comments. Instagram serves comments 13 to 15 a page whatever page size you ask for, so Claude asks for 50, gets 13 and keeps paging. Expect a sample of about 200 comments over 14 calls, for 14 credits. Reading all 2,334 would take 156 to 180 calls: 9 to 17 cents at pack prices.
The most-liked comment, at 568 likes, asks the brands to donate to breast cancer organizations, and others among the most liked accuse the brands of pink-washing or ask whether proceeds go to research. In the sample, nobody asked about shades, prices or shipping. Claude’s read: “part of this post’s high comment count comes from criticism, not just excitement about the collab.”
For a bigger sample, put a number in the question: “read the first 500 comments”.
Pick a server by whose account you need
To post, reply to comments, send DMs or read your own insights, use a server built on Meta’s Graph API, such as jlbadano/ig-mcp. It needs a professional account linked to a Facebook Page, a Meta app and a token, and DMs need Meta’s App Review. Our Instagram Graph API guide has every official route, and Meta’s own hosted MCP server is for ads. Servers that take your Instagram password log in as you, so your own account is the one Instagram can challenge or lock for automated activity.
To read other accounts with neither a Meta app nor your password, use a hosted public-data server. Their prices:
| Server | Reads | Price |
|---|---|---|
| HasData | Profiles, posts, comments | $2.95 / 1k calls |
| Apify’s Instagram Scraper | Profiles, posts, reels, comments, hashtags | $1.50 / 1k results |
| LurkAPI | Profiles, posts, reels, comments, transcripts | $0.59 to $0.93 / 1k calls |
At pack prices, the format comparison and the comment sample above cost under 2 cents together. To read X the same way, add it to the URL: ?platforms=instagram,twitter (our X MCP guide).



