# Instagram tools

> Accounts, posts, reels, comments and transcripts.

Public Instagram data. Each call costs what the data provider charges for it, and the cost line under each tool below gives the number. A question Instagram cannot answer has no tool, rather than a tool that returns nothing.

| Tool | What it does | Cost |
| --- | --- | --- |
| [`instagram_get_profile`](#instagram_get_profile) | Get an Instagram account | From 1 credit |
| [`instagram_get_posts`](#instagram_get_posts) | Get an account's posts | From 1 credit |
| [`instagram_get_reels`](#instagram_get_reels) | Get an account's reels | From 1 credit |
| [`instagram_get_post`](#instagram_get_post) | Get a post or reel | From 10 credits |
| [`instagram_get_comments`](#instagram_get_comments) | Get a post's comments | From 1 credit |
| [`instagram_search_posts`](#instagram_search_posts) | Search posts by hashtag | From 1 credit |
| [`instagram_get_transcript`](#instagram_get_transcript) | Get a reel's transcript | From 1 credit |

## `instagram_get_profile`: Get an Instagram account

One Instagram account: followers, posts and whether it is a business account.

**Use when:** sizing a creator or a brand, checking a handle, reading a bio and its link before outreach.

**Not for:** the account's posts, use [`instagram_get_posts`](https://www.manifoldmcp.com/docs/tools/instagram#instagram_get_posts) or [`instagram_get_reels`](https://www.manifoldmcp.com/docs/tools/instagram#instagram_get_reels). Posts by topic, use [`instagram_search_posts`](https://www.manifoldmcp.com/docs/tools/instagram#instagram_search_posts).

**Returns:** Record. platform, kind, id, handle, name, url, bio, verified, followers, following, `posts_count`, likes, views, location, website, employees, industry, `created_at`. A field the platform does not publish is null. kind is company for a business account.

**Cost:** 1 credit. Cached 24 hours.

| Parameter | Default and notes |
| --- | --- |
| `handle` | Required, with or without the @ |

Also takes `provider`, `max_credits`, `dry_run`: see [common parameters](https://www.manifoldmcp.com/docs/tools#common-parameters).

```json
{
  "handle": "gymshark"
}
```

## `instagram_get_posts`: Get an account's posts

The posts on one Instagram account, newest first.

**Use when:** "what has this account been posting", judging cadence and engagement before a partnership.

**Not for:** reels only, use [`instagram_get_reels`](https://www.manifoldmcp.com/docs/tools/instagram#instagram_get_reels). One post in full, use [`instagram_get_post`](https://www.manifoldmcp.com/docs/tools/instagram#instagram_get_post). Posts by hashtag, use [`instagram_search_posts`](https://www.manifoldmcp.com/docs/tools/instagram#instagram_search_posts).

**Returns:** List, one page per call. `rows[]`: platform, id, url, author, `author_name`, `created_at`, text (cut at 2000 characters), likes, comments, shares, views, media, `duration_s`, `is_ad`. A number the platform does not publish is null. meta.cursor pages the next set.

**Cost:** 1 credit per page. Cached 6 hours.

| Parameter | Default and notes |
| --- | --- |
| `handle` | Required |

Also takes `cursor`, `provider`, `max_credits`, `dry_run`: see [common parameters](https://www.manifoldmcp.com/docs/tools#common-parameters).

```json
{
  "handle": "gymshark"
}
```

## `instagram_get_reels`: Get an account's reels

The reels on one Instagram account, newest first.

**Use when:** video is what matters: watching a brand's reel cadence, pulling a creator's recent reels.

**Not for:** every post type, use [`instagram_get_posts`](https://www.manifoldmcp.com/docs/tools/instagram#instagram_get_posts). What is said in a reel, use [`instagram_get_transcript`](https://www.manifoldmcp.com/docs/tools/instagram#instagram_get_transcript).

**Returns:** List, one page per call. `rows[]`: platform, id, url, author, `author_name`, `created_at`, text (cut at 2000 characters), likes, comments, shares, views, media, `duration_s`, `is_ad`. A number the platform does not publish is null. meta.cursor pages the next set.

**Cost:** 1 credit per page. Cached 6 hours.

| Parameter | Default and notes |
| --- | --- |
| `handle` | Required |

Also takes `cursor`, `provider`, `max_credits`, `dry_run`: see [common parameters](https://www.manifoldmcp.com/docs/tools#common-parameters).

```json
{
  "handle": "gymshark"
}
```

## `instagram_get_post`: Get a post or reel

One Instagram post or reel with its caption and its engagement.

**Use when:** a row is worth the detail, or you have a URL and nothing else.

**Not for:** the comments, use [`instagram_get_comments`](https://www.manifoldmcp.com/docs/tools/instagram#instagram_get_comments). What is said in a reel, use [`instagram_get_transcript`](https://www.manifoldmcp.com/docs/tools/instagram#instagram_get_transcript).

**Returns:** Record. `rows[]`: platform, id, url, author, `author_name`, `created_at`, text (cut at 2000 characters), likes, comments, shares, views, media, `duration_s`, `is_ad`. A number the platform does not publish is null.

**Cost:** 10 credits when the vendor has to fetch the media, 1 when it does not. The estimate is the higher one. Cached 6 hours.

| Parameter | Default and notes |
| --- | --- |
| `url` | Required, the post or reel URL |

Also takes `provider`, `max_credits`, `dry_run`: see [common parameters](https://www.manifoldmcp.com/docs/tools#common-parameters).

```json
{
  "url": "https://www.instagram.com/p/DKSMEpKRd6h/"
}
```

## `instagram_get_comments`: Get a post's comments

The comments on one Instagram post or reel.

**Use when:** reading what an audience said, finding the questions a product post keeps getting.

**Not for:** the post itself, use [`instagram_get_post`](https://www.manifoldmcp.com/docs/tools/instagram#instagram_get_post). Comments across many posts, which Instagram does not offer.

**Returns:** List, one page per call. `rows[]`: platform, id, `post_id`, author, `created_at`, text (cut at 2000 characters), likes, replies, depth. depth is 1 for a reply, and replies only come back when you ask for them.

**Cost:** 1 credit per page, or 15 with `include_replies`. Cached 6 hours.

| Parameter | Default and notes |
| --- | --- |
| `url` | Required |
| `include_replies` | False; true costs 15 credits and is charged even when no reply comes back, because the vendor looks up every comment separately |

Also takes `cursor`, `provider`, `max_credits`, `dry_run`: see [common parameters](https://www.manifoldmcp.com/docs/tools#common-parameters).

```json
{
  "url": "https://www.instagram.com/p/DKSMEpKRd6h/"
}
```

## `instagram_search_posts`: Search posts by hashtag

Instagram posts under one hashtag.

**Use when:** "who is posting about X on Instagram", watching a campaign hashtag or a product tag.

**Not for:** free-text search (Instagram search is by hashtag here). One account's posts, use [`instagram_get_posts`](https://www.manifoldmcp.com/docs/tools/instagram#instagram_get_posts).

**Returns:** List, one page per call, ranked by Instagram. `rows[]`: platform, id, url, author, `author_name`, `created_at`, text (cut at 2000 characters), likes, comments, shares, views, media, `duration_s`, `is_ad`. A number the platform does not publish is null. meta.cursor pages the next set.

**Cost:** 1 credit per page. Cached 6 hours.

| Parameter | Default and notes |
| --- | --- |
| `query` | Required, the hashtag, with or without the # |
| `since` | "day" \| "week" \| "month" \| "year" \| "all", default month |

Also takes `cursor`, `provider`, `max_credits`, `dry_run`: see [common parameters](https://www.manifoldmcp.com/docs/tools#common-parameters).

```json
{
  "query": "#gymshark",
  "since": "week"
}
```

## `instagram_get_transcript`: Get a reel's transcript

What is said out loud in one Instagram reel, as text.

**Use when:** reading a reel without watching it, pulling the claims out of a creator's video.

**Not for:** the caption, which [`instagram_get_post`](https://www.manifoldmcp.com/docs/tools/instagram#instagram_get_post) already returns. The numbers, use [`instagram_get_post`](https://www.manifoldmcp.com/docs/tools/instagram#instagram_get_post).

**Returns:** Record. platform, url, language, text (the full transcript, uncut). NoData when the reel carries no speech. The vendor transcribes reels up to two minutes long; a longer one is refused as InvalidTarget with the reason.

**Cost:** 1 credit. Cached 30 days.

| Parameter | Default and notes |
| --- | --- |
| `url` | Required |
| `language` | Optional |

Also takes `provider`, `max_credits`, `dry_run`: see [common parameters](https://www.manifoldmcp.com/docs/tools#common-parameters).

```json
{
  "url": "https://www.instagram.com/reel/DKSMEpKRd6h/"
}
```

