# Instagram API — UnifAPI

> Profiles, posts, reels, stories, comments, audio, search. Read public Instagram profiles, posts, reels, stories, highlights, comments, audio, transcripts and location pages by username or shortcode.

- Category: Social platforms
- API base URL: https://api.unifapi.com
- Auth: `Authorization: Bearer <UnifAPI API key>` (OAuth recommended for MCP clients)
- MCP server: https://mcp.unifapi.com
- Developer docs: https://docs.unifapi.com/api/instagram
- OpenAPI spec: https://unifapi.com/openapi.json
- HTML page: https://unifapi.com/apis/instagram
- Full catalog: https://unifapi.com/apis.md

## Agent workflows

- Benchmark public profiles, posts, reels, stories, comments, and location pages for creator or competitor research.
- Resolve URL-visible usernames and shortcodes into normalized records an agent can compare against TikTok, YouTube, X, or Reddit evidence.
- Feed social listening, content audit, and influencer discovery Skills without asking the user to wire a separate Instagram collector.

## Endpoints (41)

Every endpoint returns the UnifAPI JSON envelope (`request_id`, `data`, `pagination` on lists, `billing`) and bills max(records × credits per record, minimum) in credits.

### Get an Instagram audio track

`GET /instagram/audio/{id}`

Returns an Instagram audio track (song or original audio) by id: title, artist, duration and usage count. Returns `not_found` when it does not exist.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `id` (path)
- Details: https://unifapi.com/apis/instagram/audio/id/get
- Docs: https://docs.unifapi.com/api/instagram/audio/id/get

### List Instagram posts that use an audio track

`GET /instagram/audio/{id}/posts`

Returns Reels and posts that use an Instagram audio track. Paginate with `cursor`.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `id` (path)
- Details: https://unifapi.com/apis/instagram/audio/id/posts/get
- Docs: https://docs.unifapi.com/api/instagram/audio/id/posts/get

### Browse Instagram's Explore feed

`GET /instagram/explore`

Return a flattened feed of posts from Instagram's Explore tab — the algorithmic discovery surface — as a paginated list. Useful for sampling trending and recommended public content across the platform.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Details: https://unifapi.com/apis/instagram/explore/get
- Docs: https://docs.unifapi.com/api/instagram/explore/get

### Get an Instagram hashtag

`GET /instagram/hashtags/{tag}`

Returns an Instagram hashtag page summary: name, post count and related information. Returns `not_found` when the hashtag does not exist.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `tag` (path)
- Details: https://unifapi.com/apis/instagram/hashtags/tag/get
- Docs: https://docs.unifapi.com/api/instagram/hashtags/tag/get

### List Instagram posts for a hashtag

`GET /instagram/hashtags/{tag}/posts`

Return posts under an Instagram hashtag as a cursor-paginated list. Pass the tag without the leading `#`.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Required: `tag` (path)
- Details: https://unifapi.com/apis/instagram/hashtags/tag/posts/get
- Docs: https://docs.unifapi.com/api/instagram/hashtags/tag/posts/get

### Get an Instagram story highlight

`GET /instagram/highlights/{id}`

Returns one Instagram story highlight by id with its title, cover and story items. Returns `not_found` when the highlight does not exist.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `id` (path)
- Details: https://unifapi.com/apis/instagram/highlights/id/get
- Docs: https://docs.unifapi.com/api/instagram/highlights/id/get

### Get an Instagram location by id

`GET /instagram/locations/{id}`

Return an Instagram location page by its ID, including its name, coordinates, and category. Useful for resolving a place before pulling its tagged posts or nearby locations.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Required: `id` (path)
- Details: https://unifapi.com/apis/instagram/locations/id/get
- Docs: https://docs.unifapi.com/api/instagram/locations/id/get

### List Instagram locations near a location

`GET /instagram/locations/{id}/nearby`

Return the Instagram location pages geographically near a given location ID, as a fixed set of nearby map pins. Useful for local discovery and clustering place-tagged content by area.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Required: `id` (path)
- Details: https://unifapi.com/apis/instagram/locations/id/nearby/get
- Docs: https://docs.unifapi.com/api/instagram/locations/id/nearby/get

### List posts tagged with an Instagram location

`GET /instagram/locations/{id}/posts`

Return the posts tagged with a given Instagram location, by location ID, as a paginated list. Useful for local content monitoring, event coverage, and place-based audience research.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Required: `id` (path)
- Details: https://unifapi.com/apis/instagram/locations/id/posts/get
- Docs: https://docs.unifapi.com/api/instagram/locations/id/posts/get

### Search Instagram locations by coordinates

`GET /instagram/locations/search`

