instagram-data-mcp 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- instagram_data_mcp-0.1.0/.github/workflows/publish.yml +20 -0
- instagram_data_mcp-0.1.0/.gitignore +3 -0
- instagram_data_mcp-0.1.0/LICENSE +21 -0
- instagram_data_mcp-0.1.0/PKG-INFO +108 -0
- instagram_data_mcp-0.1.0/README.md +90 -0
- instagram_data_mcp-0.1.0/pyproject.toml +28 -0
- instagram_data_mcp-0.1.0/src/instagram_data_mcp/__init__.py +2 -0
- instagram_data_mcp-0.1.0/src/instagram_data_mcp/__main__.py +3 -0
- instagram_data_mcp-0.1.0/src/instagram_data_mcp/openapi.json +3679 -0
- instagram_data_mcp-0.1.0/src/instagram_data_mcp/server.py +140 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
publish:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
environment: pypi
|
|
11
|
+
permissions:
|
|
12
|
+
id-token: write # PyPI trusted publishing: no API token stored anywhere
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v4
|
|
15
|
+
- uses: actions/setup-python@v5
|
|
16
|
+
with:
|
|
17
|
+
python-version: "3.12"
|
|
18
|
+
- run: python -m pip install build
|
|
19
|
+
- run: python -m build
|
|
20
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 FastSocial
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: instagram-data-mcp
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: MCP server for public Instagram data: profiles, posts, reels, stories, highlights, comments, hashtags and more.
|
|
5
|
+
Project-URL: Homepage, https://fastsocial.co/instagram-api
|
|
6
|
+
Project-URL: Documentation, https://fastsocial.co/instagram-api/docs
|
|
7
|
+
License-Expression: MIT
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
Keywords: ai-agents,claude,instagram,instagram-api,mcp,model-context-protocol,scraper
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Topic :: Internet :: WWW/HTTP
|
|
13
|
+
Requires-Python: >=3.10
|
|
14
|
+
Requires-Dist: anyio>=4
|
|
15
|
+
Requires-Dist: httpx>=0.27
|
|
16
|
+
Requires-Dist: mcp>=2.2
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
|
|
19
|
+
# instagram-data-mcp
|
|
20
|
+
|
|
21
|
+
An MCP server for public Instagram data. It gives Claude, Cursor and any other MCP client
|
|
22
|
+
27 read-only tools: profiles, posts, reels, stories, highlights, comments, likers,
|
|
23
|
+
followers, hashtags, places, audio and search.
|
|
24
|
+
|
|
25
|
+
It wraps the [Instagram Data API](https://fastsocial.co/instagram-api). Nothing logs in to
|
|
26
|
+
Instagram, and nothing can post, follow or like. Public data only.
|
|
27
|
+
|
|
28
|
+
## Get a key
|
|
29
|
+
|
|
30
|
+
Sign up at https://fastsocial.co/instagram-api. There is a free plan.
|
|
31
|
+
|
|
32
|
+
## Install
|
|
33
|
+
|
|
34
|
+
Claude Code:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
claude mcp add instagram-data --env IG_DATA_API_KEY=your_key -- uvx instagram-data-mcp
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Claude Desktop, Cursor and other clients (`mcpServers` in the client's config file):
|
|
41
|
+
|
|
42
|
+
```json
|
|
43
|
+
{
|
|
44
|
+
"mcpServers": {
|
|
45
|
+
"instagram-data": {
|
|
46
|
+
"command": "uvx",
|
|
47
|
+
"args": ["instagram-data-mcp"],
|
|
48
|
+
"env": { "IG_DATA_API_KEY": "your_key" }
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
No `uvx`? `pip install instagram-data-mcp` and use `"command": "instagram-data-mcp"` instead.
|
|
55
|
+
|
|
56
|
+
## Tools
|
|
57
|
+
|
|
58
|
+
| Tool | What it does |
|
|
59
|
+
|---|---|
|
|
60
|
+
| `instagram_profile` | Get an Instagram profile |
|
|
61
|
+
| `instagram_user_id` | Instagram username to user id |
|
|
62
|
+
| `instagram_username` | Instagram user id to username |
|
|
63
|
+
| `instagram_check` | Check if an Instagram handle exists and is public |
|
|
64
|
+
| `instagram_posts` | Get recent Instagram posts |
|
|
65
|
+
| `instagram_reels` | Get an account's Instagram reels |
|
|
66
|
+
| `instagram_tagged` | Get posts an account is tagged in |
|
|
67
|
+
| `instagram_post` | Get one Instagram post or reel |
|
|
68
|
+
| `instagram_media` | Download URLs for a post, reel or carousel |
|
|
69
|
+
| `instagram_comments` | Get comments on an Instagram post |
|
|
70
|
+
| `instagram_comment_replies` | Get replies to an Instagram comment |
|
|
71
|
+
| `instagram_likers` | Get accounts that liked an Instagram post |
|
|
72
|
+
| `instagram_insights` | Instagram engagement rate calculator |
|
|
73
|
+
| `instagram_followers` | Get an account's followers |
|
|
74
|
+
| `instagram_following` | Get accounts an account follows |
|
|
75
|
+
| `instagram_similar` | Find similar Instagram accounts |
|
|
76
|
+
| `instagram_stories` | View Instagram stories anonymously |
|
|
77
|
+
| `instagram_highlights` | Get Instagram story highlights |
|
|
78
|
+
| `instagram_highlight` | Get the items in one highlight |
|
|
79
|
+
| `instagram_search` | Search Instagram accounts, hashtags and places |
|
|
80
|
+
| `instagram_hashtag` | Get posts for an Instagram hashtag |
|
|
81
|
+
| `instagram_place` | Get an Instagram location |
|
|
82
|
+
| `instagram_place_posts` | Get posts tagged at an Instagram location |
|
|
83
|
+
| `instagram_audio` | Get an Instagram audio track and the reels using it |
|
|
84
|
+
| `instagram_audio_search` | Search Instagram music and sounds |
|
|
85
|
+
| `instagram_reels_search` | Search Instagram reels by keyword |
|
|
86
|
+
| `instagram_usage` | Your usage this month |
|
|
87
|
+
|
|
88
|
+
Each call costs API credits (stories and highlights cost 3, most others 1). Every response
|
|
89
|
+
includes `meta.credits_remaining`. Full reference: https://fastsocial.co/instagram-api/docs
|
|
90
|
+
|
|
91
|
+
## Things to ask it
|
|
92
|
+
|
|
93
|
+
- "Compare the engagement rate of @nasa and @spacex."
|
|
94
|
+
- "Download every slide of this carousel: https://www.instagram.com/p/..."
|
|
95
|
+
- "Show me @natgeo's current stories and summarise them."
|
|
96
|
+
- "Find 10 accounts similar to @humansofny."
|
|
97
|
+
|
|
98
|
+
## Settings
|
|
99
|
+
|
|
100
|
+
| Env var | Default | |
|
|
101
|
+
|---|---|---|
|
|
102
|
+
| `IG_DATA_API_KEY` | none | Required |
|
|
103
|
+
| `IG_DATA_API_BASE` | `https://data.fastsocial.co` | |
|
|
104
|
+
| `IG_DATA_API_TIMEOUT` | `60` | Seconds |
|
|
105
|
+
|
|
106
|
+
## License
|
|
107
|
+
|
|
108
|
+
MIT
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# instagram-data-mcp
|
|
2
|
+
|
|
3
|
+
An MCP server for public Instagram data. It gives Claude, Cursor and any other MCP client
|
|
4
|
+
27 read-only tools: profiles, posts, reels, stories, highlights, comments, likers,
|
|
5
|
+
followers, hashtags, places, audio and search.
|
|
6
|
+
|
|
7
|
+
It wraps the [Instagram Data API](https://fastsocial.co/instagram-api). Nothing logs in to
|
|
8
|
+
Instagram, and nothing can post, follow or like. Public data only.
|
|
9
|
+
|
|
10
|
+
## Get a key
|
|
11
|
+
|
|
12
|
+
Sign up at https://fastsocial.co/instagram-api. There is a free plan.
|
|
13
|
+
|
|
14
|
+
## Install
|
|
15
|
+
|
|
16
|
+
Claude Code:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
claude mcp add instagram-data --env IG_DATA_API_KEY=your_key -- uvx instagram-data-mcp
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Claude Desktop, Cursor and other clients (`mcpServers` in the client's config file):
|
|
23
|
+
|
|
24
|
+
```json
|
|
25
|
+
{
|
|
26
|
+
"mcpServers": {
|
|
27
|
+
"instagram-data": {
|
|
28
|
+
"command": "uvx",
|
|
29
|
+
"args": ["instagram-data-mcp"],
|
|
30
|
+
"env": { "IG_DATA_API_KEY": "your_key" }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
No `uvx`? `pip install instagram-data-mcp` and use `"command": "instagram-data-mcp"` instead.
|
|
37
|
+
|
|
38
|
+
## Tools
|
|
39
|
+
|
|
40
|
+
| Tool | What it does |
|
|
41
|
+
|---|---|
|
|
42
|
+
| `instagram_profile` | Get an Instagram profile |
|
|
43
|
+
| `instagram_user_id` | Instagram username to user id |
|
|
44
|
+
| `instagram_username` | Instagram user id to username |
|
|
45
|
+
| `instagram_check` | Check if an Instagram handle exists and is public |
|
|
46
|
+
| `instagram_posts` | Get recent Instagram posts |
|
|
47
|
+
| `instagram_reels` | Get an account's Instagram reels |
|
|
48
|
+
| `instagram_tagged` | Get posts an account is tagged in |
|
|
49
|
+
| `instagram_post` | Get one Instagram post or reel |
|
|
50
|
+
| `instagram_media` | Download URLs for a post, reel or carousel |
|
|
51
|
+
| `instagram_comments` | Get comments on an Instagram post |
|
|
52
|
+
| `instagram_comment_replies` | Get replies to an Instagram comment |
|
|
53
|
+
| `instagram_likers` | Get accounts that liked an Instagram post |
|
|
54
|
+
| `instagram_insights` | Instagram engagement rate calculator |
|
|
55
|
+
| `instagram_followers` | Get an account's followers |
|
|
56
|
+
| `instagram_following` | Get accounts an account follows |
|
|
57
|
+
| `instagram_similar` | Find similar Instagram accounts |
|
|
58
|
+
| `instagram_stories` | View Instagram stories anonymously |
|
|
59
|
+
| `instagram_highlights` | Get Instagram story highlights |
|
|
60
|
+
| `instagram_highlight` | Get the items in one highlight |
|
|
61
|
+
| `instagram_search` | Search Instagram accounts, hashtags and places |
|
|
62
|
+
| `instagram_hashtag` | Get posts for an Instagram hashtag |
|
|
63
|
+
| `instagram_place` | Get an Instagram location |
|
|
64
|
+
| `instagram_place_posts` | Get posts tagged at an Instagram location |
|
|
65
|
+
| `instagram_audio` | Get an Instagram audio track and the reels using it |
|
|
66
|
+
| `instagram_audio_search` | Search Instagram music and sounds |
|
|
67
|
+
| `instagram_reels_search` | Search Instagram reels by keyword |
|
|
68
|
+
| `instagram_usage` | Your usage this month |
|
|
69
|
+
|
|
70
|
+
Each call costs API credits (stories and highlights cost 3, most others 1). Every response
|
|
71
|
+
includes `meta.credits_remaining`. Full reference: https://fastsocial.co/instagram-api/docs
|
|
72
|
+
|
|
73
|
+
## Things to ask it
|
|
74
|
+
|
|
75
|
+
- "Compare the engagement rate of @nasa and @spacex."
|
|
76
|
+
- "Download every slide of this carousel: https://www.instagram.com/p/..."
|
|
77
|
+
- "Show me @natgeo's current stories and summarise them."
|
|
78
|
+
- "Find 10 accounts similar to @humansofny."
|
|
79
|
+
|
|
80
|
+
## Settings
|
|
81
|
+
|
|
82
|
+
| Env var | Default | |
|
|
83
|
+
|---|---|---|
|
|
84
|
+
| `IG_DATA_API_KEY` | none | Required |
|
|
85
|
+
| `IG_DATA_API_BASE` | `https://data.fastsocial.co` | |
|
|
86
|
+
| `IG_DATA_API_TIMEOUT` | `60` | Seconds |
|
|
87
|
+
|
|
88
|
+
## License
|
|
89
|
+
|
|
90
|
+
MIT
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "instagram-data-mcp"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "MCP server for public Instagram data: profiles, posts, reels, stories, highlights, comments, hashtags and more."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = "MIT"
|
|
11
|
+
requires-python = ">=3.10"
|
|
12
|
+
dependencies = ["mcp>=2.2", "httpx>=0.27", "anyio>=4"]
|
|
13
|
+
keywords = ["mcp", "instagram", "model-context-protocol", "instagram-api", "scraper", "claude", "ai-agents"]
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Programming Language :: Python :: 3",
|
|
16
|
+
"Topic :: Internet :: WWW/HTTP",
|
|
17
|
+
"Intended Audience :: Developers",
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
[project.urls]
|
|
21
|
+
Homepage = "https://fastsocial.co/instagram-api"
|
|
22
|
+
Documentation = "https://fastsocial.co/instagram-api/docs"
|
|
23
|
+
|
|
24
|
+
[project.scripts]
|
|
25
|
+
instagram-data-mcp = "instagram_data_mcp.server:main"
|
|
26
|
+
|
|
27
|
+
[tool.hatch.build.targets.wheel]
|
|
28
|
+
packages = ["src/instagram_data_mcp"]
|