instagram-data-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| IG_DATA_API_KEY | Yes | Required API key for the Instagram Data API. Get a key at https://fastsocial.co/instagram-api (there is a free plan). | |
| IG_DATA_API_BASE | No | Base URL for the Instagram Data API. | https://data.fastsocial.co |
| IG_DATA_API_TIMEOUT | No | Request timeout in seconds. | 60 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| instagram_profileA | Get an Instagram profile. Follower, following and post counts, bio, links, category, verification and the profile picture of any public account. Cost: 1 credit. |
| instagram_user_idA | 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. |
| instagram_usernameA | Instagram user id to username. The current handle for a numeric user id, which still works after the account renames itself. Cost: 2 credits. |
| instagram_checkA | 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. |
| instagram_postsA | Get recent Instagram posts. 12 posts per page, newest first, with likes, comments, views, caption and media URLs. Page with cursor. Cost: 1 credit. |
| instagram_reelsA | 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. |
| instagram_taggedA | Get posts an account is tagged in. Public posts by other accounts that tag this account. Cost: 1 credit. |
| instagram_postA | 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. |
| instagram_mediaA | 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. |
| instagram_commentsA | 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. |
| instagram_comment_repliesB | Get replies to an Instagram comment. Replies under one comment. Page with cursor. Cost: 3 credits. |
| instagram_likersA | 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. |
| instagram_insightsA | 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. |
| instagram_followersA | 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. |
| instagram_followingA | 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. |
| instagram_similarB | Find similar Instagram accounts. Accounts Instagram considers related to this one. Cost: 1 credit. |
| instagram_storiesA | 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. |
| instagram_highlightsA | 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. |
| instagram_highlightB | 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. |
| instagram_searchA | Search Instagram accounts, hashtags and places. Matching accounts, hashtags (with post counts) and places (with location ids). Cost: 1 credit. |
| instagram_hashtagA | Get posts for an Instagram hashtag. Recent posts under a hashtag and its total post count. Page with cursor. Cost: 1 credit. |
| instagram_placeA | 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. |
| instagram_place_postsA | Get posts tagged at an Instagram location. Recent posts geotagged at a location. Page with cursor. Cost: 1 credit. |
| instagram_audioA | 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. |
| instagram_audio_searchA | Search Instagram music and sounds. Find songs and sounds by title or artist, with ids you can pass to /v1/audio. Cost: 3 credits. |
| instagram_reels_searchB | Search Instagram reels by keyword. Reels matching a keyword. Page with cursor. Cost: 3 credits. |
| instagram_top_accountsA | 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. |
| instagram_usageB | Your usage this month. Free (0 credits). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 28 tools
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.
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.
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.
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.