Skip to main content

List comments

Media ids come from comment webhook events or from your post list.
Always request fields explicitly.
Meta’s default response omits from and text.
Results are top-level comments, 50 per page, with cursor paging.
Add replies to fields for nested replies, or read them directly:
Comment mentions of your account arrive through the same comment surface. See comment webhook events.

Reply publicly

Posts a threaded reply under the comment.
You cannot reply to a hidden comment. Unhide it first.

Reply privately

Sends a DM to the commenter instead of a public reply.
Private replies have hard limits from Meta:
One private reply per comment.
Within 7 days of the comment’s creation for comments on posts and reels.
For comments on a live video, only while the broadcast is live. Once the Live ends, private replies to its comments are rejected regardless of the 7-day window.
At most 750 private replies per hour.
These rejections are permanent for that comment or recipient. Retrying the same call can never succeed, so drop it instead of retrying: The 750-per-hour quota is different: it resets on its own, so a request rejected for the quota can be retried after the window passes. The response body carries the same fields Meta returns (code, error_subcode, fbtrace_id), so your automation can branch on error_subcode directly.

Hide, delete, and disable

Moderate with the CLI

Moderate with MCP

Three tools cover comments: list_instagram_comments, reply_instagram_comment (public or private), and moderate_instagram_comment (hide, unhide, delete, or turn comments on or off for a post).
See MCP for setup.

Next steps