instapi: Instagram
Server Details
Instagram search and posts for AI agents, with images and videos AI-parsed to text.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool targets a distinct action: onboarding, search, posts fetch, and profile fetch. The boundary between instagram_user_posts and instagram_user_profile is clear, though both require the same auth pattern and could be conflated at a glance.
Three tools use a consistent instagram_ prefix with snake_case (instagram_search, instagram_user_posts, instagram_user_profile). get_started deviates from the prefix but is semantically distinct as an onboarding tool.
Four tools is on the thin side for an Instagram data API. Core operations are present but there is little room for additional capabilities like comments, likes, or follower listing.
Missing common Instagram data operations such as fetching comments, likes, stories, or follower lists. The surface covers search, posts, and profile but lacks breadth for a full Instagram data domain.
Available Tools
4 toolsget_startedGet started with instapiAInspect
Free, no auth. Service overview, pricing, current account status, and how to get an API key for the data tools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose two important traits: 'Free' and 'no auth', so the agent knows no credentials are required. It does not state rate limits or explicitly confirm the operation is read-only, but for a zero-parameter informational endpoint this is solid disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the two most decision-relevant facts (free, no auth) before listing what the call returns. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description must signal the returned content, and it does enumerate it (overview, pricing, account status, API key guidance). Slightly more detail on the response shape would be ideal, but nothing essential is missing for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case; there is no parameter semantics to document or omit. The description correctly does not invent parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names concrete content — service overview, pricing, account status, and API key retrieval — and implicitly distinguishes itself from the sibling data tools by calling them 'the data tools'. It is not a bare restatement of the name, though 'Get started' remains a loose frame for what is really an onboarding/account-info endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is clearly implied: call this to understand the service, check pricing/account status, or obtain an API key before using the data tools. There is no explicit 'when not to use' statement, but the reference to the sibling data tools gives the agent a usable routing signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_searchSearch InstagramAInspect
Search Instagram users, hashtags, and places by keyword. Costs 1 credit. Requires Authorization: Bearer sk_instapi_... on the MCP connection.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search keyword, e.g. a name, brand, or topic |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose two real operational traits: a 1-credit cost and the exact auth header format (Authorization: Bearer sk_instapi_...). It omits return shape, result limits, and pagination, but the auth and billing disclosures are substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences: capability first, then cost, then auth requirement. No filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter search with no output schema and no annotations, the description covers the essentials an agent needs to invoke it (what it searches, cost, auth). It is slightly incomplete in not hinting at the result structure, but nothing blocks correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and schema coverage is 100%, so the schema already documents the query parameter and its example. The description adds nothing beyond what the schema states, matching the baseline-3 rule for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Search) and the exact resource scope (Instagram users, hashtags, and places) keyed by keyword. This clearly separates it from the user-scoped siblings instagram_user_posts and instagram_user_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage via the 'by keyword' framing and discloses a cost, but never states when to prefer this tool over the sibling user/profile tools or what happens when a query matches multiple entity types. Guidance is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_user_postsGet a user's postsAInspect
Fetch recent posts for an Instagram username, with images and videos AI-parsed into text descriptions. Costs 1 credit. Requires Authorization: Bearer sk_instapi_.... First fetch for a user can take up to ~60s while media is analyzed; cached users return fast.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of most recent posts, newest first (default 12, max 30) | |
| username | Yes | Instagram username, without @ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers: 1 credit cost, required Bearer token format, up-to-60s cold-fetch latency, and fast cached returns. These are exactly the operational traits an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, each earning its place, with the core purpose front-loaded before the cost/latency caveats.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the description hints at the return shape ('images and videos AI-parsed into text descriptions'). Combined with the cost/auth/latency disclosures, an agent has enough to call it correctly, though error behavior and response structure are not spelled out.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'username' (without @) and 'count' (default 12, max 30, newest first) are already fully documented. The description adds no parameter syntax or defaults beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Fetch) and resource (recent posts for an Instagram username) and clarifies the value-add of AI-parsed media. It reads clearly apart from siblings like instagram_user_profile (profile data) and instagram_search (discovery).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives useful operational context (cost, auth header, first-fetch latency, caching) but never states when to choose this over instagram_user_profile or instagram_search. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_user_profileGet a user's profileAInspect
Public profile for an Instagram username: bio, links, follower/following/post counts, verified/private/business flags, category. Works for private accounts too. Costs 1 credit (refunded if the user doesn't exist). Requires Authorization: Bearer sk_instapi_....
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Instagram username (bare, @handle, or profile URL) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does notable work: it discloses that private accounts are supported, states the cost (1 credit) with a refund condition when the user doesn't exist, and specifies the required Authorization header format. It stops short of rate limits, error modes, or latency expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero filler, and the purpose plus returned payload is front-loaded before the operational caveats. Each sentence earns its place: what you get, private-account coverage, and cost/auth.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description compensates well by listing the fields returned and covering auth and cost. It is nearly complete for a single-parameter lookup; minor gaps remain around error behavior and rate limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter at 100% schema description coverage, and the schema already explains it accepts a bare handle, @handle, or profile URL. The description repeats "Instagram username" without adding format or normalization semantics, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (public profile for an Instagram username) and enumerates the returned fields — bio, links, follower/following/post counts, verify/private/business flags, category — which clearly separates it from instagram_user_posts. It never explicitly positions itself against instagram_search or get_started, so sibling differentiation is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Works for private accounts too" gives useful scope information, and the cost/auth notes help the agent decide whether it can call at all. However, there is no explicit when-to-use-this-vs-search guidance, nor any statement of when this tool is not appropriate (e.g., for username discovery or feed retrieval).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
get_started - First observed
instagram_search - First observed
instagram_user_posts - First observed
instagram_user_profile
Related MCP Connectors
Instagram for AI agents: publish, read comments and DMs, insights, and engage from your account.
Instagram data for AI agents: profiles, posts, reels, followers. Influencer + brand research.
Instagram profiles for AI agents — followers, similar accounts, keyword and location search.
Public Instagram and YouTube data for AI agents: reels, videos, channels, comments. Pay per result.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables AI agents to control Instagram accounts programmatically, supporting profile management, media interaction, direct messaging, and follower management.132-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Instagram Business accounts by automating content publishing, scheduling posts, and analyzing performance metrics. Supports posts, stories, reels, and carousels with detailed audience insights and hashtag discovery.-

@inssist/mcpofficial
AlicenseAqualityAmaintenanceEnables AI agents to manage a personal Instagram account through a logged-in browser session, supporting actions like reading profiles and DMs, publishing posts, reels, and stories, scheduling content, and accessing insights and audience reports.60142 npm2MIT- FlicenseNot gradedqualityDmaintenanceEnables LLMs to interact with Instagram through a comprehensive toolkit for account management, content creation, messaging, social graph analysis, and content discovery.12-
Glama MCP Gateway
Add one secure layer between your agents and this server.