Return Instagram location pages near a latitude and longitude as a fixed, non-paginated list.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Required: `latitude` (query), `longitude` (query)
- Details: https://unifapi.com/apis/instagram/locations/search/get
- Docs: https://docs.unifapi.com/api/instagram/locations/search/get

### Get an Instagram post by shortcode

`GET /instagram/posts/{shortcode}`

`shortcode` is the slug from the post URL, e.g. `DUajw4YkorV` in `instagram.com/p/DUajw4YkorV/`.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `shortcode` (path)
- Details: https://unifapi.com/apis/instagram/posts/shortcode/get
- Docs: https://docs.unifapi.com/api/instagram/posts/shortcode/get

### List comments on an Instagram post

`GET /instagram/posts/{shortcode}/comments`

Return the comments on an Instagram post by its shortcode, as a cursor-paginated list. Useful for analyzing audience response and sentiment around a post.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Required: `shortcode` (path)
- Details: https://unifapi.com/apis/instagram/posts/shortcode/comments/get
- Docs: https://docs.unifapi.com/api/instagram/posts/shortcode/comments/get

### List replies to an Instagram comment

`GET /instagram/posts/{shortcode}/comments/{commentId}/replies`

Return the replies to a specific comment on an Instagram post, identified by the post shortcode and comment ID, as a paginated list. Useful for following threaded conversations and analyzing audience discussion.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Required: `shortcode` (path), `commentId` (path)
- Details: https://unifapi.com/apis/instagram/posts/shortcode/comments/commentId/replies/get
- Docs: https://docs.unifapi.com/api/instagram/posts/shortcode/comments/commentId/replies/get

### Get downloadable media URLs for an Instagram post

`GET /instagram/posts/{shortcode}/download`

Get image or video URLs and previews for a public post or carousel. URLs expire; request fresh links before downloading. Returns one post containing its media assets.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `shortcode` (path)
- Details: https://unifapi.com/apis/instagram/posts/shortcode/download/get
- Docs: https://docs.unifapi.com/api/instagram/posts/shortcode/download/get

### List users who liked an Instagram post

`GET /instagram/posts/{shortcode}/likes`

Return the public profiles visible in Instagram's liker list for a post shortcode. Instagram returns this as a fixed set without pagination.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Required: `shortcode` (path)
- Details: https://unifapi.com/apis/instagram/posts/shortcode/likes/get
- Docs: https://docs.unifapi.com/api/instagram/posts/shortcode/likes/get

### Get the transcript of an Instagram video

`GET /instagram/posts/{shortcode}/transcript`

Returns the spoken-word transcript of an Instagram video post or Reel by shortcode, for videos up to a few minutes long. Returns `not_found` when the post does not exist.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `shortcode` (path)
- Details: https://unifapi.com/apis/instagram/posts/shortcode/transcript/get
- Docs: https://docs.unifapi.com/api/instagram/posts/shortcode/transcript/get

### Browse Instagram's recommended Reels feed

`GET /instagram/reels/recommended`

Return posts from Instagram's algorithmic recommended Reels feed, as a paginated list. Useful for sampling trending short-form video and discovering surfacing creators.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Details: https://unifapi.com/apis/instagram/reels/recommended/get
- Docs: https://docs.unifapi.com/api/instagram/reels/recommended/get

### List trending Instagram Reels

`GET /instagram/reels/trending`

Returns the Reels currently trending on Instagram with captions, owners, play counts and video URLs.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Details: https://unifapi.com/apis/instagram/reels/trending/get
- Docs: https://docs.unifapi.com/api/instagram/reels/trending/get

### Resolve an Instagram shortcode to a media ID

`GET /instagram/resolve/media-id`

Convert an Instagram post shortcode into its numeric `media_id`. A lookup helper — useful for pre-resolving and caching the ID that some media-level operations require. Computed locally; it does not check that the post exists.

- Price: 1 credit per record, minimum 1 credit ($0.001) per call
- Required: `shortcode` (query)
- Details: https://unifapi.com/apis/instagram/resolve/media-id/get
- Docs: https://docs.unifapi.com/api/instagram/resolve/media-id/get

### Extract a post shortcode from an Instagram URL

`GET /instagram/resolve/shortcode`

Extract the post shortcode from a full Instagram post URL (e.g. `instagram.com/p/<shortcode>`). A lookup helper — useful for normalizing user-supplied links before fetching a post.

- Price: 1 credit per record, minimum 1 credit ($0.001) per call
- Required: `url` (query)
- Details: https://unifapi.com/apis/instagram/resolve/shortcode/get
- Docs: https://docs.unifapi.com/api/instagram/resolve/shortcode/get

