Skip to content
Eden Engine

Instagram Post Comments (by Post URL or Shortcode)

omnial/instagram-fetch-post-comments

Given an Instagram post's shortcode or URL, returns the top-level comments on that post: each comment's text, like count, timestamp, author (username, display name, verified status), a preview of its replies, and the total comment count on the post. Supports sorting by recent or popular and paging further comments with a returned pagination token. An invalid or nonexistent post code/URL returns an empty result rather than an error.

activeper callv1
Provider
Web & Business Data Network
Category
instagram
Provider price
$0.004095 per call
Latency p50 / p95
— / —
Success rate
—
Verified
—

Provider list price; Omnial MCP charges provider cost plus a platform markup on top.

Contract

input_schema.json
{
  "type": "object",
  "required": [
    "code_or_url"
  ],
  "properties": {
    "sort_by": {
      "type": "string",
      "default": "recent",
      "examples": [
        "recent"
      ],
      "description": "Sort by: recent or popular"
    },
    "code_or_url": {
      "type": "string",
      "examples": [
        "DRhvwVLAHAG"
      ],
      "description": "Post shortcode or URL"
    },
    "pagination_token": {
      "type": "string",
      "description": "Pagination token from a previous call's response, to fetch the next page of comments."
    }
  },
  "additionalProperties": false
}
output_schema.json
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "count": {
          "type": "number",
          "description": "Number of top-level comments in this page."
        },
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "text": {
                "type": "string"
              },
              "type": {
                "type": "number"
              },
              "user": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "username": {
                    "type": "string"
                  },
                  "full_name": {
                    "type": "string",
                    "description": "Public display name. Empty string observed for at least one commenter."
                  },
                  "is_private": {
                    "type": "boolean"
                  },
                  "is_verified": {
                    "type": "boolean"
                  },
                  "profile_pic_url": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "The commenter's public avatar image URL. Value withheld (stripped to `null`) in this tool's output -- only whether the field is populated is observable, not the image itself."
                  }
                },
                "description": "The comment's author.",
                "additionalProperties": false
              },
              "user_id": {
                "type": "string"
              },
              "hashtags": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "mentions": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "is_edited": {
                "type": "boolean"
              },
              "is_pinned": {
                "type": "boolean"
              },
              "created_at": {
                "type": "number",
                "description": "Unix seconds."
              },
              "is_covered": {
                "type": "boolean"
              },
              "content_type": {
                "type": "string"
              },
              "comment_index": {
                "type": "number"
              },
              "share_enabled": {
                "type": "boolean"
              },
              "created_at_utc": {
                "type": "number",
                "description": "Unix seconds."
              },
              "has_liked_comment": {
                "type": "boolean"
              },
              "is_ranked_comment": {
                "type": "boolean"
              },
              "comment_like_count": {
                "type": "number"
              },
              "did_report_as_spam": {
                "type": "boolean"
              },
              "child_comment_count": {
                "type": "number",
                "description": "Number of replies to this comment."
              },
              "has_disliked_comment": {
                "type": "boolean"
              },
              "private_reply_status": {
                "type": "number"
              },
              "next_max_child_cursor": {
                "type": "string",
                "description": "Cursor for older replies to this comment, when more exist."
              },
              "next_min_child_cursor": {
                "type": "string",
                "description": "Cursor for newer replies to this comment, when more exist."
              },
              "preview_child_comments": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "text": {
                      "type": "string"
                    },
                    "type": {
                      "type": "number"
                    },
                    "user": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "username": {
                          "type": "string"
                        },
                        "full_name": {
                          "type": "string",
                          "description": "Public display name. Empty string observed for at least one replier."
                        },
                        "is_private": {
                          "type": "boolean"
                        },
                        "is_verified": {
                          "type": "boolean"
                        },
                        "profile_pic_url": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "The replier's public avatar image URL. Value withheld (stripped to `null`) in this tool's output."
                        }
                      },
                      "description": "The reply's author.",
                      "additionalProperties": false
                    },
                    "user_id": {
                      "type": "string"
                    },
                    "is_edited": {
                      "type": "boolean"
                    },
                    "created_at": {
                      "type": "number",
                      "description": "Unix seconds."
                    },
                    "is_covered": {
                      "type": "boolean"
                    },
                    "content_type": {
                      "type": "string"
                    },
                    "share_enabled": {
                      "type": "boolean"
                    },
                    "created_at_utc": {
                      "type": "number",
                      "description": "Unix seconds."
                    },
                    "has_liked_comment": {
                      "type": "boolean"
                    },
                    "is_ranked_comment": {
                      "type": "boolean"
                    },
                    "parent_comment_id": {
                      "type": "string"
                    },
                    "comment_like_count": {
                      "type": "number"
                    },
                    "did_report_as_spam": {
                      "type": "boolean"
                    },
                    "has_disliked_comment": {
                      "type": "boolean"
                    },
                    "private_reply_status": {
                      "type": "number"
                    },
                    "replied_to_comment_id": {
                      "type": "string"
                    },
                    "is_created_by_media_owner": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "description": "A short preview of replies to this comment (not the full reply list); the shape mirrors a top-level comment plus `parent_comment_id`/`replied_to_comment_id`."
              },
              "is_liked_by_media_owner": {
                "type": "boolean"
              },
              "num_tail_child_comments": {
                "type": "number"
              },
              "has_more_head_child_comments": {
                "type": "boolean"
              },
              "has_more_tail_child_comments": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          },
          "description": "The page's top-level comments."
        },
        "total": {
          "type": "number",
          "description": "Total number of top-level comments on the post."
        },
        "additional_data": {
          "type": "object",
          "properties": {
            "caption": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                },
                "type": {
                  "type": "number"
                },
                "user": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "username": {
                      "type": "string"
                    },
                    "full_name": {
                      "type": "string",
                      "description": "Public display name. Empty string observed for at least one account."
                    },
                    "is_private": {
                      "type": "boolean"
                    },
                    "is_verified": {
                      "type": "boolean"
                    },
                    "profile_pic_url": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "The account's public avatar image URL. Value withheld (stripped to `null`) in this tool's output -- only whether the field is populated is observable, not the image itself."
                    }
                  },
                  "description": "The post owner -- the account that wrote the caption.",
                  "additionalProperties": false
                },
                "user_id": {
                  "type": "string"
                },
                "hashtags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "mentions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "@-handles mentioned in the caption text."
                },
                "created_at": {
                  "type": "number",
                  "description": "Unix seconds."
                },
                "is_covered": {
                  "type": "boolean"
                },
                "content_type": {
                  "type": "string"
                },
                "share_enabled": {
                  "type": "boolean"
                },
                "created_at_utc": {
                  "type": "number",
                  "description": "Unix seconds."
                },
                "is_ranked_comment": {
                  "type": "boolean"
                },
                "did_report_as_spam": {
                  "type": "boolean"
                },
                "private_reply_status": {
                  "type": "number"
                },
                "is_created_by_media_owner": {
                  "type": "boolean"
                }
              },
              "description": "The post's caption/description, authored by the post owner.",
              "additionalProperties": false
            },
            "caption_is_edited": {
              "type": "boolean"
            },
            "comment_likes_enabled": {
              "type": "boolean"
            }
          },
          "description": "The post's own caption, treated as the first (pinned) entry in the thread.",
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "pagination_token": {
      "type": "string",
      "description": "Opaque cursor to pass back as `pagination_token` to fetch the next page of comments."
    }
  },
  "description": "The comments page, as returned at routing.responseResultPath ($.output). Shapes to `{}` when `code_or_url` does not resolve to an existing post -- confirmed against the `invalid-shortcode` fixture, which still billed nothing for that outcome (see usage.md).",
  "additionalProperties": false
}

Pricing

Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.

Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.

ChargeRate
Per call
Flat, regardless of what comes back
$0.004095
Cost basis
Not recorded

This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.

Updated
Sep 23, 2026