Skip to main content
Glama
instagram-data-mcp

instagram-data-mcp

instagram-data-mcp (local stdio package)

A small local MCP server for public Instagram data, published on PyPI as instagram-data-mcp. It gives Claude, Cursor and any other MCP client 28 read-only tools: profiles, posts, reels, stories, highlights, comments, likers, followers, hashtags, places, audio, search and a daily ranking of the 2,000 most-followed accounts.

Most people don't need this package. The same tools are available from the remote server at https://data.fastsocial.co/mcp, with sign-in in the browser and nothing to install. Setup for that is in FastSocialCo/instagram-data-mcp. Use this package if your client only runs local (stdio) servers.

Run it

Get a key at https://fastsocial.co/instagram-api?ref=pypi (there is a free plan), then:

{
  "mcpServers": {
    "instagram-data": {
      "command": "uvx",
      "args": ["instagram-data-mcp"],
      "env": { "IG_DATA_API_KEY": "your_key" }
    }
  }
}

No uvx? pip install instagram-data-mcp and use "command": "instagram-data-mcp" instead.

Related MCP server: instagram-mcp

What it does and what it sends

The whole server is server.py, about 150 lines. It reads the bundled openapi.json (the public spec of the Instagram Data API) and turns each GET endpoint into one tool.

When a tool is called, it makes one HTTPS GET request to https://data.fastsocial.co/v1/<endpoint> with the tool's arguments as query parameters, your key in the X-API-Key header and instagram-data-mcp as the user agent. It returns the JSON response as is. That is the only network request it makes.

  • Every tool reads. Each one is marked readOnlyHint: true. None can log in to Instagram, post, follow, like or message.

  • It writes no files and stores nothing. Your key stays in your client's config and is only ever sent in that header.

  • No install scripts, no telemetry.

Privacy policy: https://fastsocial.co/privacy · Terms: https://fastsocial.co/terms

Settings

Env var

Default

IG_DATA_API_KEY

none

Required

IG_DATA_API_BASE

https://data.fastsocial.co

IG_DATA_API_TIMEOUT

60

Seconds

Tools

The tool list and what each one costs in credits are in the plugin README and the API docs.

Security

Report a vulnerability to contact@fastsocial.co. See SECURITY.md.

License

MIT

Available Tools

28 tools
instagram_audioA
Read-only

Get an Instagram audio track and the reels using it. Title, artist, duration and a preview URL for an original sound or song, plus reels that use it. Audio ids come from reels.

Cost: 1 credit.

Inputs: id (required).

instagram_checkA
Read-only

Check if an Instagram handle exists and is public. Does this handle exist, and is it public? States: ok, not_found, private, deactivated, memorialized, age_restricted, restricted_minor. Exact match only, so a typo never resolves to someone else.

Cost: 1 credit.

Inputs: username (required).

instagram_comment_repliesB
Read-only

Get replies to an Instagram comment. Replies under one comment. Page with cursor.

Cost: 3 credits.

Inputs: comment_id (required), url, cursor, shortcode.

instagram_commentsA
Read-only

Get comments on an Instagram post. The top comments on a post with author, text, time, likes and reply count, plus the total comment count.

Cost: 3 credits.

Inputs: url, shortcode.

instagram_followersA
Read-only

Get an account's followers. One page of the accounts that follow a public account, with the total follower count. Pass next_cursor back as cursor for the next page; null means no more pages are available. Private accounts return 422 private_account.

Cost: 3 credits.

Inputs: cursor, user_id, username.

instagram_followingA
Read-only

Get accounts an account follows. One page of the accounts a public account follows, with the total. Pass next_cursor back as cursor for the next page; null means no more pages are available. Private accounts return 422 private_account.

Cost: 3 credits.

Inputs: cursor, user_id, username.

instagram_hashtagA
Read-only

Get posts for an Instagram hashtag. Recent posts under a hashtag and its total post count. Page with cursor.

Cost: 1 credit.

Inputs: tag (required), cursor.

instagram_highlightB
Read-only

Get the items in one highlight. Every photo and video inside one highlight, with signed CDN URLs. Costs 3 credits the first time for an account; more highlights of the same account are free for 15 minutes.

Cost: 3 credits.

Inputs: id (required).

instagram_highlightsA
Read-only

Get Instagram story highlights. Title, cover image and item count for each highlight. Pass an id to /v1/highlight for its items.

Cost: 3 credits.

Inputs: user_id, username.

instagram_insightsA
Read-only

Instagram engagement rate calculator. Engagement rate (mean and median), posting cadence, format mix, best posting hours (UTC) and a percentile against the Instagram Benchmarks report, from the latest 12 posts. Pinned posts are excluded.

Cost: 2 credits.

Inputs: user_id, username.

instagram_likersA
Read-only

Get accounts that liked an Instagram post. A sample of accounts that liked a public post, plus the total like count. One page per call with no cursor, so it is not the full list of likers.

Cost: 3 credits.

Inputs: url, shortcode.

instagram_mediaA
Read-only

