---
title: "Instagram MCP Server for Claude, ChatGPT, Cursor | Scrape.ly"
description: "An Instagram MCP server for Claude, ChatGPT and Cursor: public profiles, posts and reels, no Instagram login. Setup, real prompts, output and costs."
url: https://scrape.ly/blog/instagram-mcp
markdown: https://scrape.ly/blog/instagram-mcp.md
---

[AI agents](https://scrape.ly/blog/category/ai-agents.md)

# Instagram MCP: Give Claude, ChatGPT and Cursor Instagram Data Without a Login

An Instagram MCP server lets your AI agent read public profiles, posts and reels right in the chat. Connect Scrape.ly's hosted server to Claude, ChatGPT or Cursor in a minute, with no Instagram login or Business account, and see real prompts, tool calls, output and costs.

[Scrape.ly Team The team behind Scrape.ly](https://scrape.ly/blog/author/scrapely-team.md)

- Published

  Oct 25, 2026

- Reading time

  10 min read

![Pixel-art robot with an orange >\_ on its terminal head carries a cable from a phone showing the Instagram logo and a grid of posts into a server rack labelled MCP](https://scrape.ly/media/instagram-mcp.png?w=1080)

An Instagram MCP server is a Model Context Protocol server that gives an AI agent such as Claude, ChatGPT or Cursor tools for reading Instagram data: profiles, follower counts, posts, reels, hashtags and comments. The best Instagram MCP setup for research is the hosted Scrape.ly MCP server, because your agent runs ready-made Instagram scrapers in the cloud against public, logged-out pages, for any public account, with no Instagram login, no Business account and no developer app.

This guide shows the setup for each client, which Instagram scrapers the agent can call, the exact tool calls, and what came back from real runs on 25 October 2026: two verified brand profiles in 7.8 seconds for half a cent, and NASA's five latest reels with play counts in 10.4 seconds. It also says plainly what an agent can't get from Instagram this way, so you can plan around it.

## Two kinds of Instagram MCP server

Search for "instagram mcp" and most of page one connects your own account. The top result on 25 October 2026, [mcpware/instagram-mcp](https://github.com/mcpware/instagram-mcp), describes itself as integration "with Instagram's Graph API" for "Instagram Business accounts". Its prerequisites are an Instagram Business account connected to a Facebook Page, a Facebook developer account and a long-lived access token; reading and sending DMs also needs Meta's App Review. Hosted connectors from Zapier, Composio, Windsor.ai and Markifact rank next to it, each built around an Instagram account you connect (Zapier's is "Instagram for Business"; Windsor.ai and Markifact name Business and Creator accounts). Another result, shared on r/mcp, fetches posts "using Chrome's existing login session".

Those are tools for one account you own. Most agent questions are about accounts you don't own: a competitor's posting rhythm, a creator's real engagement before a contract, how three brands' reels perform. That needs public data, and that's what the Scrape.ly server reads.

|                                    | Scrape.ly MCP server                              | Graph API servers (top results)            | Login-session servers         |
| ---------------------------------- | ------------------------------------------------- | ------------------------------------------ | ----------------------------- |
| Instagram account needed           | None                                              | Business account linked to a Facebook Page | Your logged-in browser        |
| Whose data                         | Any public profile, post, reel or hashtag         | Starts from the account you connect        | Whatever your session sees    |
| Setup                              | One URL, sign in with OAuth                       | Facebook developer app and an access token | Local browser on your machine |
| Your Instagram account in the loop | Never                                             | Its token on every call                    | Its session on every call     |
| Cost control                       | Pay per result, a dollar cap per run, scoped keys | Meta's API rules                           | Runs on your machine          |

## How to connect the Scrape.ly MCP server

The [Scrape.ly MCP server](https://scrape.ly/mcp.md) is hosted at `https://mcp.scrape.ly`, speaks MCP's streamable HTTP transport, and signs you in with OAuth or a Scrape.ly API token. Create a free account first: the free plan includes $5 of usage every month, no card needed.

**Claude Code.** One command, then run `/mcp` inside Claude Code and choose `scrapely` to sign in:

```shell
claude mcp add --transport http scrapely https://mcp.scrape.ly
```

**Claude Desktop.** Add `https://mcp.scrape.ly` as a custom connector under **Customize → Connectors**. Claude signs you in with OAuth.

**Cursor.** Add this to `~/.cursor/mcp.json`, or `.cursor/mcp.json` in a project:

```json
{
  "mcpServers": {
    "scrapely": {
      "url": "https://mcp.scrape.ly",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}
```

Leave out `headers` and Cursor offers to sign in with OAuth instead. Create a token, if you use one, under **Settings → API & Integrations**.

**ChatGPT, VS Code, Windsurf and others.** Any client that supports remote MCP servers over streamable HTTP uses the same URL with OAuth or a Bearer header. The [MCP docs](https://scrape.ly/docs/mcp.md) have VS Code's `.vscode/mcp.json` and a local stdio server for clients without remote support.

**An Instagram-only server.** To give the agent just the Instagram tools, add the Actors to the URL. Each one becomes its own tool, with up to 50 per URL:

```plaintext
https://mcp.scrape.ly?actors=echofield/instagram-profile-scraper,echofield/instagram-reel-scraper,echofield/instagram-scraper
```

## The Instagram scrapers your agent can use

The agent doesn't need one tool per data type. It finds the right Actor in the [Scrape.ly Store](https://scrape.ly/store.md) and runs it. All five Instagram Actors are maintained by Scrape.ly, read logged-out pages and take no session cookie:

| Actor                                                                                       | Input                               | What comes back                                                                                             | Price per 1,000 |
| ------------------------------------------------------------------------------------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------- | --------------- |
| [Instagram Profile Scraper](https://scrape.ly/store/echofield/instagram-profile-scraper.md) | Usernames, IDs or profile URLs      | Bio, follower, following and post counts, verified badge, business category, bio links, the 12 latest posts | $2.47 profiles  |
| [Instagram Reel Scraper](https://scrape.ly/store/echofield/instagram-reel-scraper.md)       | Profiles or reel URLs               | Play, like and comment counts, duration, music, caption                                                     | $2.47 reels     |
| [Instagram Post Scraper](https://scrape.ly/store/echofield/instagram-post-scraper.md)       | Profiles or post URLs               | Captions, hashtags, mentions, media, tagged accounts, paid-partnership flag                                 | $1.61 posts     |
| [Instagram Hashtag Scraper](https://scrape.ly/store/echofield/instagram-hashtag-scraper.md) | Hashtags                            | The public posts or reels on a tag's grid                                                                   | $1.30 results   |
| [Instagram Scraper](https://scrape.ly/store/echofield/instagram-scraper.md)                 | Any mix of public URLs, or a search | Posts, reels, profile details, the first page of comments, hashtag and place search                         | $2.56 results   |

Prices are pay per result with platform usage included, as listed on each Store page on 25 October 2026. The Hashtag Scraper adds $0.01 per hashtag in posts mode; reels mode has no such fee. The [Instagram data scrapers](https://scrape.ly/scrapers/instagram.md) page compares all five with sample output.

## What the agent does: the four tool calls

Every Instagram request follows the same path through the server's tools:

1. **`search-actors`** with a keyword like "instagram" finds the five Actors above.
2. **`fetch-actor-details`** returns the chosen Actor's input schema, README and pricing, so the agent knows which fields to send and what the output holds.
3. **`call-actor`** starts the run with a JSON input and waits up to 45 seconds. The runs below finished well inside that; for longer ones the agent follows up with `get-actor-run`.
4. **`get-actor-output`** reads the results page by page, with only the fields the agent asks for.

The rows never land in the `call-actor` reply. The agent reads them separately, so a big dataset doesn't flood the context window.

## A real run: comparing @natgeo and @nasa

The prompt: "Use scrapely to compare the Instagram profiles of @natgeo and @nasa: followers, following, posts, category, and how their latest posts perform."

The agent picks `echofield/instagram-profile-scraper` and sends this `call-actor` request, with a cap on the charge:

```json
{
  "actor": "echofield/instagram-profile-scraper",
  "input": { "usernames": ["natgeo", "nasa"] },
  "waitSecs": 45,
  "callOptions": { "maxTotalChargeUsd": 0.05 }
}
```

Our run on 25 October 2026 finished in 7.8 seconds with the status message "Saved 2 profiles." Then the agent reads the fields it needs with `get-actor-output`:

```json
{
  "runId": "17b3b825a2e344fe9",
  "fields": "username,fullName,followersCount,followsCount,postsCount,verified,businessCategoryName,externalUrl"
}
```

What came back:

| Account | Name                | Followers   | Following | Posts    | Verified | Category            | Bio link              |
| ------- | ------------------- | ----------- | --------- | -------- | -------- | ------------------- | --------------------- |
| @natgeo | National Geographic | 268,286,431 | 195       | not sent | yes      | —                   | visitstore.bio/natgeo |
| @nasa   | NASA                | 104,378,607 | 90        | 4,978    | yes      | Government Agencies | nasa.gov              |

Instagram didn't send a post count for @natgeo in this response, so the field is simply absent: the Actor leaves out what Instagram doesn't send instead of guessing.

For the second half of the prompt, the agent read each profile's `latestPosts`. One detail mattered: six of NASA's 12 latest posts were collaborations that another account had posted with @nasa, so their `ownerUsername` wasn't `nasa`. Counting only each account's own posts, NASA's six averaged 567,939 likes, about 0.54% of its followers, and National Geographic's eleven averaged 82,711, about 0.03%. NASA's top post was a carousel of the Sagittarius B2 star-forming region with 1,336,168 likes; National Geographic's was a Costa's hummingbird video with 380,728.

At list price the run cost 2 × $0.00247 = $0.00494, platform usage included. Our account was billed $0.00395 after its plan's Store discount.

## A real run: NASA's latest reels by plays

The prompt: "What are NASA's five latest reels on Instagram, and how many plays did each get? Skip pinned ones."

The agent sends `echofield/instagram-reel-scraper` this input:

```json
{ "username": ["nasa"], "resultsLimit": 5, "skipPinnedPosts": true }
```

It finished in 10.4 seconds. Five reels:

| Date       | Posted by                  | Plays     | Likes  | Comments | Length | Caption, first line                                                |
| ---------- | -------------------------- | --------- | ------ | -------- | ------ | ------------------------------------------------------------------ |
| 2026-10-25 | a collaborator, with @nasa | 1,227,783 | 12,989 | 72       | 62 s   | This is how @nasa does game day.                                   |
| 2026-10-23 | @nasa                      | 2,504,749 | 53,790 | 440      | 60 s   | We are not slowing down.                                           |
| 2026-10-22 | a collaborator, with @nasa | 2,111,292 | 21,526 | 177      | 32 s   | 28.1 miles. A new off-world record on Mars.                        |
| 2026-10-20 | @nasa                      | 3,755,964 | 55,531 | 451      | 46 s   | There's a lot of ground to cover when you're building a Moon Base. |
| 2026-10-09 | a collaborator, with @nasa | 3,686,511 | 60,236 | 639      | 111 s  | The journey brought them home.                                     |

The Moon Base reel led with 3.76 million plays; likes per play ran from 1.0% to 2.1%. Each row also carried the reel URL, the music (all five used original audio) and the co-authors. Cost: 5 × $0.00247 = $0.01235 at list price; we were billed $0.00988.

## Prompts that work well

Name the Actor, the size of the job and a cap, and the agent does the rest:

- "Use scrapely to get the profiles of @patagonia, @nike and @duolingo and rank them by average likes per post, counting only their own posts."
- "Run echofield/instagram-reel-scraper on @natgeo for reels from the last 30 days and list the three with the most plays."
- "Get the latest 12 posts from @nasa with echofield/instagram-post-scraper and tell me which hashtags they use most."
- "Use the Instagram Hashtag Scraper in reels mode for #coldbrew, 12 results, and summarize what kind of content performs."
- "Do all of this with a maximum charge of $0.25 per run."

The agent turns that last line into `callOptions.maxTotalChargeUsd`, which stops the run when it reaches the cap.

## What your agent can and can't get from Instagram

These scrapers see what Instagram shows a logged-out visitor. That covers most research jobs, and the edges are worth knowing before you write a prompt:

- **Follower counts, not follower lists.** The Profile Scraper returns follower and following counts, and related profiles when Instagram sends them. Instagram doesn't show a logged-out visitor who the followers are, so no list comes back.
- **No stories or mentions.** The Instagram Scraper's README says stories and mentions "have stayed empty", so don't build on them. A profile's `hasPublicStory` flag tells you a story is live, not what's in it.
- **Comments are a preview.** The Instagram Scraper returns the first page of comments; the Post and Reel Scrapers carry a short preview. A second page and nested replies aren't part of the output.
- **Hashtags show the public grid.** A logged-out tag page holds about a dozen posts per tag, per the Hashtag Scraper's README, so a higher limit doesn't add more.
- **Private profiles stop cleanly.** A private or missing account is listed under `failedInputs` with its reason and isn't charged.
- **Hidden counts are flagged.** When a creator hides likes, `likesCount` is `-1`, not a guess.
- **Public data only.** The agent never signs in, so DMs, account insights and posting are outside what it reads, and your Instagram account is never at risk.

## Spending control for agents

An agent that can start paid runs needs limits, and the Scrape.ly server has three:

- **A dollar cap per run.** `maxTotalChargeUsd` covers everything the run can cost. The Instagram Actors stop cleanly at the cap and keep what they saved.
- **Scoped API keys with daily charge limits.** Give an unattended agent its own key under **Settings → API keys**, with only `actors:run` and `runs:read`, and a daily limit on what it can spend.
- **A prepaid balance.** Usage draws from your balance. There's no surprise invoice at the end of the month.

## Is it legal to scrape Instagram with an AI agent?

The agent collects what Instagram shows any logged-out visitor. Instagram's [Terms of Use](https://help.instagram.com/581066165581870) say you can't access or collect information "in an automated way without our express permission, regardless of whether such automated access or collection is undertaken while logged-in to an Instagram account". In Meta v. Bright Data (N.D. Cal., January 2024), the court found that Meta's terms did not apply to logged-off scraping of publicly viewable data; our guide to [web scraping and the law](https://scrape.ly/blog/is-web-scraping-legal.md) covers the case. Accounts are often people, so treat what comes back as personal data: collect what you need, with a lawful basis, under the GDPR, CCPA and local rules. This is not legal advice.

For a REST endpoint instead of a chat, the [Instagram API](https://scrape.ly/api/instagram-api.md) page has Python, JavaScript and cURL examples, and our guide on [how to scrape Instagram](https://scrape.ly/blog/scrape-instagram.md) walks through every Actor without an agent. The same server works for other sites: see [LinkedIn MCP](https://scrape.ly/blog/linkedin-mcp.md), [Reddit MCP](https://scrape.ly/blog/reddit-mcp.md) and the [best MCP servers for web scraping](https://scrape.ly/blog/best-mcp-servers-for-web-scraping.md).

Scrape.ly Store Give your agent Instagram profiles Public Instagram profiles from usernames or URLs, no login: followers, posts, bio links and the 12 latest posts. $2.47 per 1,000 profiles, callable from any MCP client.

[Try it free](https://scrape.ly/store/echofield/instagram-profile-scraper.md) [Browse the Store](https://scrape.ly/store.md)

## FAQ

### Is there an Instagram MCP server?

Yes, several. Most connect your own Instagram Business or Creator account through Meta's Graph API. The Scrape.ly MCP server works the other way: it runs scrapers that read public Instagram profiles, posts, reels and hashtags in the cloud, so you don't connect an Instagram account at all.

### What is the Instagram MCP server URL?

For Scrape.ly it's `https://mcp.scrape.ly`, the same URL for Claude, ChatGPT, Cursor and every other client. Add `?actors=echofield/instagram-profile-scraper,echofield/instagram-reel-scraper` to expose only the Instagram tools.

### Can ChatGPT analyze an Instagram account?

Yes, once it can fetch the data. Connect ChatGPT, or Claude or Cursor, to `https://mcp.scrape.ly`, ask about a public account, and the agent runs the Profile or Reel Scraper and analyzes the numbers it gets back: followers, likes, comments and plays per post.

### Can my agent get an Instagram account's follower list?

No. It gets follower and following counts, the latest posts and, when Instagram sends them, related profiles. Instagram doesn't show the list of followers to a logged-out visitor, and the Scrape.ly Actors never log in.

### Is there a free Instagram MCP server?

The Scrape.ly server itself costs nothing, and the free plan includes $5 of usage every month, enough for about 2,000 profiles at $2.47 per 1,000. Our two-profile run cost under half a cent.

### Do I need the Instagram API?

No. The Actors read public pages, so there's no Meta developer app, Business account or access token to set up. You only need a Scrape.ly account.

About the author

[Scrape.ly Team](https://scrape.ly/blog/author/scrapely-team.md) The team behind Scrape.ly

Scrape.ly is the web data platform from TeraShift GmbH in Switzerland, powered by Evomi: ready-made scrapers in the Scrape.ly Store, a cloud runtime, an API with JavaScript and Python SDKs, proxies, a hosted anti-bot browser and an MCP server for AI agents.

- [Website](https://scrape.ly/index.md)

Keep reading

## More in AI agents

- [![Pixel-art robot with an orange >\_ on its terminal head plugs a cable into a server rack labelled MCP with the Scrape.ly logo on its front, while two more cables run into it from web pages on the left](https://scrape.ly/media/best-mcp-servers-for-web-scraping.png?w=750)](https://scrape.ly/blog/best-mcp-servers-for-web-scraping.md)
  ### [6 Best Web Scraping MCP Servers in 2026 (Setup for Claude Code and Cursor)](https://scrape.ly/blog/best-mcp-servers-for-web-scraping.md)
  [The 6 best MCP servers for web scraping in 2026, compared on hosting, sign-in, tools, free tiers and spending control, with copy-paste setup for Claude Code, Cursor and VS Code and a real agent run.](https://scrape.ly/blog/best-mcp-servers-for-web-scraping.md)
- [![Pixel-art robot with an orange >\_ on its terminal head, an AI sparkle in a speech bubble above it, pulls a data card out of a web page and drops it into a crate](https://scrape.ly/media/ai-web-scraping.png?w=750)](https://scrape.ly/blog/ai-web-scraping.md)
  ### [AI Web Scraping: How LLMs and Agents Extract Web Data](https://scrape.ly/blog/ai-web-scraping.md)
  [AI web scraping uses language models to read pages and fill structured fields, and AI agents to decide what to fetch. Learn how LLM extraction, agents and MCP work, when plain rules still win, and run both with working code and real runs.](https://scrape.ly/blog/ai-web-scraping.md)
- [![Pixel-art robot with an orange >\_ on its terminal head carries a cable from a browser window showing the Playwright logo into a server rack labelled MCP](https://scrape.ly/media/playwright-mcp.png?w=750)](https://scrape.ly/blog/playwright-mcp.md)
  ### [Playwright MCP: Setup for Cursor, Claude Code and VS Code, and When to Use It for Scraping](https://scrape.ly/blog/playwright-mcp.md)
  [Playwright MCP lets an AI agent drive a real browser through accessibility snapshots. Set it up in Cursor, Claude Code or VS Code in a minute, learn the options and tools that matter, and see where it shines for scraping and where to hand off.](https://scrape.ly/blog/playwright-mcp.md)

## The internet is full of data. Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

[Get Started Free](https://my.scrape.ly/register) [Chat with Support](mailto:support@scrape.ly?subject=Question%20about%20Scrape.ly\&body=Hi%2C%20I%20have%20a%20question%20about%20Scrape.ly.)

No credit card. No setup calls.