### Convert an Instagram numeric media_id into its shortcode

`GET /instagram/resolve/shortcode-from-media`

Convert a numeric Instagram `media_id` back into its post shortcode — the inverse of the shortcode-to-media-id lookup. Useful for reconstructing shareable post URLs from stored IDs. Accepts the `<media_id>_<owner_id>` form too. Computed locally; it does not check that the post exists.

- Price: 1 credit per record, minimum 1 credit ($0.001) per call
- Required: `media_id` (query)
- Details: https://unifapi.com/apis/instagram/resolve/shortcode-from-media/get
- Docs: https://docs.unifapi.com/api/instagram/resolve/shortcode-from-media/get

### Convert an Instagram username into its numeric user_id (pk)

`GET /instagram/resolve/user-id`

Convert an Instagram username into its numeric user ID. A lookup helper — useful for pre-resolving and caching the ID so later profile and media calls skip the extra resolution step.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `username` (query)
- Details: https://unifapi.com/apis/instagram/resolve/user-id/get
- Docs: https://docs.unifapi.com/api/instagram/resolve/user-id/get

### Resolve an Instagram user ID to a username

`GET /instagram/resolve/username`

Resolve a numeric Instagram user ID to its current username and canonical public profile. This is the inverse of `/instagram/resolve/user-id`.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `user_id` (query)
- Details: https://unifapi.com/apis/instagram/resolve/username/get
- Docs: https://docs.unifapi.com/api/instagram/resolve/username/get

### Cross-type Instagram search (posts/reels)

`GET /instagram/search`

Search Instagram across content types (posts and reels) by query string, returning matching results as a paginated list. Useful for keyword, hashtag, and topic discovery on the platform.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Required: `q` (query)
- Details: https://unifapi.com/apis/instagram/search/get
- Docs: https://docs.unifapi.com/api/instagram/search/get

### Search Instagram audio

`GET /instagram/search/audio`

Returns Instagram audio tracks (songs and original audio) that match a keyword, with ids for /instagram/audio/{id}.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `query` (query)
- Details: https://unifapi.com/apis/instagram/search/audio/get
- Docs: https://docs.unifapi.com/api/instagram/search/audio/get

### Search Instagram hashtags

`GET /instagram/search/hashtags`

Find Instagram hashtags matching a keyword, including public post counts when available. Returns one batch without pagination. Use /instagram/hashtags/{tag}/posts to retrieve posts.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `q` (query)
- Details: https://unifapi.com/apis/instagram/search/hashtags/get
- Docs: https://docs.unifapi.com/api/instagram/search/hashtags/get

### Search Instagram places by keyword

`GET /instagram/search/places`

Find Instagram places matching a name or keyword. Coordinates and street addresses are included when available. Returns one batch without pagination; this does not perform a nearby-coordinate search.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `q` (query)
- Details: https://unifapi.com/apis/instagram/search/places/get
- Docs: https://docs.unifapi.com/api/instagram/search/places/get

### Search Instagram Reels

`GET /instagram/search/reels`

Returns Instagram Reels that match a keyword with captions, owners, play counts and video URLs. Paginate with `cursor`.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `query` (query)
- Details: https://unifapi.com/apis/instagram/search/reels/get
- Docs: https://docs.unifapi.com/api/instagram/search/reels/get

### Search Instagram accounts

`GET /instagram/search/users`

Search public Instagram accounts by name or keyword. Returns the available ranked matches in one batch; pagination is not supported.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `q` (query)
- Details: https://unifapi.com/apis/instagram/search/users/get
- Docs: https://docs.unifapi.com/api/instagram/search/users/get

### List posts for an Instagram topic

`GET /instagram/topics/{topic}/posts`

Returns posts and Reels that Instagram groups under a topic such as `harry potter`. Paginate with `cursor`.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `topic` (path)
- Details: https://unifapi.com/apis/instagram/topics/topic/posts/get
- Docs: https://docs.unifapi.com/api/instagram/topics/topic/posts/get

### Get an Instagram user profile by username

`GET /instagram/users/{username}`

Return the canonical public Instagram profile for a username — display name, bio, follower and following counts, post count, verification status, and profile picture. Useful as the entry point for any account-level research.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `username` (path)
- Details: https://unifapi.com/apis/instagram/users/username/get
- Docs: https://docs.unifapi.com/api/instagram/users/username/get

### Audit an Instagram account's engagement

`GET /instagram/users/{username}/engagement`

Returns an engagement audit of a public Instagram account from its recent posts: engagement rate, average likes and comments, best and worst posts, content segments and outliers. Returns `not_found` when the account does not exist or is private.

