OXYGENOXYGEN
← All integrations
Instagram logo

Instagram

Read posts, comments, and media.

SocialOAuth36 endpoints

Endpoints

OperationMethod & pathEffectLatencyRateCost
INSTAGRAM_CREATE_CAROUSEL_CONTAINER
Create a draft carousel post with multiple images/videos before publishing. Instagram requires carousels to have between 2 and 10 media items. Container creation_ids expire in under 24 hours, so publish promptly after creation.
POST /composio/instagram/instagram_create_carousel_containerexternal_sendmanaged
INSTAGRAM_CREATE_MEDIA_CONTAINER
DEPRECATED: Use INSTAGRAM_POST_IG_USER_MEDIA instead. Creates a draft media container for photos/videos/reels before publishing. Business/Creator accounts only — personal accounts unsupported. Returns a container ID (data.id or data.creation_id) used as creation_id for publishing. Containers expire in ~24 hours — recreate stale containers rather than reusing old IDs. Before publishing via INSTAGRAM_CREATE_POST, call INSTAGRAM_GET_POST_STATUS and wait for FINISHED status — publishing before FINISHED triggers error 9007. Each creation_id is one-time-use; if container creation fails (status_code='ERROR'), fix media params and recreate via this tool rather than retrying publish with the failed ID.
POST /composio/instagram/instagram_create_media_containerexternal_sendmanaged
INSTAGRAM_CREATE_POST
DEPRECATED: Use INSTAGRAM_POST_IG_USER_MEDIA_PUBLISH instead. Publish a draft media container to Instagram (final publishing step). Posts become immediately and publicly visible upon success — confirm intent before calling. Requires Business or Creator account with publish scopes; missing scopes return Graph error code 10. After creating a media container, Instagram may need time to process media before publishing. If called too early, error code 9007 is returned. This action automatically retries with exponential backoff (up to ~44 seconds total). For large videos, use INSTAGRAM_GET_POST_STATUS to poll until status_code='FINISHED' before calling; for carousels, all child containers must individually reach FINISHED status first. No native scheduling support — use an external scheduler to trigger this call at the desired time.
POST /composio/instagram/instagram_create_postexternal_sendmanaged
INSTAGRAM_DELETE_COMMENT
Tool to delete a comment on Instagram media. Use when you need to remove a comment that was created by your Instagram Business or Creator Account. Note: You can only delete comments that your account created - you cannot delete other users' comments unless they are on your own media.
POST /composio/instagram/instagram_delete_commentexternal_sendmanaged
INSTAGRAM_DELETE_MESSENGER_PROFILE
Tool to delete messenger profile settings for an Instagram account. Use when you need to remove ice breakers, persistent menu, greeting messages, or other messaging configuration from the messenger profile.
POST /composio/instagram/instagram_delete_messenger_profileexternal_sendmanaged
INSTAGRAM_GET_CONVERSATION
Get details about a specific Instagram DM conversation (participants, etc). Requires a Business or Creator account with Instagram messaging permissions; personal accounts will return permission errors. Newly sent/received messages may take a few seconds to appear in results.
GET /composio/instagram/instagram_get_conversationnonemanaged
INSTAGRAM_GET_IG_COMMENT_REPLIES
Get replies to a specific Instagram comment. Returns a list of comment replies with details like text, username, timestamp, and like count. Use when you need to retrieve child comments (replies) for a specific parent comment.
GET /composio/instagram/instagram_get_ig_comment_repliesnonemanaged
INSTAGRAM_GET_IG_MEDIA
Get a published Instagram Media object (photo, video, story, reel, or carousel). Use when you need to retrieve detailed information about a specific Instagram post including engagement metrics, caption, media URLs, and metadata. NOTE: This action is for published media only. For unpublished container IDs (from INSTAGRAM_CREATE_MEDIA_CONTAINER), use INSTAGRAM_GET_POST_STATUS to check status instead.
GET /composio/instagram/instagram_get_ig_medianonemanaged
INSTAGRAM_GET_IG_MEDIA_CHILDREN
Tool to get media objects (images/videos) that are children of an Instagram carousel/album post. Use when you need to retrieve individual media items from a carousel album post. Note: Carousel children media do not support insights queries - for analytics, query metrics at the parent carousel level.
GET /composio/instagram/instagram_get_ig_media_childrennonemanaged
INSTAGRAM_GET_IG_MEDIA_COMMENTS
Tool to retrieve comments on an Instagram media object. Use when you need to fetch comments from a specific Instagram post, photo, video, or carousel owned by the connected Business/Creator account. Supports cursor-based pagination for navigating through large comment lists. An empty data array in the response indicates the post has no comments and is not an error. Bulk-fetching across many media objects may trigger API rate limits.
GET /composio/instagram/instagram_get_ig_media_commentsnonemanaged
INSTAGRAM_GET_IG_MEDIA_INSIGHTS
Tool to get insights and metrics for Instagram media objects (photos, videos, reels, carousel albums). Use when you need to retrieve performance data such as views, reach, likes, comments, saves, and shares for specific media. Note: Insights data is only available for media published within the last 2 years, and the account must have at least 1,000 followers. Requires a Business or Creator account; personal Instagram profiles are not supported.
GET /composio/instagram/instagram_get_ig_media_insightsnonemanaged
INSTAGRAM_GET_IG_USER_CONTENT_PUBLISHING_LIMIT
Get an Instagram Business Account's current content publishing usage. Use this to monitor quota usage before publishing; exceeding the daily cap blocks new posts until the quota resets (no partial failure — new publish calls are rejected until reset). IMPORTANT: This endpoint requires an IG User ID (Instagram Business Account ID), NOT an IGSID (Instagram Scoped ID). IGSID is only used for messaging-related endpoints. Content publishing endpoints require a proper IG User ID. Excessive polling of this endpoint may trigger Graph error 613 (rate limit); space calls several seconds apart.
GET /composio/instagram/instagram_get_ig_user_content_publishing_limitnonemanaged
INSTAGRAM_GET_IG_USER_LIVE_MEDIA
Get live media objects during an active Instagram broadcast. Returns the live video media ID and metadata when a live broadcast is in progress on an Instagram Business or Creator account. Use this to monitor active live streams and access real-time engagement data.
GET /composio/instagram/instagram_get_ig_user_live_medianonemanaged
INSTAGRAM_GET_IG_USER_MEDIA
Get Instagram user's media collection (posts, photos, videos, reels, carousels). Use when you need to retrieve all media published by an Instagram Business or Creator account with support for pagination and time-based filtering.
GET /composio/instagram/instagram_get_ig_user_medianonemanaged
INSTAGRAM_GET_IG_USER_STORIES
Get active story media objects for an Instagram Business or Creator account. Stories are retrieved via the /stories endpoint. Returns stories that are currently active within the 24-hour window. Use this to retrieve story content, metadata, and engagement metrics for monitoring or analytics purposes.
GET /composio/instagram/instagram_get_ig_user_storiesnonemanaged
INSTAGRAM_GET_IG_USER_TAGS
Get Instagram media where the user has been tagged by other users. Use when you need to retrieve all media in which an Instagram Business or Creator account has been tagged, including tags in captions, comments, or on the media itself.
GET /composio/instagram/instagram_get_ig_user_tagsnonemanaged
INSTAGRAM_GET_MESSENGER_PROFILE
Get the messenger profile settings for an Instagram account. Returns ice breakers and other messaging configuration. Use when you need to retrieve messaging settings, ice breaker questions, or messenger configuration for an Instagram Business account.
GET /composio/instagram/instagram_get_messenger_profilenonemanaged
INSTAGRAM_GET_PAGE_CONVERSATIONS
Get Instagram conversations for a Page connected to an Instagram Business account. Use platform=instagram parameter to filter for Instagram conversations only.
GET /composio/instagram/instagram_get_page_conversationsnonemanaged
INSTAGRAM_GET_POST_COMMENTS
DEPRECATED: Use INSTAGRAM_GET_IG_MEDIA_COMMENTS instead. Get comments on an Instagram post. Requires Instagram Business or Creator account. Returns empty `data` array (not an error) when no comments exist. Response data is nested under `data.data`; unwrap before processing. Timestamps are timezone-aware ISO 8601 strings; use UTC-based comparison.
GET /composio/instagram/instagram_get_post_commentsnonemanaged
INSTAGRAM_GET_POST_INSIGHTS
DEPRECATED: Use INSTAGRAM_GET_IG_MEDIA_INSIGHTS instead. Get Instagram post insights/analytics (impressions, reach, engagement, etc.). Requires a Business or Creator account; personal accounts cannot access insights. Metrics may be unavailable for several minutes after publishing; verify post status is FINISHED before calling.
GET /composio/instagram/instagram_get_post_insightsnonemanaged
INSTAGRAM_GET_POST_STATUS
DEPRECATED: Use GetIgMedia instead. Check the processing status of a draft post container. Poll until status_code='FINISHED' before calling INSTAGRAM_CREATE_POST; publishing early triggers OAuthException 9007 (HTTP 400). If status_code='ERROR' or remains non-terminal after ~30 attempts, the container is permanently failed — recreate a new container. Poll every 3–5s with exponential backoff to avoid error 613/code 4/HTTP 429. For carousels, all child containers must reach FINISHED before publishing the parent.
GET /composio/instagram/instagram_get_post_statusnonemanaged
INSTAGRAM_GET_USER_INFO
Get Instagram Business Account info including profile details and statistics. IMPORTANT: Only works for Business/Creator accounts you manage through Facebook Business Manager. Cannot query arbitrary public Instagram accounts. Use "me" to query your own authenticated account. NOTE: followers_count and follows_count are ONLY available when querying your own profile with ig_user_id="me" - these fields return null for specific user IDs due to Instagram Graph API limitations.
GET /composio/instagram/instagram_get_user_infononemanaged
INSTAGRAM_GET_USER_INSIGHTS
Get Instagram account-level insights and analytics (profile views, reach, follower count, etc.). Requires a Business or Creator account; personal accounts are not supported. Returned timestamps are in UTC. metric_type (time_series or total_value): When set to total_value, the API returns a total_value object instead of values. breakdown: Only applicable when metric_type=total_value and only for supported metrics. timeframe: Required for demographics-related metrics and overrides since/until for those metrics.
GET /composio/instagram/instagram_get_user_insightsnonemanaged
INSTAGRAM_GET_USER_MEDIA
DEPRECATED: Use INSTAGRAM_GET_IG_USER_MEDIA instead. Get Instagram user's media (posts, photos, videos). Only works for connected Business or Creator accounts; personal accounts return no data. Response data is nested under `data.data`; unwrap before processing. Items mix images, videos, carousels, and reels — filter by `media_type` and `media_product_type`. Use `media_url` for file download, `permalink` for share links. Fields like `caption`, `like_count` may be null. Timestamps are UTC ISO 8601. HTTP 429 with `Retry-After` header indicates rate limiting.
GET /composio/instagram/instagram_get_user_medianonemanaged
INSTAGRAM_LIST_ALL_CONVERSATIONS
List all Instagram DM conversations for the authenticated user. Requires a Business/Creator account with messaging permissions; personal accounts return empty results. Response conversations are nested under `data.data` — accessing top-level `data` as the final list returns zero items. An empty `data` list is a valid non-error outcome meaning no conversations exist in scope.
GET /composio/instagram/instagram_list_all_conversationsnonemanaged
INSTAGRAM_LIST_ALL_MESSAGES
List all messages from a specific Instagram DM conversation. Requires a Business or Creator account with messaging permissions; personal accounts return empty results. Response data is nested under data.data (double-wrapped); attachment-only messages may have empty text fields.
GET /composio/instagram/instagram_list_all_messagesnonemanaged
INSTAGRAM_MARK_SEEN
Mark Instagram DM messages as read/seen for a specific user. Sends a 'mark_seen' sender action to indicate messages from the specified recipient have been read. Marking as seen is visible to the other party and changes inbox read state — use with explicit user approval in automated or bulk flows. IMPORTANT LIMITATIONS: - The sender_action API feature may have limited support on Instagram - The recipient must have an active 24-hour messaging window open - Requires instagram_manage_messages permission - Only works with Instagram Business or Creator accounts If this action fails with a 500 error, it may indicate that the sender_action feature is not supported for your Instagram account or the specific recipient.
POST /composio/instagram/instagram_mark_seenexternal_sendmanaged
INSTAGRAM_POST_IG_COMMENT_REPLIES
Tool to create a reply to an Instagram comment. Use when you need to reply to a specific comment on an Instagram post owned by a Business or Creator account. The reply must be 300 characters or less, contain at most 4 hashtags and 1 URL, and cannot consist entirely of capital letters.
POST /composio/instagram/instagram_post_ig_comment_repliesexternal_sendmanaged
INSTAGRAM_POST_IG_MEDIA_COMMENTS
Tool to create a comment on an Instagram media object. Use when you need to post a comment on a specific Instagram post, photo, video, or carousel. The comment must be 300 characters or less, contain at most 4 hashtags and 1 URL, and cannot consist entirely of capital letters.
POST /composio/instagram/instagram_post_ig_media_commentsexternal_sendmanaged
INSTAGRAM_POST_IG_USER_MEDIA
Tool to create a media container for Instagram posts. Use this to create a container for images, videos, Reels, or carousels. This is the first step in Instagram's two-step publishing process - after creating the container, use the media_publish endpoint to publish it.
POST /composio/instagram/instagram_post_ig_user_mediaexternal_sendmanaged
INSTAGRAM_POST_IG_USER_MEDIA_PUBLISH
Tool to publish a media container to an Instagram Business account. This action automatically waits for the container to finish processing before publishing. Rate limited to 25 API-published posts per 24-hour moving window. The publishing process: 1. First, create a media container using INSTAGRAM_CREATE_MEDIA_CONTAINER 2. Call this action with the creation_id - it will automatically poll for FINISHED status 3. Once ready, the media is published and the published media ID is returned For videos/reels, processing may take 30-120 seconds. Images are typically instant.
POST /composio/instagram/instagram_post_ig_user_media_publishexternal_sendmanaged
INSTAGRAM_POST_IG_USER_MENTIONS
Tool to reply to a mention of your Instagram Business or Creator account. Use when you need to respond to comments or media captions where your account has been @mentioned by another Instagram user. This creates a comment on the media or comment containing the mention.
POST /composio/instagram/instagram_post_ig_user_mentionsexternal_sendmanaged
INSTAGRAM_REPLY_TO_COMMENT
DEPRECATED: Use INSTAGRAM_POST_IG_COMMENT_REPLIES instead. Reply to a comment on Instagram media. Only usable on comments belonging to media owned by the authenticated account. Creates a public, irreversible reply; invoke only with explicit user confirmation, not for bulk or speculative use.
POST /composio/instagram/instagram_reply_to_commentexternal_sendmanaged
INSTAGRAM_SEND_IMAGE
Send an image via Instagram DM to a specific user. Each send modifies inbox state; avoid bulk or automated sends without explicit user approval.
POST /composio/instagram/instagram_send_imageexternal_sendmanaged
INSTAGRAM_SEND_TEXT_MESSAGE
Send a text message to an Instagram user via DM in an existing conversation. Cannot initiate new DM threads — a prior conversation must exist. Requires an Instagram Business or Creator account with messaging permissions. Fails with error_subcode 2534022 if outside the messaging window; do not retry these failures.
POST /composio/instagram/instagram_send_text_messageexternal_sendmanaged
INSTAGRAM_UPDATE_MESSENGER_PROFILE
Tool to update the messenger profile settings for an Instagram account. Use when you need to configure ice breakers and messaging options. Ice breakers are suggested questions that help users start conversations with your Instagram Business account.
POST /composio/instagram/instagram_update_messenger_profileexternal_sendmanaged