Read the replies to a comment
The replies to one comment on an Instagram post or reel, oldest first, in the same shape as comments. Pass the post and the comment’s id, as post-comments returns it. Paged: about 8 replies per page, 1 credit per page fetched.
/comment-replies Posts & reels https://api.fetchlayer.dev/instagram/comment-replies Headers
Authorization string required Bearer token — your FetchLayer API key.
Parameters
post string required The post or reel the comment is on: a URL in any of the forms post-detail accepts, the short code, or the post’s numeric id.
commentId string required The comment’s id, as post-comments returns it in comments[].id. A string of digits. A comment that is not on that post, or does not exist, is a 404.
pages integer optional Pages of replies to return in one request, up to 10. Use -1 for the maximum. A page is about 8 replies, each page is 1 credit, and the response reports how many were fetched as pagesFetched. A page takes about 2 seconds, and a request for several pages can take up to about 20 seconds between pages, so following nextCursor one page at a time is the quickest way to read a long thread. (default: 1)
cursor string optional Continue from a previous response’s nextCursor. Send it back to comment-replies with the same post and commentId that produced it; a cursor from another route, post or comment, or a malformed one, is a 400.
limit integer optional Maximum replies returned, up to 300. Use -1 for the maximum. It caps the replies across the pages fetched; it does not fetch further pages. (default: every reply on the pages fetched)
format string optional json or markdown, lowercase; any other value is a 400. Over MCP, markdown returns the result rendered as text; the REST API accepts it and returns JSON. (default: json)
timeoutMs integer optional Time limit for the whole request, in milliseconds (1000–120000); a value outside that range is a 400. When it runs out, a paged request returns what it has with nextCursor, billed for the pages it returned; a request with nothing to return yet fails with a 503 you can retry, marked with the response header X-Timeout-Source: caller. Left out, the request runs as long as it needs.
Response Fields
comment-replies
Read the replies to a comment
transport string The data source: always the platform id, "instagram".
notes string[] Caveats you can act on — a ceiling Instagram imposes, a counter it withholds, a list that stopped early. Several real limits are reported only here, so read them. An empty result always comes with a note explaining it, never as an unexplained empty array.
pagesFetched number Pages of results fetched, which is what the request costs: one credit per page. resolve-url reports 0 and is not billed.
shortcode string The post the comment is on.
commentId string The comment the replies belong to.
replies object[] The replies, oldest first. Empty when the comment has none, with a note saying so; that is still one page and 1 credit.
replies[].id string Instagram’s exact reply id, as a string.
replies[].text string The reply body, or null for a GIF or photo reply — kind says which and mediaUrl links it.
replies[].kind string "text", "gif", "image" or "unknown".
replies[].mediaUrl string The GIF or photo the reply carries, or null.
replies[].createdAt string ISO 8601 timestamp.
replies[].likeCount number Likes on the reply.
replies[].replyCount number Always null on a reply.
replies[].author object id, username, fullName, profilePicUrl, verified, privateAccount and profileUrl.
replyCount number How many replies are in this response.
totalCount number Instagram’s own count of replies to the comment. When Instagram lists fewer replies than it counts, the last page says so with numbers, e.g. "Instagram lists 5 of the 6 replies it counts for this comment."
hasMore boolean Whether more replies are available. False when nextCursor is null.
nextCursor string | null Pass it back as cursor, with the same post and commentId, to continue; paging never returns a reply twice across requests. Null at the end, and a finished list that matches the count ends with the note "There are no further replies to read." A response can hold fewer replies than asked; it then carries nextCursor and the note "This list stops early: the rest is not available in this response. Continue with nextCursor."
Request
curl -X POST "https://api.fetchlayer.dev/instagram/comment-replies" \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"post":"DcOX3hWFiey","commentId":"18041736590218845"}'Response
{
"transport": "instagram",
"notes": [
"More replies are available. Continue with nextCursor."
],
"pagesFetched": 1,
"shortcode": "DcOX3hWFiey",
"commentId": "18041736590218845",
"replies": [
{
"id": "17892230514162087",
"text": "Same here, that blue is unreal",
"kind": "text",
"mediaUrl": null,
"createdAt": "2026-09-16T18:02:41.000Z",
"likeCount": 1,
"replyCount": null,
"author": {
"id": "62240918735",
"username": "example.nightsky",
"fullName": null,
"profilePicUrl": "https://scontent-dus1-1.cdninstagram.com/v/t51.82787-19/...",
"verified": false,
"privateAccount": null,
"profileUrl": "https://www.instagram.com/example.nightsky/"
}
}
],
"replyCount": 8,
"totalCount": 23,
"hasMore": true,
"nextCursor": "r1.WyIxODA0MTczNjU5MDIxODg0NSIsIlFWRlNiR..."
}