- Price: 1 credit per record, minimum 15 credits ($0.01) per call
- Required: `username` (path)
- Details: https://unifapi.com/apis/instagram/users/username/engagement/get
- Docs: https://docs.unifapi.com/api/instagram/users/username/engagement/get

### List followers of an Instagram user

`GET /instagram/users/{username}/followers`

Return the accounts that follow a given Instagram user, by username, as a paginated list of profiles. Useful for audience analysis and mapping a creator's or brand's following.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Required: `username` (path)
- Details: https://unifapi.com/apis/instagram/users/username/followers/get
- Docs: https://docs.unifapi.com/api/instagram/users/username/followers/get

### List accounts an Instagram user follows

`GET /instagram/users/{username}/following`

Return the accounts a given Instagram user follows, by username, as a paginated list of profiles. Useful for mapping an account's interest graph and the people it engages with.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Required: `username` (path)
- Details: https://unifapi.com/apis/instagram/users/username/following/get
- Docs: https://docs.unifapi.com/api/instagram/users/username/following/get

### Count an Instagram user's former usernames

`GET /instagram/users/{username}/former-usernames`

Return how many times an Instagram account has changed its username, with the month it joined and the country it is based in, from Instagram's About this account information. Instagram shows the count only, not the former usernames or the dates they changed. Useful for identity verification and spotting rebrands.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Required: `username` (path)
- Details: https://unifapi.com/apis/instagram/users/username/former-usernames/get
- Docs: https://docs.unifapi.com/api/instagram/users/username/former-usernames/get

### List Instagram highlight reels for a user (metadata only)

`GET /instagram/users/{username}/highlights`

Return the metadata for an Instagram user's highlight reels (titles and covers); the stories inside each highlight are not included. Useful for cataloging a profile's pinned highlights.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Required: `username` (path)
- Details: https://unifapi.com/apis/instagram/users/username/highlights/get
- Docs: https://docs.unifapi.com/api/instagram/users/username/highlights/get

### List feed posts authored by an Instagram user

`GET /instagram/users/{username}/posts`

Return the feed posts authored by an Instagram user, by username, as a paginated list. Useful for profiling a creator's content, monitoring a brand, or building an archive.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `username` (path)
- Details: https://unifapi.com/apis/instagram/users/username/posts/get
- Docs: https://docs.unifapi.com/api/instagram/users/username/posts/get

### List reels authored by an Instagram user

`GET /instagram/users/{username}/reels`

Return the reels (short-form videos) authored by an Instagram user, by username, as a paginated list. Useful for analyzing a creator's video output and performance.

- Price: 1 credit per record, minimum 3 credits ($0.003) per call
- Required: `username` (path)
- Details: https://unifapi.com/apis/instagram/users/username/reels/get
- Docs: https://docs.unifapi.com/api/instagram/users/username/reels/get

### List accounts similar to an Instagram user

`GET /instagram/users/{username}/similar`

Return Instagram's recommended similar accounts for a username.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Required: `username` (path)
- Details: https://unifapi.com/apis/instagram/users/username/similar/get
- Docs: https://docs.unifapi.com/api/instagram/users/username/similar/get

### List active Instagram stories for a user

`GET /instagram/users/{username}/stories`

Returns the user's currently-live story tray (empty when the user has no active stories).

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Required: `username` (path)
- Details: https://unifapi.com/apis/instagram/users/username/stories/get
- Docs: https://docs.unifapi.com/api/instagram/users/username/stories/get

### List posts an Instagram user is tagged in

`GET /instagram/users/{username}/tagged-posts`

Return the posts a given Instagram user is tagged in, by username, as a paginated list. Useful for tracking brand mentions, collaborations, and user-generated content.

- Price: 1 credit per record, minimum 10 credits ($0.01) per call
- Required: `username` (path)
- Details: https://unifapi.com/apis/instagram/users/username/tagged-posts/get
- Docs: https://docs.unifapi.com/api/instagram/users/username/tagged-posts/get

## Related APIs

- [YouTube API](https://unifapi.com/apis/youtube/index.md) — Channels, videos, comments, captions, playlists, hashtags, search, trending
- [LinkedIn API](https://unifapi.com/apis/linkedin/index.md) — People, companies, posts, jobs, ads, search
- [Twitter / X API](https://unifapi.com/apis/twitter/index.md) — Users, posts, search, trends, lists, communities
- [TikTok API](https://unifapi.com/apis/tiktok/index.md) — Videos, creators, comments, hashtags, music
- [Threads API](https://unifapi.com/apis/threads/index.md) — Posts, replies, reposts, search
- [Amazon API](https://unifapi.com/apis/amazon/index.md) — Creator storefronts
