Instagram Comments API

Comment management and moderation

Business capability
User-Generated Content Moderation BC-3780.40

Operations 7

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /{media_id}/comments List the comments on a post · Instagram Get Media Comments #
Ask an LLM
“How do I pull all the comments people left on one of my Instagram posts?”
“Can I choose which comment fields come back when listing a post's comments?”
Tell an agent
List the comments on media {media_id}.
Get the comments under post {media_id} with only the fields {fields}.
POST /{media_id}/comments Post a new comment on a media item · Instagram Create Comment #
Ask an LLM
“Can I leave a top-level comment on an Instagram post through the API?”
“Is it possible to comment on my own photo programmatically rather than in the app?”
Tell an agent
Comment "{message}" on media {media_id}.
Add a new top-level comment to post {media_id} saying {message}.
GET /{comment_id} Look up a single comment · Instagram Get Comment #
Ask an LLM
“How do I fetch the details of one specific comment by its ID?”
“Which fields can I read on an individual Instagram comment, like its text or timestamp?”
Tell an agent
Show me comment {comment_id}.
Fetch the fields {fields} for comment {comment_id}.
POST /{comment_id} Hide or unhide a comment on my media · Instagram Hide or Unhide Comment #
Ask an LLM
“Can I hide an abusive comment on my post without deleting it?”
“Is there a way to bring back a comment I previously hid from view?”
Tell an agent
Hide comment {comment_id} on my media.
Set the hidden state of comment {comment_id} to {hide}.
DELETE /{comment_id} Delete a comment from my media · Instagram Delete Comment #
Ask an LLM
“How do I permanently remove a spam comment from one of my posts?”
“Can I delete someone else's comment if it's on my own media?”
Tell an agent destructive · confirm first
Delete comment {comment_id}.
Permanently remove comment {comment_id} from my post.
GET /{comment_id}/replies List the replies to a comment · Instagram Get Comment Replies #
Ask an LLM
“How can I see the threaded replies under a particular comment?”
“What responses has a comment on my post received?”
Tell an agent
List the replies to comment {comment_id}.
Get the reply thread under comment {comment_id} with fields {fields}.
POST /{comment_id}/replies Reply to a comment · Instagram Create Comment Reply #
Ask an LLM
“Can I respond directly to a follower's comment instead of posting a new top-level one?”
“How do I answer a customer question left as a comment on my Instagram post?”
Tell an agent
Reply "{message}" to comment {comment_id}.
Answer comment {comment_id} in its thread with {message}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/instagram:instagram-comments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

instagram-comments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Instagram Graph Comments API
  description: The Instagram Graph API allows Instagram Professionals (Business and Creator accounts) to manage their presence on Instagram, including media publishing, comments, hashtags, mentions, insights, and messaging. Uses the Facebook Graph API infrastructure with OAuth 2.0 authentication.
  version: '21.0'
  contact:
    name: Meta for Developers
    url: https://developers.facebook.com/docs/instagram-api
  license:
    name: Meta Platform Terms
    url: https://developers.facebook.com/terms
servers:
- url: https://graph.facebook.com/v21.0
  description: Facebook Graph API (Facebook Login)
- url: https://graph.instagram.com/v21.0
  description: Instagram Graph API (Instagram Login)
tags:
- name: Comments
  description: Comment management and moderation
paths:
  /{media_id}/comments:
    get:
      operationId: getMediaComments
      summary: Instagram Get Media Comments
      description: Get comments on an Instagram media object.
      tags:
      - Comments
      parameters:
      - name: media_id
        in: path
        required: true
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
        example: id,text,username,timestamp,like_count
      - name: access_token
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of comments.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentList'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createComment
      summary: Instagram Create Comment
      description: Create a comment on an Instagram media object.
      tags:
      - Comments
      parameters:
      - name: media_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - message
              - access_token
              properties:
                message:
                  type: string
                  description: The comment text.
                  example: Great post!
                access_token:
                  type: string
      responses:
        '200':
          description: Comment created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    example: '17858893269000001'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /{comment_id}:
    get:
      operationId: getComment
      summary: Instagram Get Comment
      description: Get fields on an Instagram comment.
      tags:
      - Comments
      parameters:
      - name: comment_id
        in: path
        required: true
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
        example: id,text,username,timestamp,like_count,hidden
      - name: access_token
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Comment data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: hideComment
      summary: Instagram Hide or Unhide Comment
      description: Hide or unhide a comment on your media.
      tags:
      - Comments
      parameters:
      - name: comment_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - hide
              - access_token
              properties:
                hide:
                  type: boolean
                  description: True to hide, false to unhide.
                  example: true
                access_token:
                  type: string
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteComment
      summary: Instagram Delete Comment
      description: Delete a comment on your media.
      tags:
      - Comments
      parameters:
      - name: comment_id
        in: path
        required: true
        schema:
          type: string
      - name: access_token
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Comment deleted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /{comment_id}/replies:
    get:
      operationId: getCommentReplies
      summary: Instagram Get Comment Replies
      description: Get replies to a comment.
      tags:
      - Comments
      parameters:
      - name: comment_id
        in: path
        required: true
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
      - name: access_token
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of reply comments.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentList'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createCommentReply
      summary: Instagram Create Comment Reply
      description: Reply to a comment.
      tags:
      - Comments
      parameters:
      - name: comment_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - message
              - access_token
              properties:
                message:
                  type: string
                  example: Thanks for the feedback!
                access_token:
                  type: string
      responses:
        '200':
          description: Reply created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    example: '17858893269000002'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    Comment:
      type: object
      properties:
        id:
          type: string
          example: '17858893269000001'
        text:
          type: string
          example: Amazing photo!
        username:
          type: string
          example: fan_account
        timestamp:
          type: string
          format: date-time
          example: 2026-04-17T14:30:00+0000
        like_count:
          type: integer
          example: 5
        hidden:
          type: boolean
          example: false
        parent_id:
          type: string
          description: ID of the parent comment if this is a reply.
    SuccessResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
    CommentList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Comment'
        paging:
          $ref: '#/components/schemas/Paging'
    Paging:
      type: object
      properties:
        cursors:
          type: object
          properties:
            before:
              type: string
              example: QVFIUjRtc2c5NEl0ajN3
            after:
              type: string
              example: QVFIUmlKdXBzYWtyUml3
        next:
          type: string
          description: URL to fetch next page.
        previous:
          type: string
          description: URL to fetch previous page.
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 authentication via Instagram Login or Facebook Login.
      flows:
        authorizationCode:
          authorizationUrl: https://www.facebook.com/dialog/oauth
          tokenUrl: https://graph.facebook.com/oauth/access_token
          scopes:
            instagram_basic: Read user profile and media.
            instagram_content_publish: Publish content on behalf of the user.
            instagram_manage_comments: Manage comments on media.
            instagram_manage_insights: Access insights and analytics.
            instagram_manage_messages: Manage Instagram Direct messages.
            pages_show_list: Show list of pages managed by user.
            pages_read_engagement: Read engagement data from pages.
externalDocs:
  description: Instagram Platform Documentation
  url: https://developers.facebook.com/docs/instagram-platform