instapi: Instagram

Instagram search and posts for AI agents, with images and videos AI-parsed to text.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
83%
Naming quality
85%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~448Tokens (tool definitions)
~644 BTypical response size
Minimal attention impact (0.35% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "instagram": {
      "url": "https://instapi.co/mcp"
    }
  }
}

Remote endpoints

https://instapi.co/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_started

Free, no auth. Service overview, pricing, current account status, and how to get an API key for the data tools.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢instagram_search(query)

Search Instagram users, hashtags, and places by keyword. Costs 1 credit. Requires Authorization: Bearer sk_instapi_... on the MCP connection.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Search keyword, e.g. a name, brand, or topic"
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪instagram_user_profile(username)

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_....

Input Schema

{
  "type": "object",
  "properties": {
    "username": {
      "type": "string",
      "minLength": 1,
      "description": "Instagram username (bare, @handle, or profile URL)"
    }
  },
  "required": [
    "username"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢instagram_user_posts(username, count)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "username": {
      "type": "string",
      "minLength": 1,
      "description": "Instagram username, without @"
    },
    "count": {
      "default": 12,
      "description": "Number of most recent posts, newest first (default 12, max 30)",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 30
    }
  },
  "required": [
    "username"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools