/v1/comments"platform": "instagram"Instagram Comments API
The comments under one post.
The Instagram Comments API returns the comments under a public Instagram post: text, likes and time, in the same response format as every other SocialToAI call. One call costs 2 credits ($0.004 to $0.0067 depending on the pack); failed calls are free. Call it over HTTP or from your AI client over MCP. Last tested 2026-10-17.
Last updated:
Request and response
curl https://api.socialtoai.com/v1/comments \ -H "Authorization: Bearer $SOCIALTOAI_KEY" \ -H "Content-Type: application/json" \ -d '{ "platform": "instagram", "id": "DeCPVhERA8e" }'import osimport requestsresponse = requests.post( "https://api.socialtoai.com/v1/comments", headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"}, json={ "platform": "instagram", "id": "DeCPVhERA8e", },)print(response.json())# Connected over MCP? Ask in plain words.Read the comments under this Instagram post: DeCPVhERA8e# Your AI calls the comments tool with:{ "platform": "instagram", "id": "DeCPVhERA8e"}value{ "platform": "instagram", "status": "ok", "items": [ { "platform": "instagram", "id": "…", "ref": "…", "approx": [], "type": "comment", "url": null, "text": "…", "published_at": "2026-10-12T18:11:33.000Z", "author": { "label": "anonymous_1" }, "metrics": { "likes": 0 }, "reply_count": null, "content_id": null, "parent_id": null, "root_id": null } ], "unavailable": ["url", "reply_count", "content_id"], "page": { "has_more": true, "cursor": "cur_…", "cursor_expires_at": "2026-10-12T19:27:37.000Z" }, "cost_credits": 2}nullNames and text were removed from the sample; the numbers are as recorded.
5 parameters.
1 required.
Send them as a JSON body with POST. Your key goes in the Authorization header, never in the URL.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| platform | string | Required | — | Always "instagram" on this page. |
| id | string | One of these | — | The post's shortcode: the part of its link after /p/ or /reel/ |
| url | string | One of these | — | Web link to the post or reel |
| reply_of | string | Optional | — | When given, returns the replies under one comment (2 credits). |
| cursor | string | Optional | — | Pass page.cursor from the last response to get the next page. |
Where to get what you send.
idThe post's shortcode: the part of its link after /p/ or /reel/ (e.g. DeCPVhERA8e)
Every item these return carries its ref; send it as it is:
hashtag_postsHashtag postsuser_postsUser Posts
Or send the web link: the url field of the same items.
The fields of each item.
What Instagram cannot give is marked.
| Field | Type | Meaning |
|---|---|---|
| items[].url | stringalways null | A link to the comment, where the platform has one. |
| items[].text | string | The comment itself. |
| items[].published_at | string | When it was posted, ISO 8601 in UTC. |
| items[].author.label | string | An anonymous label, stable within one response. Whoever wrote it is never named. |
| items[].metrics.likes | integer | Likes. |
| items[].reply_count | integeralways null | How many replies it has. |
| items[].content_id | stringalways null | The item the comment is under. |
| items[].parent_id | string | The comment it replies to directly; null for a top-level comment. |
| items[].root_id | string | The top-level comment its thread hangs under. |
nullFields Instagram cannot giveRead null as “Instagram did not give this”, not as zero. These are always null on this call:
urlA link to the comment, where the platform has one.reply_countHow many replies it has.content_idThe item the comment is under.
Send the parameter and the call returns something else:
reply_ofthe replies under one comment2 creditsEvery item also has platform, id, ref, approx and type; the response around the items is the same on every call. Response format
What to expect.
1 call per second per key, 5 after a purchase; going over is not charged. Rate limits
A failed call costs 0 credits and is never retried on its own. Error codes
Once connected over MCP, these questions use it.
Read the comments under this Instagram post: DeCPVhERA8e
2 creditscomments {"platform":"instagram","id":"DeCPVhERA8e"}Get a page of the newest Instagram posts under a hashtag, by its name, about 33 a page: nasa, then for the first 3: read the comments under this Instagram post.
8 creditscall {"op":"instagram.hashtag_posts","id":"nasa"}comments {"platform":"instagram","id":"<ref>"} × 3
These ready-made tools call it when they run.
brand-buzzHow people feel about it on each platform, what comes up most, and the posts behind it
comment-insightsThe topics in their comments and how big each is, plus questions, buying intent and complaints
account-watchWhat each one posted lately, and which posts beat its usual numbers
creator-cardTheir accounts on other platforms, the numbers on each, and how sure the match is
The same call on other platforms.
All platforms and prices/v1/comments{ "platform": "instagram", "id": "DeCPVhERA8e" }2 creditsper call