> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ScrapeCreators: Instagram User Reels

> Returns a paginated list of a user's public Instagram reels (short-form videos). Includes inputs, outputs, SDK V2 examples, and Deepline cost.

Returns a paginated list of a user's public Instagram reels (short-form videos).

> [!NOTE]
>
> Tool ID: `scrapecreators_instagram_user_reels`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'scrapecreators_instagram_user_reels',
  {
    "user_id": "user_123",
    "handle": "example",
    "require_play_counts": false
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute scrapecreators_instagram_user_reels --input '{
  "user_id": "user_123",
  "handle": "example",
  "require_play_counts": false
}' --json
```

## Example response

The static output schema lacks the details for a reliable example. Use `deepline describe scrapecreators_instagram_user_reels --json` for the complete live contract.

## Input reference

Returns a paginated list of a user's public Instagram reels (short-form videos). Each reel includes its shortcode, play count, like count, comment count, video versions with download URLs, thumbnail image, owner info, and the published time in `items[].media.created_at` as an ISO 8601 UTC date. With `trim=true`, use `items[].created_at`. The original Unix timestamp remains available as `taken_at`. Note that reel captions are not returned by this endpoint. Play counts are Instagram-only views and exclude cross-posted Facebook views. Supports cursor-based pagination via max\_id. providing a user\_id instead of a handle yields faster responses. Pinned reels are not included. Use the post detail endpoint to get reel captions. Play counts can sometimes be inaccurate.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.user_id` | `string` | No | — | Instagram user id. Use this for faster response times. |
| `payload.handle` | `string` | No | — | Instagram handle. Use user\_id for faster response times. |
| `payload.require_play_counts` | `boolean` | No | `false` | Only the literal query value 'true' enables this check. It requires a numeric, nonnegative play\_count on every returned Reel, in both full responses (items\[].media.play\_count) and trim=true responses (items\[].play\_count). A real 0 is valid. A missing, null, nonnumeric or negative play\_count returns HTTP 503 without charging credits instead of a paid partial success. It does not require ig\_play\_count or view counts. With the default false, counts remain best-effort: usable reels are still See the live schema for the complete constraint. |
| `payload.trim` | `boolean` | No | — | Set to true for a trimmed down version of the response |
| `payload.max_id` | `string` | No | — | Max id to get more reels. Get 'max\_id' from previous response. |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Returns a paginated list of a user's public Instagram reels (short-form videos). Each reel includes its shortcode, play count, like count, comment count, video versions with download URLs, thumbnail image, owner info, and the published time in `items[].media.created_at` as an ISO 8601 UTC date. With `trim=true`, use `items[].created_at`. The original Unix timestamp remains available as `taken_at`. Note that reel captions are not returned by this endpoint. Play counts are Instagram-only views and exclude cross-posted Facebook views. Supports cursor-based pagination via max_id; providing a user_id instead of a handle yields faster responses. Pinned reels are not included. Use the post detail endpoint to get reel captions. Play counts can sometimes be inaccurate.",
    "properties": {
      "user_id": {
        "type": "string",
        "description": "Instagram user id. Use this for faster response times."
      },
      "handle": {
        "type": "string",
        "description": "Instagram handle. Use user_id for faster response times."
      },
      "require_play_counts": {
        "type": "boolean",
        "description": "Only the literal query value 'true' enables this check. It requires a numeric, nonnegative play_count on every returned Reel, in both full responses (items[].media.play_count) and trim=true responses (items[].play_count); a real 0 is valid. A missing, null, nonnumeric or negative play_count returns HTTP 503 without charging credits instead of a paid partial success. It does not require ig_play_count or view counts. With the default false, counts remain best-effort: usable reels are still billable even with missing play counts. This checks presence and numeric validity; it does not guarantee count accuracy or agreement with Instagram Insights. Retrying does not guarantee that Instagram will return the missing counts. [Why counts can be missing](https://scrapecreators.com/blog/instagram-play-counts-missing).",
        "default": false
      },
      "trim": {
        "type": "boolean",
        "description": "Set to true for a trimmed down version of the response"
      },
      "max_id": {
        "type": "string",
        "description": "Max id to get more reels. Get 'max_id' from previous response."
      }
    },
    "required": [],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `unknown` | Yes | — | Provider response payload. |
| `result.meta` | `object` | No | — | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "description": "Provider response payload."
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0.02` per pricing unit.

## Related documentation

* [ScrapeCreators provider guide](https://deepline.com/docs/providers/scrapecreators/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.