# List an Instagram user's reels

Returns an Instagram user's reels, with caption, date, plays and engagement counts, a page at a time. Use it to follow an account's short videos.

Tool `instagram.user.reels` 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.user.reels/calls \
  -H "Authorization: Bearer $VOXORIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"user_id":"25025320"}}'
```

Python:

```python
import os

import httpx

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

TypeScript:

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

MCP (`tools/call` params):

```json
{
  "name": "call_tool",
  "arguments": {
    "tool": "instagram.user.reels",
    "input": {
      "user_id": "25025320"
    }
  }
}
```

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 |
| --- | --- | --- | --- | --- |
| `user_id` | string | Yes |  | Instagram's numeric identifier of the user. Take it from user.id of instagram.user.profile. Matches `^[0-9]+$`. |
| `next_page_token` | string | No |  | Fetches the next page. Take it from pagination.next_page_token of the previous page, and send the same user_id. |

## Output

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

### reels

A list of rows. Always present, possibly empty.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | Yes | Instagram's numeric identifier of the post, as a string. |
| `shortcode` | string | No | The code in the post's address, https://www.instagram.com/p/ followed by it. instagram.post.comments takes it as shortcode. |
| `text` | string | No | The post's caption, hashtags and mentions included. |
| `published_at` | string | No | When the post was published, in ISO 8601. |
| `preview_image_url` | string | No | Address of the post's cover image. Instagram's media addresses expire. |
| `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. |
| `view_count` | integer | No | Number of times the video was played. |
| `like_count` | integer | No |  |
| `comment_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
{
  "reels": [
    {
      "id": "4019543049716475731",
      "shortcode": "DfISRt1vadT",
      "text": "For designer @____t_a_t_a___, nature is the ultimate muse — unpredictable, strange, textured, and “beautiful and unsettling at the same time.”⁣\n⁣\nHer process mirrors nature. Every piece is made freehand, through improvisation and instinct, allowing “the process to unfold naturally rather than deciding what the final result should look like.”⁣\n⁣\nVideo by @____t_a_t_a___",
      "published_at": "2026-10-30T19:03:00Z",
      "preview_image_url": "https://scontent-cdg4-2.cdninstagram.com/v/t51.82787-15/878317659_1887848319040629_8277088910220197266_n.jpg?stp=c0.350.898.898a_dst-jpg_e15_tt6&_nc_ht=scontent-cdg4-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gHKxfUA7ewg60NHCOS-kA63H3KAfYS4IfmBnKG8fCTxfHDA53_c7nKVubBARD-8MEI&_nc_ohc=xkuK4suQ-bcQ7kNvwFMepUx&_nc_gid=Ui5kTnMusNTj-sxuWoJWUw&edm=ACHbZRIBAAAA&ccb=7-5&oh=00_AQScOqgyak5ANQv2aqMaNW8UZG05ElsU5Rcx-OOiD5i81A&oe=6AECA915&_nc_sid=c024bc",
      "author_id": "25025320",
      "author_username": "instagram",
      "author_name": "Instagram",
      "author_image_url": "https://scontent-cdg4-2.cdninstagram.com/v/t51.82787-19/550891366_18667771684001321_1383210656577177067_n.jpg?stp=dst-jpg_e0_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-cdg4-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gEmNDRb-VWhcv55bw-ej6_sJLA9bH3c-AcpthHRDcdx6cgEyCSBnyfFqY-MRn5vdAk&_nc_ohc=66LSj1-kS_YQ7kNvwFL6eHm&_nc_gid=Ui5kTnMusNTj-sxuWoJWUw&edm=ACHbZRIBAAAA&ccb=7-5&oh=00_AQQeeaamo2KcpiDPyAZKbGBRneE63gdHy8l8juC39Ss3Yg&oe=6AECB2A7&_nc_sid=c024bc",
      "author_verified": true,
      "view_count": 56097251,
      "like_count": 223848,
      "comment_count": 9564
    },
    {
      "id": "4019455579821572664",
      "shortcode": "DfH-Y3JugI4",
      "text": "making a spider with nothing but sunlight ☀️🔎⁣\n⁣\n#InTheMoment \n\nVideo by @solar_pyro_g\n\nMusic by @toolmusic",
      "published_at": "2026-10-30T16:10:34Z",
      "preview_image_url": "https://scontent-cdg4-2.cdninstagram.com/v/t51.82787-15/877604861_2214924186113798_8542242291337175061_n.jpg?stp=c0.472.1215.1215a_dst-jpg_e35_s1080x1080_sh2.08_tt6&_nc_ht=scontent-cdg4-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gGkEDk52XEeEyV8C02B54wl5JFBtZFQ6DOvE7eR72uJwm_LqBQZz-5CySPxbYBZBZA&_nc_ohc=JXjZJ9gnaQsQ7kNvwElXkAZ&_nc_gid=Ui5kTnMusNTj-sxuWoJWUw&edm=ACHbZRIBAAAA&ccb=7-5&oh=00_AQRY9je7rWUSgIABC4-6uj4gtpdLJ1b-cZRow_4jKOuy8Q&oe=6AECB717&_nc_sid=c024bc",
      "author_id": "25025320",
      "author_username": "instagram",
      "author_name": "Instagram",
      "author_image_url": "https://scontent-cdg4-2.cdninstagram.com/v/t51.82787-19/550891366_18667771684001321_1383210656577177067_n.jpg?stp=dst-jpg_e0_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-cdg4-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gEmNDRb-VWhcv55bw-ej6_sJLA9bH3c-AcpthHRDcdx6cgEyCSBnyfFqY-MRn5vdAk&_nc_ohc=66LSj1-kS_YQ7kNvwFL6eHm&_nc_gid=Ui5kTnMusNTj-sxuWoJWUw&edm=ACHbZRIBAAAA&ccb=7-5&oh=00_AQQeeaamo2KcpiDPyAZKbGBRneE63gdHy8l8juC39Ss3Yg&oe=6AECB2A7&_nc_sid=c024bc",
      "author_verified": true,
      "view_count": 131761299,
      "like_count": 828433,
      "comment_count": 6685
    },
    {
      "id": "4018698784308950258",
      "shortcode": "DfFSUCaB3Ty",
      "text": "Meet one of this year’s Rings judges 💍⁣\n⁣\nWe asked @finneas what he looked for in the Rings ‘26 Winners. His answer:⁣\n“There’s an inherent level of embarrassment you have to grapple with to put yourself out there over and over. I admire all of these people for getting over that stumbling block.” See the full list of winners now on @creators.",
      "published_at": "2026-10-29T15:06:07Z",
      "preview_image_url": "https://scontent-cdg4-2.cdninstagram.com/v/t51.82787-15/874408723_2175167753385411_3366229135473203371_n.jpg?stp=c0.420.1080.1080a_dst-jpg_e15_fr_s1080x1080_tt6&_nc_ht=scontent-cdg4-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gGPSp99GvIxWpvoqZF2UVcU81MCec-wtRD778W6nRhKEtEhLBtXSe-MZY7fui01NUw&_nc_ohc=biUHFRnYGzQQ7kNvwH5avLK&_nc_gid=Ui5kTnMusNTj-sxuWoJWUw&edm=ACHbZRIBAAAA&ccb=7-5&oh=00_AQQO5jG15Jqlv1jIGdW9L378PLjzqaK116HWlBsFTSrJSw&oe=6AECB7C6&_nc_sid=c024bc",
      "author_id": "25025320",
      "author_username": "instagram",
      "author_name": "Instagram",
      "author_image_url": "https://scontent-cdg4-2.cdninstagram.com/v/t51.82787-19/550891366_18667771684001321_1383210656577177067_n.jpg?stp=dst-jpg_e0_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-cdg4-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gEmNDRb-VWhcv55bw-ej6_sJLA9bH3c-AcpthHRDcdx6cgEyCSBnyfFqY-MRn5vdAk&_nc_ohc=66LSj1-kS_YQ7kNvwFL6eHm&_nc_gid=Ui5kTnMusNTj-sxuWoJWUw&edm=ACHbZRIBAAAA&ccb=7-5&oh=00_AQQeeaamo2KcpiDPyAZKbGBRneE63gdHy8l8juC39Ss3Yg&oe=6AECB2A7&_nc_sid=c024bc",
      "author_verified": true,
      "view_count": 49506499,
      "like_count": 210740,
      "comment_count": 7781
    }
  ],
  "pagination": {
    "next_page_token": "pt1.dGlraHViOlFWRkViVkZvYXpsdFZWY3laSGhsYUhkWlRWTmlSa3BFZVY5eU1XMU9VbGh0Ynpack9HNWFhMVJXVnkxbWExRlNOa3hOT0cxaFRqVjNOVFF3WVVOV2VVWmxSbWcwVTJoa05ITmpkMU5sZVROd1lWRXdOMDFGZUE9PQ"
  }
}
```
