# Instagram Public Data MCP

> Public Instagram data of any account via HikerAPI - profiles, posts, reels, hashtags, comments, search.

Reads public Instagram data without logging in - profiles, posts, reels,
stories, highlights, followers, hashtags, places, music, comments, likers and
search - through [HikerAPI](https://hikerapi.com). Read-only: nothing here
posts, likes or messages (use the [Instagram](https://docs.flymy.ai/mcp/instagram.md) connector for
your own account). Media items carry direct CDN `video_url` / `thumbnail_url`
links that [Download Link](https://docs.flymy.ai/mcp/download-link.md) and `analyze_video` in
[Media AI Models](https://docs.flymy.ai/mcp/media-ai-models.md) accept as they are.

Product page: [flymy.ai/mcp/instagram](https://flymy.ai/mcp/instagram/)

## What it can do

| Method | What it does |
| --- | --- |
| `instagram_account_profile` | Public profile by username or profile link: pk, bio, follower/following/post counts, flags, category, external link. Start here to get the pk. |
| `instagram_account_by_id` | Same profile fields by numeric user id. |
| `instagram_account_posts` | An account's photos, albums and reels in one list - pinned posts (`is_pinned`) first, then newest first - one page per request (paginate with `next_page_id`): likes, comments, plays and shares, plus reposts and saves when Instagram returns them. |
| `instagram_account_reels` | An account's reels with plays, likes, comments, shares, audio and `video_url`, plus reposts and saves when Instagram returns them. |
| `instagram_account_tagged_posts` | Posts where the account is tagged by others (UGC, collabs). |
| `instagram_account_stories` | Current public stories with mentions, hashtags and links. |
| `instagram_account_highlights` | Story highlights with title, media count and cover. |
| `instagram_account_followers` | Followers, one page per request. |
| `instagram_account_following` | Accounts the user follows, one page per request. |
| `instagram_similar_accounts` | Instagram's "suggested for you" chain - the fastest way to map competitors in a niche. |
| `instagram_hashtag_by_name` | Hashtag id and total media count. |
| `instagram_hashtag_posts` | Top or recent posts under a hashtag with engagement counts, captions, audio and media links. |
| `instagram_search_places` | Places by name with their location pk. |
| `instagram_location_posts` | Top or recent posts tagged at a location. |
| `instagram_search_reels` | Reels by keyword or phrase. |
| `instagram_search_accounts` | Accounts by name, brand or keyword. |
| `instagram_search_hashtags` | Hashtags by keyword with media counts. |
| `instagram_top_search` | Mixed accounts / hashtags / places result for one query. |
| `instagram_search_music` | Music and audio tracks by title or artist. |
| `instagram_audio_reels` | Reels that use a given audio track (trending sounds). |
| `instagram_post_info` | One post or reel by link, shortcode or media id, with likes, comments, plays, shares and its audio; for an album (carousel), `slides` lists every slide's `image_url` (and `video_url`) in order, to pass to `analyze_media`. |
| `instagram_post_audio` | Original sound or licensed music for up to 10 reels. |
| `instagram_post_comments` | Comments on a post, about 15 per request. |
| `instagram_comment_replies` | Replies to one comment. |
| `instagram_post_comment_counts` | Comment counts and previews for up to 10 posts in one request. |
| `instagram_post_likers` | Accounts that liked a post. |
| `hikerapi_balance` | Requests left and money on the HikerAPI balance (free). |

On FlyMyAI's shared token each billed request costs **$0.01**. Responses with
HTTP 400, 403 or 404 are billed too; HTTP 410, 429 and 5xx responses and the
balance check are free. With your own token, HikerAPI bills your account and
FlyMyAI charges compute time only. Lists return `next_page_id` - pass it back
as `page_id` for the next page.

## How to get credentials

None on FlyMyAI Cloud - the tool runs on FlyMyAI's shared HikerAPI token, so
just enable it. To bill requests to your own HikerAPI account instead (FlyMyAI
then charges compute time only):

1. Sign up at [hikerapi.com](https://hikerapi.com) and top up the balance
   (HikerAPI charges per request).
2. Open **Dashboard → Tokens** and create an access token.
3. Paste it into the optional field below.

## Fields to fill in FlyMyAI

| FlyMyAI field | Where it comes from |
| --- | --- |
| `HIKERAPI_KEY` (optional) | hikerapi.com → Dashboard → Tokens; leave empty to use the shared token |

## Troubleshooting

- **HTTP 401 / 403** - the token was rejected; create a new one in the
  HikerAPI dashboard and update the field.
- **HTTP 402** - the HikerAPI balance is exhausted (yours, or the shared one -
  tell the FlyMyAI team); top up, then retry.
- **HTTP 404** - the account or post is private, deleted, or the id /
  username / link is wrong.
- **HTTP 429** - HikerAPI rate limit; retry after a short pause.
- **Empty page** - some lists end without a `next_page_id`; that is the last
  page.
- **No saves or reposts on a post or reel** - `save_count` and
  `media_repost_count` are optional: Instagram returns them for some posts and
  reels and leaves them out for others, in `instagram_account_reels` and
  `instagram_account_posts` alike. A missing field means Instagram did not
  return it, not zero. If a reel in the reels list has none, look for it on the
  profile grid (`instagram_account_posts`, reels included) by `code`.

## Links

- [HikerAPI documentation](https://hikerapi.com/docs)
- [HikerAPI tokens](https://hikerapi.com/tokens)
