Fetches public Instagram profiles, posts, and images.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@instagramGet the profile of @natgeo"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-instagram
An MCP (Model Context Protocol) server that fetches public Instagram profiles, posts, and images. No API key needed — uses Instagram's mobile API with TLS fingerprint bypass via curl_cffi.
Tools
Tool | Description |
| Profile info: bio, followers, profile pic (HD), category, verification status |
| Recent posts with captions, likes, comments, dates, and full carousel support |
| Flat list of HD image URLs from recent posts (skips videos) |
All tools accept a username (natgeo), an @handle (@natgeo), or a full URL (https://instagram.com/natgeo).
Related MCP server: Instagram Public MCP
Quick Start
Install
pip install mcp curl-cffiOr with uv:
uv pip install mcp curl-cffiRun standalone
python server.pyThe server communicates over stdio using the MCP protocol.
Configure in Claude Code
Add to your claude_desktop_config.json or .claude.json:
{
"mcpServers": {
"instagram": {
"type": "stdio",
"command": "python3",
"args": ["/path/to/mcp-instagram/server.py"]
}
}
}Then use in Claude Code:
> Get the profile of @natgeo
> Show me the latest posts from nike
> Get images from https://instagram.com/foodnetworkExample Output
get_profile("natgeo")
{
"username": "natgeo",
"full_name": "National Geographic",
"biography": "Experience the world through the eyes of National Geographic photographers.",
"profile_pic_url_hd": "https://...",
"followers": 283000000,
"is_verified": true,
"category": "Media/News Company"
}get_post_images("natgeo", max_images=3)
{
"username": "natgeo",
"count": 3,
"images": [
"https://scontent-...",
"https://scontent-...",
"https://scontent-..."
]
}How It Works
Uses Instagram's mobile API (i.instagram.com/api/v1/) with an Android user-agent and curl_cffi to match Chrome's TLS fingerprint. This avoids the browser-based rate limiting and fingerprint detection that blocks standard HTTP clients.
No authentication required
No API key needed
Works with public profiles only
Rate limited by Instagram (be respectful)
Dependencies
mcp >= 1.0.0 — Model Context Protocol SDK
curl_cffi >= 0.7.0 — HTTP client with TLS fingerprint impersonation
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Instagram: Instagram public data scraper API for search, users, posts, hashtags, locations and more.
Public Instagram profiles and post feeds by handle, with hashtags and mentions parsed.
Instagram data over MCP: profiles, posts, reels, stories, highlights and search as JSON
Read-only public Instagram data: profiles, posts, reels, stories, comments, top-accounts ranking.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Instagram engagement analysis using the unofficial Instagram Private API, including comment sentiment analysis, account comparison, demographic extraction, lead identification, and engagement reporting.57 npmMIT
- FlicenseNot gradedqualityBmaintenanceProvides tools to fetch public Instagram profile metadata and recent posts without authentication, using an anonymous Instaloader patch with fallback to mobile feed endpoints.-
- FlicenseNot gradedqualityAmaintenanceEnables sending Instagram direct messages and media, managing DM threads, downloading shared or direct media, and retrieving Instagram user, story, follower, post, and search data.-
- FlicenseNot gradedqualityAmaintenanceEnables authenticated interaction with Instagram accounts to send messages, manage direct-message threads, download media, and retrieve user, story, follower, and post data through MCP-compatible clients.-