Instagram scraper API

Public Instagram profiles, posts, reels, comments, followers and search as JSON. No Meta app review, no Business account, no scraper to keep alive.

38 endpoints · from 20 credits a call · 10 free calls · no credit card

curl "https://api.insightsocial.app/v1/instagram/profile?handle=natgeo" \
-H "x-api-key: $INSIGHTSOCIAL_API_KEY"
200 OKJSON
{
"success": true,
"platform": "instagram",
"endpoint": "/v1/instagram/profile",
"data": {
"author": {
"username": "natgeo",
}
},
"credits_used": 0,
"charge_reason": "miss",
"free_call": true
}

What Instagram data can you get?

Public Instagram data only, returned in the same JSON envelope as every other platform.

Profiles and contact details

Bio, exact follower count, verification, and the public email in the bio. Opt in to the creator's personal contact address where they give one.

Posts and reels

An account's recent posts and reels with captions, like, comment and play counts, and Collab co-authors.

Comments, replies and likers

Comment threads under any public post, with replies, plus a sample of the accounts that liked it.

Followers, search and discovery

Follower and following lists, hashtag and location posts, profile search and similar accounts.

Instagram API endpoints

All 38 Instagram endpoints and their price in credits. 15 are metered: they show a range and charge what the call actually read.

EndpointCreditsWhat it returns
/profile20Returns 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.
/profile/about20Returns Instagram's "About this account" details for a public account (country, month joined, published contact) plus its follower count and lifetime post count.
/profile/posts20–340Returns a user's recent posts with caption, like and comment counts, media URL, media type, and timestamp; share counts are not included.
/post20Returns 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.
/post/comments100–380Returns a post's comments, each with its text, author, like count, reply count, and time, ranked by popularity by default or newest first.
/comment100–300Returns one comment's current text, like count, reply count, author, and timestamp, plus the post's total comment count for context.
/basic-profile20Returns a minimal Instagram profile looked up by numeric user id: username, full name, and profile picture.
/profile/reels20–360Returns a user's reels with view, like and comment counts and a thumbnail; share counts are not included here.
/highlights20Returns a user's saved story highlight collections, each with its title, cover image, and the number of items inside.
/highlight/detail20Returns the individual stories saved inside one highlight, with their media URLs, timestamps, and interaction counts.
/search/reels20–180Returns reels matching a keyword, each with its view count, like count, and author; share and save counts are not included on this endpoint.
/media/transcript200Returns the spoken words in an Instagram video or reel of up to 2 minutes as text.
/media/screen-text100–100Returns 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.
/user/embed20Returns an embeddable HTML snippet for an Instagram profile, meant to be dropped into a page on your own site.
/audio/reels20Returns reels that use one specific audio track, each with its engagement counts and the account that posted it.
/search/hashtag100Returns public posts carrying a hashtag, each with shortcode, URL, caption, media URLs, engagement counts, and the author; share and save counts are not included.
/search/profiles20–500Returns public profiles matching a keyword, each with username, display name, bio, follower and following counts, post count, and profile URL.
/reels/trending100Returns reels from Instagram's public trending page, each with shortcode, URL, caption, media URLs, engagement counts where shown, and the account.
/followers100–200Returns the accounts that follow a user, each with username, display name, avatar URL, verification status, and profile URL.
/following100–200Returns the accounts a user follows, each with username, display name, avatar URL, verification status, and profile URL.
/similar100–1,700Returns the accounts Instagram suggests as similar to a given user, each with username, display name, avatar URL, verification status, and URL.
/post/likers100Returns a sample of the accounts that liked a post, each with username, display name, avatar, and verification status, plus the full like count.
/post/stats100–180Returns one post's engagement: likes, comments, and, on video posts only, the play count and the share count shown by the paper plane icon.
/tagged100Returns posts that tag a given user, each with its shortcode, URL, caption, media URLs, engagement counts, and the account that posted it.
/location/posts100Returns posts tagged at a place, newest first, about 60 a page, each with shortcode, URL, caption, media URLs, engagement counts, and the author.
/engagement100Returns a computed engagement report for an account: overall engagement rate, follower count, total likes and comments, and a per-post breakdown.
/search/location100Returns places matching a keyword, each with its location id, name, and coordinates, plus a display title and subtitle.
/search20Returns mixed Instagram search matches for a query: accounts, hashtags, and places in one payload.
/search/popular20–260Returns popular Instagram posts matching a keyword, each with caption, play count, permalink, thumbnail, and the owner's username.
/post/comment/replies20–100Returns replies under one Instagram comment, each with text, like count, nested reply count, author, and timestamp.
/username-suggestions100Returns suggested available Instagram usernames built from a keyword you supply.
/search/music100Returns audio tracks matching a keyword, each with artist, title, audio and cover artwork URLs, duration, and usage details.
/stories100Returns the stories a user has live right now, each with its id, image or video URLs, thumbnail, duration, capture time, and the author.
/story/download100Returns the full resolution image or video URLs and metadata for one specific story.
/music/trending100Returns a chart of licensed tracks trending on Instagram, each with title, artist, audio and cover artwork URLs, and usage details.
/profile/full100Returns the profile plus its latest 12 posts and computed metrics: engagement rate by views and by followers, posting cadence, the top post, and the mix of post formats.
/profile/reels/full100–500Returns a user's reels with views, likes, comments, and a per-reel share count where the second source exposes one, plus a coverage figure.
/profile/posts/full100–500Returns 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.

Parameters, response fields and examples for each endpoint are in the Instagram API reference.

InsightSocial vs the official Instagram API

The Instagram Graph API is built for Business and Creator accounts that connect to your app, and every permission goes through Meta app review.

InsightSocial APIOfficial Instagram API
Whose dataAny public account, personal or businessAccounts that connect to your app; limited lookups of other Business accounts
ApprovalNone. Sign in and copy a keyMeta app review for each permission
Followers and likersLists of accounts, page by pageCounts only, not the accounts
CommentsAny public post, with repliesPosts on accounts you manage

The official API is the right tool for posting, messaging or managing accounts you own. This one is read-only public data.

How much does the Instagram API cost?

Instagram calls start at 20 credits. Every endpoint's price is in the table above and in the free GET /v1/endpoints catalogue, so you know the cost before you call.

  • Failed calls are free

    A call that errors or finds nothing costs 0 credits.

  • Repeats are free

    Call the same thing again inside its window, 1 to 24 hours depending on the endpoint, and it costs 0.

  • One balance

    API calls and Chrome extension exports share the same credits. The free plan includes 500 a month.

Not writing code?

The free Instagram scraper for Chrome exports the same data to Excel, CSV or Google Sheets from your browser, on the same account.

Instagram scraper for Chrome

Instagram API: frequently asked questions

Not for personal accounts. Meta retired the Instagram Basic Display API in December 2024, and the Graph API that remains reads Business and Creator accounts that connect to your app, after app review. The InsightSocial API reads any public profile with one key and no review.