Instagram API reference: 36 endpoints for profiles, posts, reels, comments, followers and hashtag search. Per-endpoint credit prices and cURL examples.
Profiles, posts, reels, comments, stories, highlights, followers and following, hashtag, location and music search, and transcripts. Pass handles without the leading @.
New to the API? Read the Instagram scraper API overview for what it returns and how it compares with the official API.
Base path: /v1/instagram/...
Quickstart
curl "https://api.insightsocial.app/v1/instagram/profile?handle=instagram" \
-H "x-api-key: $INSIGHTSOCIAL_API_KEY"Endpoints
14 of these are metered: the price depends on how much the call reads. See Credits.
10 are beta: they return the source's own structure under our naming rules (snake_case keys, string ids, ISO times where the source gives a timestamp) rather than a schema-2 entity, and their fields may change. See Schema 2.
| Endpoint | Credits | What it returns | Key parameters |
|---|---|---|---|
/profile | 10 | Returns an Instagram account's public profile: bio, exact integer follower count on author.followers, following count, picture URL, verification, and author.ext.public_email from the bio. | handle |
/profile/about | 10 | Returns Instagram's "About this account" details for a public account (country, month joined, published contact) plus its follower count and lifetime post count. | handle |
/profile/posts | 10–130 | Returns a user's recent posts with caption, like and comment counts, media URL, media type, and timestamp; share counts are not included. | handle |
/post | 10 | Returns one post's details: caption, view count on videos and reels, like and comment counts, media URLs, media type, the author, and any tagged users. | url |
/post/comments | 50–150 | Returns a post's comments, each with its text, author, like count, reply count, and time, ranked by popularity by default or newest first. | url |
/comment | 50–150 | Returns one comment's current text, like count, reply count, author, and timestamp, plus the post's total comment count for context. | comment_url, post_url |
/basic-profile | 10 | Returns a minimal Instagram profile looked up by numeric user id: username, full name, and profile picture. | userId |
/profile/reels | 10–140 | Returns a user's reels with view, like and comment counts and a thumbnail; share counts are not included here. | user_id, handle |
/highlights | 10 | Returns a user's saved story highlight collections, each with its title, cover image, and the number of items inside. | user_id, handle |
/highlight/detail | 10 | Returns the individual stories saved inside one highlight, with their media URLs, timestamps, and interaction counts. | id |
/search/reels | 10–650 | Returns reels matching a keyword, each with its view count, like count, and author; share and save counts are not included on this endpoint. | query |
/media/transcript | 100 | Returns the spoken words in an Instagram video or reel of up to 2 minutes as text. | url |
/media/screen-text | 50 | Returns the text shown on an Instagram post's images, read by AI: the photo, each carousel slide up to 10, or a reel's cover frame, with results per slide. Beta. | url |
/audio/reels | 10 | Returns reels that use one specific audio track, each with its engagement counts and the account that posted it. | audio_id |
/search/hashtag | 50 | Returns public posts carrying a hashtag, each with shortcode, URL, caption, media URLs, engagement counts, and the author; share and save counts are not included. | hashtag |
/search/profiles | 10–250 | Returns public profiles matching a keyword, each with username, display name, bio, follower and following counts, post count, and profile URL. | query |
/reels/trending | 50 | Returns reels from Instagram's public trending page, each with shortcode, URL, caption, media URLs, engagement counts where shown, and the account. | — |
/followers | 50–100 | Returns the accounts that follow a user, each with username, display name, avatar URL, verification status, and profile URL. | handle, user_id |
/following | 50–100 | Returns the accounts a user follows, each with username, display name, avatar URL, verification status, and profile URL. | handle, user_id |
/similar | 50–850 | Returns the accounts Instagram suggests as similar to a given user, each with username, display name, avatar URL, verification status, and URL. | handle, user_id |
/post/likers | 50 | Returns up to about 2,000 of the accounts that liked a post, each with username, display name, avatar, and verification status, plus the full like count, in one call with no further pages. | url |
/post/stats | 50–90 | Returns one post's engagement: likes, comments, and, on video posts only, the play count and the share count shown by the paper plane icon. | url |
/tagged | 50 | Returns posts that tag a given user, each with its shortcode, URL, caption, media URLs, engagement counts, and the account that posted it. | handle, user_id |
/location/posts | 50 | Returns posts tagged at a place, newest first, about 60 a page, each with shortcode, URL, caption, media URLs, engagement counts, and the author. | location_id |
/engagement | 50 | Returns an engagement report for an account: its engagement rate over the recent posts, follower count, total likes and comments, and a per-post breakdown. Beta. | handle |
/search/location | 50 | Returns places matching a keyword, each with its location id, name, and coordinates, plus a display title and subtitle. Beta. | query |
/search | 10 | Returns mixed Instagram search matches for a query: accounts, hashtags, and places in one payload. Beta. | query |
/search/popular | 10–130 | Returns popular Instagram posts matching a keyword, each with caption, play count, permalink, thumbnail, and the owner's username. | query |
/post/comment/replies | 10 | Returns replies under one Instagram comment, each with text, like count, nested reply count, author, and timestamp. | url, comment_id |
/username-suggestions | 50 | Returns suggested available Instagram usernames built from a keyword you supply. Beta. | query |
/search/music | 50 | Returns audio tracks matching a keyword, each with artist, title, audio and cover artwork URLs, duration, and usage details. Beta. | query |
/stories | 50 | Returns the stories a user has live right now, each with its id, image or video URLs, thumbnail, duration, capture time, and the author. | handle, user_id |
/story/download | 50 | Returns the full resolution image or video URLs and metadata for one specific story. Beta. | user_id, story_id |
/profile/full | 50 | Returns the profile plus its latest 12 posts in one call. Beta. | handle |
/profile/reels/full | 50–250 | Returns a user's reels with views, likes, comments, and a per-reel share count where the second source exposes one, plus a coverage figure. Beta. | handle, user_id |
/profile/posts/full | 50–250 | Returns a user's recent posts with likes, comments, views, and a per-post share count where the second source exposes one, plus a coverage figure. Beta. | handle, user_id |