Tools

Instagram tools

Read Instagram accounts, posts, reels, comments and transcripts from your agent: each tool's parameters, what it returns and what it costs.

Read public Instagram accounts, posts, reels and comments, and the transcripts of reels. To size up a creator or a brand, start with instagram_get_profile, then their posts or reels. To see who is posting about a topic, search a hashtag with instagram_search_posts.

Each call costs what the data provider charges for it, and each tool below gives its cost. If Instagram has no way to answer a question, such as free-text search, there is no tool for it.

To connect these tools to your agent, see the Instagram MCP page.

ToolWhat it doesCost
instagram_get_profileGet an Instagram accountFrom 1 credit
instagram_get_postsGet an account's postsFrom 1 credit
instagram_get_reelsGet an account's reelsFrom 1 credit
instagram_get_postGet a post or reelFrom 10 credits
instagram_get_commentsGet a post's commentsFrom 1 credit
instagram_search_postsSearch posts by hashtagFrom 1 credit
instagram_get_transcriptGet a reel's transcriptFrom 1 credit

Get an Instagram account

Toolinstagram_get_profile

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

Good for

Sizing a creator or a brand, checking a handle, reading a bio and its link before outreach.

Not the tool for
What you get

One record. The account's handle, name, bio, verified, followers, following, website, links (its other bio links), email and phone (a business account's public contact buttons) and related (accounts Instagram suggests beside it), with other profile fields where Instagram fills them. null or empty = the platform does not publish it. posts_count is null: a signed-out visitor is shown 12 posts whatever the account has, so count posts from instagram_get_posts. kind is company only when Instagram flags a business account; many brands use a creator-style professional account and read person, so judge a brand by industry and bio.

Cost

1 credit. Cached 24 hours.

Parameters

ParameterDefault and notes
handleThe account's handle, with or without the @.

It also takes the common parameters max_credits and dry_run.

Example input
{
  "handle": "gymshark"
}

Get an account's posts

Toolinstagram_get_posts

The posts on one Instagram account, newest first.

Good for

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

Not the tool for
What you get

A list. Each row has posts with author and author_followers, created_at, text (cut at 2000 characters), likes, comments, shares, saves, views, media, duration_s, links, transcript and top_comments[], plus collaborators (co-authors) and tagged (the accounts tagged in the media). null or empty = the platform does not publish it. likes is null when the owner hides like counts.

Cost

1 credit per page. Cached 6 hours.

Parameters

ParameterDefault and notes
handleThe account's handle, with or without the @.

It also takes the common parameters cursor, max_credits and dry_run.

Example input
{
  "handle": "gymshark"
}

Get an account's reels

Toolinstagram_get_reels

The reels on one Instagram account, newest first.

Good for

Video is what matters: watching a brand's reel cadence, pulling a creator's recent reels.

Not the tool for
What you get

A list. Each row has reels with author and author_followers, created_at, text (cut at 2000 characters), likes, comments, shares, saves, views, media, duration_s, links, transcript and top_comments[], plus collaborators (co-authors), tagged (the accounts tagged in the media) and music (the audio). null or empty = the platform does not publish it. likes is null when the owner hides like counts.

Cost

1 credit per page. Cached 6 hours.

Parameters

ParameterDefault and notes
handleThe account's handle, with or without the @.

It also takes the common parameters cursor, max_credits and dry_run.

Example input
{
  "handle": "gymshark"
}

Get a post or reel

Toolinstagram_get_post

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

Good for

A row is worth the detail, or you have a URL and nothing else.

Not the tool for
What you get

One record with Each row has the one post, with author and author_followers, created_at, text (cut at 2000 characters), likes, comments, shares, saves, views, media, duration_s, links, transcript and top_comments[]. top_comments are the first comments, author_followers the owner's following, and is_ad is true for a paid partnership. null or empty = the platform does not publish it. likes is null when the owner hides like counts.

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.

Parameters

ParameterDefault and notes
urlRequired. The full URL of an Instagram post or reel.

It also takes the common parameters max_credits and dry_run.

Example input
{
  "url": "https://www.instagram.com/p/DKSMEpKRd6h/"
}

Get a post's comments

Toolinstagram_get_comments

The comments on one Instagram post or reel.

Good for

Reading what an audience said, finding the questions a product post keeps getting.

Not the tool for
  • The post itself, use instagram_get_post.
  • Comments across many posts, which Instagram does not offer.
What you get

A list. Each row has one comment each: author, created_at, text (cut at 2000 characters), likes, replies, parent_id (the comment a reply answers) and depth (1 for a reply). Replies only come back when you ask for them.

Cost

1 credit per page, or 15 with include_replies. Cached 6 hours.

Parameters

ParameterDefault and notes
urlRequired. The full URL of an Instagram post or reel.
include_repliesDefault false. Also fetch the replies under each comment. Costs 15 credits, charged even when there are none.

It also takes the common parameters cursor, max_credits and dry_run.

Example input
{
  "url": "https://www.instagram.com/p/DKSMEpKRd6h/"
}

Search posts by hashtag

Toolinstagram_search_posts

Instagram posts under one hashtag.

Good for

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

Not the tool for
  • Free-text search (Instagram search is by hashtag here: a phrase is run together into one tag, "gym wear" searches #gymwear).
  • One account's posts, use instagram_get_posts.
What you get

A list, ranked by Instagram. Each row has posts with author and author_followers, created_at, text (cut at 2000 characters), likes, comments, shares, saves, views, media, duration_s, links, transcript and top_comments[], plus music (the audio); top_comments are the first comments, where Instagram sends them. null or empty = the platform does not publish it. Search does not say when an owner hides like counts, which then read exactly 3: leave those rows out of engagement rates.

Cost

1 credit per page. Cached 6 hours.

Parameters

ParameterDefault and notes
queryRequired. One hashtag, with or without the #; with several, only the first is searched. A phrase is run together into one tag.
sinceOne of day, week, month, year, all. How far back to search. Default month.

It also takes the common parameters cursor, max_credits and dry_run.

Example input
{
  "query": "#gymshark",
  "since": "week"
}

Get a reel's transcript

Toolinstagram_get_transcript

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

Good for

Reading a reel without watching it, pulling the claims out of a creator's video.

Not the tool for
What you get

One record with 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.

Parameters

ParameterDefault and notes
urlRequired. The full URL of an Instagram reel.
languageLanguage code of the transcript to prefer, when the platform has several.

It also takes the common parameters max_credits and dry_run.

Example input
{
  "url": "https://www.instagram.com/reel/DKSMEpKRd6h/"
}