📦
Instagram CLI
Agentic AI to communicate with Instagram (and MCP too)
0 installs
Trust: 39 — Low
Devtools
Ask AI about Instagram CLI
Powered by Claude · Grounded in docs
I know everything about Instagram CLI. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Loading tools...
Reviews
Documentation
Instagram CLI
Terminal-first Instagram analytics, downloads, and MCP tools powered by HikerAPI, OpenRouter, and FastMCP.
___ _ _ ____ _____ _ ____ ____ _ __ __ ____ _ ___
|_ _| \ | / ___|_ _|/ \ / ___| _ \ / \ | \/ | / ___| | |_ _|
| || \| \___ \ | | / _ \| | _| |_) | / _ \ | |\/| | | | | | | |
| || |\ |___) || |/ ___ \ |_| | _ < / ___ \| | | | | |___| |___ | |
|___|_| \_|____/ |_/_/ \_\____|_| \_\/_/ \_\_| |_| \____|_____|___|
INSTAGRAM-CLI by @lupikovoleg
What It Does
- Search Instagram by topic, including multilingual reel and media discovery
- Filter search results by freshness, including
todayandlast N days - Fetch profile stats, reel stats, comments, likers, followers, following, stories, and highlights
- Analyze profile publications from the main grid:
- reels
- posts
- carousels
- Inspect pinned posts, tagged publications, comment replies, tagged users, and media insight metrics
- Discover content and entities through:
- hashtags
- places
- music tracks
- suggested related profiles
- Check HikerAPI balance and request-rate data from the CLI or MCP
- Download Instagram content locally:
- reels and posts
- audio tracks
- active stories
- highlights
- Export collected results to
csvorjson - Support natural-language interaction with tool calling in the CLI
- Handle chained workflows such as:
- search -> inspect -> rank -> export
- open a profile -> analyze publications -> download content
- fetch a reel -> inspect comments or likers -> export the result
- Expose the same capability layer through a local MCP server for Claude and other MCP clients
Requirements
- macOS or Linux
- Python
3.10+ HIKERAPI_KEYorHIKERAPI_TOKENOPENROUTER_API_KEYfor the interactive CLI agent
Installation
cd /path/to/instagram-cli
./install.sh
This installs two commands:
instagramfor the interactive CLIinstagram-mcpfor the local MCP server
Install as a Python dependency in another project:
pip install git+https://github.com/lupikovoleg/instagram-cli.git
First Run
The CLI uses its own .env file.
- default path:
/path/to/instagram-cli/.env - override path:
INSTAGRAM_CLI_ENV_FILE=/path/to/custom.env
If required keys are missing, the CLI bootstrap asks for them and writes the local .env.
Quick Start
Start the CLI:
instagram
Typical commands:
instagram> profile lupikovoleg
instagram> search portugal creators
instagram> publications lupikovoleg 10 30 all
instagram> comments https://www.instagram.com/reel/XXXXXXXXXXX/ 20
instagram> download media https://www.instagram.com/reel/XXXXXXXXXXX/
instagram> export csv latest-results
instagram> how many followers does @lupikovoleg have?
instagram> find today's reels about an attack on Dubai
Start the MCP server:
instagram-mcp
Use it as a Python library:
from instagram_cli import InstagramClient
client = InstagramClient.from_env(env_file="/path/to/instagram-cli/.env")
profile = client.get_profile_stats(target="lupikovoleg")
Custom agent example:
python /path/to/instagram-cli/examples/custom_agent.py \
--env-file /path/to/instagram-cli/.env \
"How many followers does @lupikovoleg have?"
MCP Setup
Claude Code:
claude mcp add instagram-cli -- /path/to/instagram-cli/.venv/bin/instagram-mcp
Claude Desktop config file on macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Example:
{
"mcpServers": {
"instagram-cli": {
"command": "/path/to/instagram-cli/.venv/bin/instagram-mcp",
"args": [],
"env": {
"INSTAGRAM_CLI_ENV_FILE": "/path/to/instagram-cli/.env"
}
}
}
}
Documentation
- Internal Python integration is documented in the Python library guide. For your own Python product, prefer direct embedding with
InstagramClientover MCP. - CLI guide
- Python library guide
- MCP guide
- Architecture
- Troubleshooting and configuration
Project Notes
- CLI mode uses OpenRouter for natural-language tool selection and query expansion.
- MCP mode does not use OpenRouter internally for search. MCP clients should pass
query_variantswhen richer multilingual retrieval is needed. - Python library mode uses the same deterministic
InstagramOpslayer as the CLI and MCP server, exposed throughInstagramClient. - Expensive follower and liker analysis is intentionally capped by default to avoid burning HikerAPI credits.
- Some tools are exact page reads, while sampled ranking tools explicitly mark themselves as approximate.
