HasData Instagram
Public Instagram profiles and post feeds by handle, with hashtags and mentions parsed.
Should I use this
Quality & Safety
Findings (6)
- LOWin hasdata_instagram_comments_getInstagramComments
- LOWin hasdata_instagram_comments_getInstagramComments
- LOWin hasdata_instagram_posts_getInstagramPosts
- LOWin hasdata_instagram_posts_getInstagramPosts
- LOWin hasdata_instagram_profile_getInstagramProfile
- LOWin hasdata_instagram_profile_getInstagramProfile
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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": {
"command": "npx",
"args": [
"@hasdata/instagram-mcp"
]
}
}
}Runnable packages
1.0.8stdio1.0.8stdioRemote endpoints
https://mcp.hasdata.com/api/mcp?apis=instagramstreamable-httphttps://mcp.hasdata.com/mcp?apis=instagramstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟢hasdata_instagram_comments_getInstagramComments(url, nextPageToken, includeMusic)
Get Instagram Comments Fetches the comments on a public Instagram post or reel from its URL (`/p/`, `/reel/` or `/tv/` links, with or without the username segment). The first page returns the post (id, shortcode, caption, hashtags, mentions, likes and comments counts, owner, display image, images, video URL, DASH manifest, hasAudio flag, tagged location, and every carousel item as childPosts) plus the first comments; with includeMusic=true the post also carries music (audioId, artistName, songName) for the reel's licensed track or original sound; later pages return comments only. Each comment has text, timestamp, like count, reply count, and owner (username, verified flag, profile picture, hasdataLink to the profile endpoint). Supports token-based pagination via nextPageToken. Instagram sizes pages server-side (about 10 to 15 comments). Use for sentiment analysis, engagement research, or building comment datasets from posts discovered via the posts API, whose items carry a hasdataLink to this endpoint.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The URL of the Instagram post or reel, for example `https://www.instagram.com/p/Ddjis3vETcP/` or `https://www.instagram.com/instagram/reel/DcymgItMFao/`."
},
"nextPageToken": {
"type": "string",
"description": "Defines the next page token. Use the `nextPageToken` value returned by the previous response. Omit it to fetch the first page."
},
"includeMusic": {
"type": "boolean",
"description": "Also return the reel's sound (audio ID, artist and song title) in `post.music`, for both licensed tracks and original audio. This takes an extra request to Instagram on the first page and is ignored when `nextPageToken` is set. Default is false."
}
},
"required": [
"url"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢hasdata_instagram_posts_getInstagramPosts(handle, limit, nextPageToken)
Get Instagram Posts Fetches the latest posts of a public Instagram account by username (handle) and returns each post with caption, hashtags, mentions, like and comment counts, play counts on videos and Reels, image and video URLs, and timestamp. Supports token-based pagination via nextPageToken to walk older posts. Private accounts and handles that do not exist or are hidden from logged-out viewers return an error field instead of posts. Use to monitor competitor content, track engagement of creator posts, or build datasets of account content for vetting and analytics.
Input Schema
{
"type": "object",
"properties": {
"handle": {
"type": "string",
"description": "The Instagram username of the account whose posts you want to scrape, without the `@` symbol."
},
"limit": {
"type": "number",
"description": "The maximum number of posts to retrieve per request. Defaults to 12."
},
"nextPageToken": {
"type": "string",
"description": "Defines the next page token. It is used for retrieving the next page results. Use the `nextPageToken` value returned by the previous response."
}
},
"required": [
"handle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢hasdata_instagram_profile_getInstagramProfile(handle)
Get Instagram Profile Fetches a public Instagram profile by username (handle) and returns full name, biography, external link, profile picture URL, followers count, following count, and verified/private flags. Use to enrich CRM/lead records, verify influencer reach before outreach, monitor competitor accounts, or build datasets of creator metadata for vetting and analytics.
Input Schema
{
"type": "object",
"properties": {
"handle": {
"type": "string",
"description": "The Instagram username of the profile you want to scrape, without the `@` symbol."
}
},
"required": [
"handle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence