# List the comments on an Instagram post

Returns an Instagram post's top-level comments, with author, likes and reply count, a page at a time. Use it to read how an audience reacts to a post.

Tool `instagram.post.comments` on Instagram. Contract version 1, released 2026-11-01.

## Example call

Over REST, send the input in the body. Over MCP, pass the same input to `call_tool`.

cURL:

```bash
curl https://api.voxoria.ai/v1/tools/instagram.post.comments/calls \
  -H "Authorization: Bearer $VOXORIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"shortcode":"DfISRt1vadT"}}'
```

Python:

```python
import os

import httpx

response = httpx.post(
    "https://api.voxoria.ai/v1/tools/instagram.post.comments/calls",
    headers={"Authorization": f"Bearer {os.environ['VOXORIA_API_KEY']}"},
    json={"input": {"shortcode": "DfISRt1vadT"}},
    timeout=60,
)
print(response.json())
```

TypeScript:

```ts
const response = await fetch("https://api.voxoria.ai/v1/tools/instagram.post.comments/calls", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.VOXORIA_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"input": {"shortcode": "DfISRt1vadT"}}),
});
console.log(await response.json());
```

MCP (`tools/call` params):

```json
{
  "name": "call_tool",
  "arguments": {
    "tool": "instagram.post.comments",
    "input": {
      "shortcode": "DfISRt1vadT"
    }
  }
}
```

Both return [the full response](/docs/call-response.md): the call's ID, status and cost, with this tool's result in `output`.

## Input

| Input | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `shortcode` | string | Yes |  | The code in the post's address, https://www.instagram.com/p/ followed by it. Take it from posts.shortcode of instagram.user.posts. Matches `^[0-9A-Za-z_-]{1,12}$`. |
| `next_page_token` | string | No |  | Fetches the next page. Take it from pagination.next_page_token of the previous page, and send the same shortcode. |

## Output

A successful call returns these blocks in its `output`. A field not marked required can be `null`.

### comments

A list of rows. Always present, possibly empty. The post's top-level comments, in Instagram's own order; replies are not included.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | Yes | Instagram's identifier of the comment. |
| `text` | string | No | What the comment says. |
| `published_at` | string | No | When the comment was posted, in ISO 8601. |
| `author_id` | string | No | Instagram's numeric identifier of the author, as a string. |
| `author_username` | string | No | The author's handle, without the @. |
| `author_name` | string | No | The author's display name. |
| `author_image_url` | string | No | Address of the author's profile picture. Instagram's media addresses expire. |
| `author_verified` | boolean | No | Whether Instagram marks the author as verified. |
| `like_count` | integer | No |  |
| `reply_count` | integer | No |  |

### pagination

One object. Can be `null`. How to fetch the next page. Null on the last page.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `next_page_token` | string | Yes | Send as next_page_token to fetch the next page. |

## Example output

The `output` of a real call, each list cut to 3 items.

```json
{
  "comments": [
    {
      "id": "18075832364572641",
      "text": "❤️❤️❤️",
      "published_at": "2026-10-30T19:11:06Z",
      "author_id": "21488359905",
      "author_username": "kabootar.as",
      "author_name": "کبوتران رضاقدمی",
      "author_image_url": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-19/711845510_18131002624719906_7964770417782435733_n.jpg?stp=dst-jpg_e0_s150x150_tt6&_nc_cat=103&ig_cache_key=GIbmbSoiPN4CDWpAAJUvdu1_jIhubmNDAQAB1501500j-ccb7-5&ccb=7-5&_nc_sid=669407&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy4xMDgwLkMzIn0%3D&_nc_ohc=gYjZTqQEcNcQ7kNvwEwoL-W&_nc_oc=AdpZk-Q-55SaRGIz2niL5dQ5Hnq1kB41vpfjgnpbGlB4zP2FHGBLGzIrLY4dSU0LVL4&_nc_ad=z-m&_nc_cid=0&_nc_zt=24&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_gid=Y-PUQuSIFV3buvaSs1VX4A&_nc_ss=723ba&oh=00_AQTgY3qYs7lTievkt3iUidz_lqH3u-kGEmfHnPpnX-LIRw&oe=6AECD8B7",
      "author_verified": false,
      "like_count": 57,
      "reply_count": 1
    },
    {
      "id": "18148958167851555",
      "text": "❤️❤️❤️❤️❤️❤️❤️❤️",
      "published_at": "2026-10-30T19:04:26Z",
      "author_id": "64605410652",
      "author_username": "manvi_boutiqe_bahadurgh",
      "author_name": "🇮🇳मानवी बुटीक बहादुर गढ़🇮🇳",
      "author_image_url": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-19/825323610_17971974519154653_476446740488625373_n.jpg?stp=dst-jpg_e0_s150x150_tt6&_nc_cat=105&ig_cache_key=GFpwMTHdZyBlatk-AN2cN0HJrZwGbmNDAQAB1501500j-ccb7-5&ccb=7-5&_nc_sid=669407&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy4xMDgwLkMzIn0%3D&_nc_ohc=3urPF690PugQ7kNvwEt1ucH&_nc_oc=AdpduZQ7JFT5QEDcZ5MszCQLb41Uw00AgR0zInwVUkPbme5MGoH5DI8TN2Dhyms0uDk&_nc_ad=z-m&_nc_cid=0&_nc_zt=24&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_gid=Y-PUQuSIFV3buvaSs1VX4A&_nc_ss=723ba&oh=00_AQRJLDiRf26nnYs159WWgoYmBCPJeIUUJi8MjyKD92INfw&oe=6AECA7C7",
      "author_verified": false,
      "like_count": 89,
      "reply_count": 3
    },
    {
      "id": "17926825881200615",
      "text": "🔥🔥🔥🔥😍😍😍😍",
      "published_at": "2026-10-30T19:09:43Z",
      "author_id": "49203643329",
      "author_username": "leila___bh_",
      "author_name": "🍓لـــــیــــLElــــلا🍓",
      "author_image_url": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-19/782191750_18090558575643330_6960464578271812965_n.jpg?stp=dst-jpg_e0_s150x150_tt6&_nc_cat=110&ig_cache_key=GIZMny7CirBlREVAAGWdlOOniZhgbmNDAQAB1501500j-ccb7-5&ccb=7-5&_nc_sid=669407&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy4xMDgwLkMzIn0%3D&_nc_ohc=bhtDCMnbZugQ7kNvwF3Mvmt&_nc_oc=AdppRDU2Brk1MdyDdi5kBexXzuqjXwLtRqkGzRRw1fK1t6cU3_EyJ7fxaVWqG7-foLg&_nc_ad=z-m&_nc_cid=0&_nc_zt=24&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_gid=Y-PUQuSIFV3buvaSs1VX4A&_nc_ss=723ba&oh=00_AQSLwRCqt_kJ6LlVvHWv029qcDKeECMgs-HLIRJR1r959w&oe=6AECC2E8",
      "author_verified": false,
      "like_count": 60,
      "reply_count": 2
    }
  ],
  "pagination": {
    "next_page_token": "pt1.dGlraHViLWluc3RhZ3JhbS12MjpJazFYQkJvVEV4dGJmVUpEUmdwVEUxVWViQjlCUUVNZlZTdGVOVjVYQ3cwc1B3UkNObTRHQ3hvckh4VkpWMmtNVkE5UkZSTVlHR3NzSlI0VEZpUVVDMzB6UjBCTUp4RmZHalVIVVJzNkZoc1RNVHcyWGpaWkExc25Dd2d3QXpKVkFFUWVIbHN6U1FnRENBTVpFVUVyTFJjcUJERUdPRU1iRFZVQlNoQTlOUndkQ2hraktpWXZMU2N6Q2kwdk1DWXdNQ2NjRFRFMEpTWW5KVFF4SFNFbk5DUVlNRDhwQ2pFbkxTd21LeU1uQ2gwZ0NnTWhQem93Smh3Nk9DWXhJQ2N3SlFvbUl6SXhNVElpSmdvME1DUWpNU2M0QkEwaU1EbzdNRDAwTVIwSkp5YzZKaEk5SXpFSkxTNHdKalV3SkNJZElRb2JKaVlsTkRFY0lpY3hOQ1V3S3owMER5Y3BMQ1VxSWljS0hUQTNQVEVyQkE0MkhUbzdKekVqSnpFMUNTWW5JZzhaSXpBdU9TZy1JeklLUGlzaklpYzBOQ1lOTlNzaE1USW1OQ0lWTVNNak1EVTBQeWtWTlRBcEx5WTVKelFORGpRbk9TRV9KVFExQ1RrNE5Ea3dJQ014R1NJek5pNDFJVGNsRGlZNE5DUWlJeXMtRGlJdlBpd2xMakFqR1JrZ01DNDFLRDBqSWc0Nk96TWlKemcwSlE0MUp5RTFJall3SWhreEp5TThOVGM4S1JrMU5Da19JajAzTkFvT05DYzVJajhwTkRVWktUd3dGekFqSXhzWklqQW1JalVoSzBJT1BqUkNMRkV2VHowcVBoYzRGeGMzTXhNb09qMURIMEliVFJFRlBSdFVCaEFESUFZVlpTbFVFVVl1QlRrQkZoa3FMUjBjS3dNSWZTdFVCRlUtQ3pBQUVqbzdGU1VIUEJzc0NDOVZKRkE1UWhCUVBUWVhFa2s3QndSVUhnVWVRMUFVVVZ4Vk5XZ01YVFpMUFY0b1J5dHRPMVZTVVIxTk9oUTRUUjFYQ0E"
  }
}
```
