Comments
Get an Instagram post's comments, newest first.
GET | POST /v1/instagram/commentsSend parameters as a query string with GET, or as a JSON body with POST. Both are equivalent.
What to Pass
| Pass | Reads | Notes |
|---|---|---|
post | The post's comments, newest first | Comments by the post's owner carry ext.byAuthor: true |
Pass one source per call. Every identifier also takes the page URL.
Parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
cursor | string | Opaque cursor from the previous page's cursor. Pass it alone for the next page. | |
post | string | The post's comments: shortcode or URL. | |
sort | enum | recent (newest first) — the only order Instagram serves logged-out visitors. recent |
Request
curl "https://gateway.apinoa.com/v1/instagram/comments?post=DeuOR-CjKE9" \
-H "x-api-key: $APINOA_API_KEY"Response
Returns Page of Comment in data. A real response, shortened: arrays keep their first entries and long text is cut.
{
"success": true,
"data": {
"platform": "instagram",
"items": [
{
"platform": "instagram",
"id": "18064044170629629",
"postId": "4012207125530714429",
"author": {
"platform": "instagram",
"id": "14838741487",
"handle": "siliconheistofficial",
"url": "https://www.instagram.com/siliconheistofficial/",
"avatarUrl": "https://scontent-sjc3-1.cdninstagram.com/v/t51.82787-19/858283466_18167394880493488_2539987097808111411_n.jpg?stp=dst-j…"
},
"text": "😍😍😍",
"replies": [],
"createdAt": "2026-10-24T15:33:20.000Z",
"metrics": {
"likes": 0
},
"ext": {
"pk": "18064044170629629"
}
}
],
"cursor": "f8fJMiwSzgxGX8VNfbO2xxsPLzg-8JzdiZNSgNSuyKhQyJ_pNo3cStYvMgP0ebn7Xt6JX7yuOuLtwpFDh4NxyXYBp_P8VuA_QRBUc5WDnTjUF8DvspPFsQ3…"
}
}Errors
| Status | Code | Meaning |
|---|---|---|
| 400 | INVALID_CURSOR | The cursor is not one this operation returned. Start again without it. |
| 400 | INVALID_PARAMS | A parameter is missing, unknown or out of range. The message names it. |
| 401 | UNAUTHORIZED | The x-api-key header is missing, or the key is revoked or unknown. |
| 402 | INSUFFICIENT_BALANCE | The balance does not cover this call. Top up in the dashboard. |
| 404 | NOT_FOUND | The account, post or group does not exist, or is private, deleted or age-restricted. |
| 429 | MARKETPLACE_SATURATED | Too many concurrent calls. Retry after the Retry-After seconds. |
| 502 | UPSTREAM_ERROR | The platform answered with something unusable. Retry with backoff. |
Every code is listed in Errors. Failed calls are not billed.
Pricing
Price $0.001 per call. List price; the rate steps down above 1,000 calls a day.
Notes
- Newest first is the only order (
sort=recent). Instagram ranks comments by popularity only for signed-in viewers. - An age-restricted post answers
404 NOT_FOUNDwith the reason; Instagram does not show it to logged-out visitors.