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.
@@ -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,3 @@
1
+ dist/
2
+ __pycache__/
3
+ *.egg-info/
@@ -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"]
@@ -0,0 +1,2 @@
1
+ """MCP server for the Instagram Data API."""
2
+ __version__ = "0.1.0"
@@ -0,0 +1,3 @@
1
+ from .server import main
2
+
3
+ main()