Instagram MCP Server for Cloudflare Workers
Test Instagram tools directly in your browser. Select a tool and provide inputs to see the results.
Create a free account to test Instagram tools interactively. No credit card required.
instagram_reply_to_commentReply to an existing comment. Args: - commentId: The comment ID to reply to (required) - message: Reply text (required) Returns: The created reply comment details.
instagram_delete_commentDelete a comment (your own comments only). Args: - commentId: The comment ID to delete (required) Returns: Confirmation of deletion.
instagram_get_accountGet the authenticated Instagram Business/Creator account information. Returns profile details including: - Username, name, and biography - Profile picture URL - Follower/following counts - Media count - Account type (BUSINESS or CREATOR) Args: - fields: Optional specific fields to retrieve - format: Response format ('json' or 'markdown') Returns: Account profile information.
instagram_get_account_insightsGet insights/analytics for the Instagram account. Available metrics: - impressions: Total impressions - reach: Unique accounts reached - profile_views: Profile views - accounts_engaged: Accounts that engaged - total_interactions: Total interactions - likes, comments, shares, saves, replies - follows_and_unfollows: Net follower change - follower_count: Current follower count - online_followers: When followers are online Available periods: - day: Daily data - week: Weekly data - days_28: 28-day rolling window - lifetime: All time (limited metrics) Args: - metrics: Array of metrics to retrieve (required) - period: Time period for the metrics (required) - since: Start date (ISO 8601 or Unix timestamp) - until: End date (ISO 8601 or Unix timestamp) - format: Response format Returns: Array of insight metrics with values.
instagram_list_commentsList comments on a media post. Args: - mediaId: The media ID to get comments for (required) - limit: Number of comments to return (1-100, default: 20) - after: Pagination cursor - format: Response format Returns: Paginated list of comments with text, username, and like counts.
instagram_get_commentGet details of a specific comment. Args: - commentId: The comment ID (required) - format: Response format Returns: Comment details including text, username, timestamp, and likes.
instagram_get_comment_repliesGet replies to a specific comment. Args: - commentId: The parent comment ID (required) - limit: Number of replies to return - after: Pagination cursor - format: Response format Returns: Paginated list of reply comments.
instagram_create_commentPost a comment on a media post. Args: - mediaId: The media ID to comment on (required) - message: Comment text (required) Returns: The created comment details.
instagram_hide_commentHide or unhide a comment on your media. Hidden comments are not visible to other users but can be seen by the commenter. Args: - commentId: The comment ID (required) - hide: true to hide, false to unhide (required) Returns: Confirmation of the action.
instagram_discover_businessLook up another Instagram Business or Creator account by username. Get public profile information about any business or creator account. Personal accounts cannot be discovered via this endpoint. Args: - username: The Instagram username to look up (required) - fields: Optional specific fields to retrieve - format: Response format Returns: Public profile information including followers, bio, and media count.
instagram_get_mentioned_mediaGet media where your account has been mentioned (@tagged in caption). Returns posts from other accounts that mention your username. Args: - limit: Number of items to return (1-100, default: 20) - after: Pagination cursor - fields: Optional specific fields to retrieve - format: Response format Returns: Paginated list of media mentioning your account.
instagram_get_mentioned_commentGet a comment where your account was mentioned. Args: - commentId: The comment ID (required) Returns: Comment details.
instagram_get_tagged_mediaGet media where your account has been tagged (photo tag, not caption mention). Returns posts where someone tagged your account in the photo itself. Args: - limit: Number of items to return (1-100, default: 20) - after: Pagination cursor - fields: Optional specific fields to retrieve - format: Response format Returns: Paginated list of media with your account tagged.
instagram_search_hashtagSearch for a hashtag and get its ID. The hashtag ID is required to fetch top or recent media for that hashtag. Rate Limits: - 30 unique hashtag searches per 7-day period per user Args: - query: The hashtag to search for (without #) (required) Returns: Hashtag ID and name that can be used for further queries.
instagram_get_hashtag_top_mediaGet top/trending media posts for a hashtag. Returns the most popular recent posts tagged with the hashtag. Rate Limits: - Combined with recent_media: 30 requests per 7-day period per hashtag Args: - hashtagId: The hashtag ID from search (required) - fields: Optional specific fields to retrieve - format: Response format Returns: List of top-performing media with the hashtag.
instagram_get_hashtag_recent_mediaGet recent media posts for a hashtag. Returns recently posted public content tagged with the hashtag. Rate Limits: - Combined with top_media: 30 requests per 7-day period per hashtag Args: - hashtagId: The hashtag ID from search (required) - fields: Optional specific fields to retrieve - format: Response format Returns: List of recent media with the hashtag.
instagram_list_mediaList media posts from the Instagram account. Returns paginated list of media including photos, videos, carousels, and reels. Args: - limit: Number of items to return (1-100, default: 20) - after: Pagination cursor from previous response - fields: Optional specific fields to retrieve - format: Response format Returns: Paginated list of media with engagement metrics.
instagram_get_mediaGet details of a specific media post. Args: - mediaId: The ID of the media to retrieve (required) - fields: Optional specific fields to retrieve - format: Response format Returns: Complete media details including caption, type, URL, and engagement.
instagram_get_media_insightsGet insights/analytics for a specific media post. Available metrics for images and videos: - impressions: Total impressions - reach: Unique accounts reached - engagement: Total engagement (likes + comments) - saved: Times saved - likes, comments, shares - total_interactions Additional metrics for reels: - plays: Number of plays - ig_reels_avg_watch_time: Average watch time - ig_reels_video_view_total_time: Total view time - clips_replays_count: Replay count - follows: Follows from this reel Args: - mediaId: The media ID (required) - metrics: Array of metrics to retrieve (required) - format: Response format Returns: Array of insight metrics for the media.
instagram_publish_photoPublish a photo to Instagram feed. The photo must be hosted at a publicly accessible URL. Supported formats: JPEG, PNG. Maximum file size: 8MB. Recommended aspect ratios: 1:1, 4:5, or 1.91:1. Args: - imageUrl: URL of the image to publish (required) - caption: Caption text (max 2200 characters) - locationId: Optional location ID to tag Returns: The published media details including permalink.
instagram_publish_videoPublish a video or reel to Instagram. The video must be hosted at a publicly accessible URL. Supported formats: MP4, MOV. Maximum file size: 1GB for reels. For reels: 9:16 aspect ratio, 3-90 seconds duration. Args: - videoUrl: URL of the video to publish (required) - caption: Caption text (max 2200 characters) - mediaType: 'VIDEO' for feed video, 'REELS' for reel (default: VIDEO) - thumbOffset: Thumbnail offset in milliseconds Returns: The published media details.
instagram_publish_carouselPublish a carousel (multi-image/video post) to Instagram. Create a carousel with 2-10 images and/or videos. Each item URL must be publicly accessible. Args: - items: Array of media items (required, 2-10 items) - imageUrl: URL for image items - videoUrl: URL for video items - caption: Caption text (max 2200 characters) Returns: The published carousel media details.
instagram_publish_storyPublish a story to Instagram. Stories disappear after 24 hours. The media must be hosted at a publicly accessible URL. For images: JPEG/PNG, max 30MB, 9:16 aspect ratio recommended. For videos: MP4, max 30MB, 9:16 aspect ratio, up to 60 seconds. Note: Stickers (link, poll, location) are not supported via API. Args: - imageUrl: URL of the image (for photo stories) - videoUrl: URL of the video (for video stories) Returns: The published story details.
instagram_get_container_statusCheck the status of a media container being processed. Use this to monitor the progress of media uploads before publishing. Status values: - IN_PROGRESS: Still processing - FINISHED: Ready to publish - ERROR: Processing failed - EXPIRED: Container expired (publish within 24 hours) Args: - containerId: The container/creation ID (required) Returns: Current container status.
instagram_list_storiesList currently active stories from the account. Stories are only available for 24 hours after posting. Args: - fields: Optional specific fields to retrieve - format: Response format Returns: List of active stories with media details.
instagram_get_story_insightsGet insights/analytics for a specific story. Available metrics: - exits: Times users exited the story - impressions: Total times the story was seen - reach: Unique accounts that saw the story - replies: Number of replies to the story - taps_forward: Taps to see next story - taps_back: Taps to see previous story - navigation: Overall navigation metrics Note: Story insights are only available while the story is active (24 hours). Args: - storyId: The story media ID (required) - metrics: Array of metrics to retrieve (required) - format: Response format Returns: Array of insight metrics for the story.
instagram_reply_to_comment{
"message": "example_message",
"commentId": "example_commentId"
}instagram_delete_comment{
"commentId": "example_commentId"
}instagram_get_account{
"format": "example_format"
}