Download URLs for a post, reel or carousel. Direct image and video file URLs for every slide of a post, in the best quality available. URLs are signed Instagram CDN links that expire after a few hours.

Cost: 1 credit.

Inputs: url, shortcode.

instagram_placeA
Read-only

Get an Instagram location. Name, category, address, city, phone, website and post count of a location page. Find ids with /v1/search.

Cost: 3 credits.

Inputs: id (required).

instagram_place_postsA
Read-only

Get posts tagged at an Instagram location. Recent posts geotagged at a location. Page with cursor.

Cost: 1 credit.

Inputs: id (required), cursor.

instagram_postA
Read-only

Get one Instagram post or reel. Likes, comments, views, caption, owner and media URLs for a single post, reel or IGTV video.

Cost: 1 credit.

Inputs: url, shortcode.

instagram_postsA
Read-only

Get recent Instagram posts. 12 posts per page, newest first, with likes, comments, views, caption and media URLs. Page with cursor.

Cost: 1 credit.

Inputs: cursor, user_id, username.

instagram_profileA
Read-only

Get an Instagram profile. Follower, following and post counts, bio, links, category, verification and the profile picture of any public account.

Cost: 1 credit.

Inputs: user_id, username.

instagram_reelsA
Read-only

Get an account's Instagram reels. The reels tab of a public account: play counts, likes, comments, captions and video URLs. Page with cursor.

Cost: 1 credit.

Inputs: cursor, user_id, username.

instagram_similarB
Read-only

Find similar Instagram accounts. Accounts Instagram considers related to this one.

Cost: 1 credit.

Inputs: user_id, username.

instagram_storiesA
Read-only

View Instagram stories anonymously. Stories posted in the last 24 hours by a public account, with image and video URLs. Signed CDN links that expire after a few hours.

Cost: 3 credits.

Inputs: user_id, username.

instagram_taggedA
Read-only

Get posts an account is tagged in. Public posts by other accounts that tag this account.

Cost: 1 credit.

Inputs: cursor, user_id, username.

instagram_top_accountsA
Read-only

Most-followed Instagram accounts, gainers and losers. The same data as fastsocial.co/most-followed-instagram-accounts (Instagram Top Charts): the biggest notable public Instagram accounts ranked by followers, updated daily, with 1, 7 and 30-day follower changes, country, category and projected milestones. Free (0 credits); needs any API key. Data CC BY 4.0: credit FastSocial and link the source.

Cost: 0 credits.

Inputs: sort, limit, offset, window, +2 more.

instagram_usageB
Read-only

Your usage this month. Free (0 credits).

Inputs: no named parameters.

instagram_user_idA
Read-only

Instagram username to user id. The numeric user id for a handle. Every endpoint also accepts either one directly, so you rarely need this.

Cost: 1 credit.

Inputs: user_id, username.

instagram_usernameA
Read-only

Instagram user id to username. The current handle for a numeric user id, which still works after the account renames itself.

Cost: 2 credits.

Inputs: user_id (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 28 tools

    Disambiguation3/5

    Several tool pairs are easy to confuse: instagram_highlight vs instagram_highlights, instagram_post vs instagram_posts, and instagram_username vs instagram_user_id all operate on closely related concepts with near-identical names. Descriptions do clarify the boundaries, but the volume of overlapping account/post/sub-resource endpoints creates real misselection risk.

    Naming Consistency4/5

    Every tool uses a consistent instagram_ prefix followed by lowercase snake_case, which is predictable. The pattern mixes noun-only names (instagram_profile) with noun_action names (instagram_reels_search), so it is not a strict verb_noun convention, but it is still highly readable and consistent.

    Tool Count3/5

    At 28 tools the surface is heavy and exceeds the typical 3-15 range, with some endpoints that could be consolidated (e.g. highlight vs highlights, username vs user_id). However, the scope is genuinely broad—profiles, posts, comments, followers, stories, places, audio, search, insights—so most tools earn their place.

    Completeness4/5

    Coverage of public Instagram data is strong: profiles, posts, reels, comments, likers, followers/following, stories, highlights, hashtags, places, audio, search, insights, and top accounts are all present. Minor gaps exist (e.g. no single-post insights or live/other niche endpoints), but core lifecycle operations are well covered.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      MCP server for HikerAPI — auto-generates 100+ Instagram tools (profiles, posts, reels, stories, comments, hashtags, locations) from the live OpenAPI spec. Local stdio via npx -y hikerapi-mcp, requires only HIKERAPI_KEY.
      44
      130 npm
      9
      MIT
    • F
      license
      B
      quality
      D
      maintenance
      Provides Instagram analytics, media downloads, and search capabilities through an MCP interface for use with Claude and other MCP clients.
      43
      44
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      A production-ready Remote MCP Server that gives Claude direct, tool-based access to your Instagram Business account through the Meta Graph API — profile data, posts, comments, publishing, insights, analytics, hashtags, messaging, and real-time webhooks.
      7 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      MCP server for downloading Instagram content (videos, reels, audio, carousels) using yt-dlp, with tools for downloading media and fetching metadata. Supports stdio and HTTP transports.
      MIT