Instagram API
Twenty endpoints for Instagram profiles, posts, reels, stories, highlights, likers, comments and search, each one a single POST returning structured JSON for 1 or 2 credits. No Meta app review, no login, no scraping stack to keep alive.
50 free credits on signup. No card, no Meta app, no login.
{ "data": { "pk": "13460080", "id": "13460080", "username": "nike", "full_name": "Nike", "follower_count": 291012907, "following_count": 266, "media_count": 1670, "is_private": false, "is_verified": true, "biography": "Just Do It.", "external_url": "http://empli.fi/nike" }, "response_time": 5191, "credits_used": 1, "credits_remaining": 4727}A real captured response from this endpoint. Sign up to run your own.
What is the Scavio Instagram API?
The Scavio Instagram API is a REST API that returns public Instagram data as structured JSON. You send a username, shortcode, post URL or keyword to one of 20 POST endpoints with your API key, and get back profiles, posts, reels, stories, highlights, likers, comments or search results, typically for 1 or 2 credits a call. No Meta app, no OAuth flow, and no login credentials.
- 20
- endpoints, all live in production
- 1–2
- credits per typical call, priced per endpoint
- 0
- Meta app reviews required
Start with these four
They cover most of what people build. The full twenty are below.
Profiles
POST /api/v1/instagram/profileFollower counts, bio, verification and the numeric user_id every other endpoint accepts. 1 credit.
Posts
POST /api/v1/instagram/user/postsA whole timeline with captions, media and engagement, about 12 posts per page. 2 credits per page.
Reels
POST /api/v1/instagram/user/reelsReels with play counts, so you can rank short-form performance rather than guess at it. 1 credit.
Hashtag search
POST /api/v1/instagram/search/hashtagsFind hashtags by keyword with media counts: discovery without a seed account. 2 credits.
All 20 Instagram endpoints
Every route is a POST, returns JSON, and takes the same API key. Credits are the typical cost per call; a request that needs extra work can cost up to 10, and credits_used shows the exact charge.
| Endpoint | Returns | Credits |
|---|---|---|
Profile/api/v1/instagram/profile | Full name, bio, follower / following / media counts, verification, category, user_id | 1 |
User posts/api/v1/instagram/user/posts | Timeline posts: shortcode, caption, media and video URLs, like / comment / play counts | 2 / page |
User reels/api/v1/instagram/user/reels | Reels with shortcode, caption, video URL, play, like and comment counts | 1 (2 on a new username) |
Tagged posts/api/v1/instagram/user/tagged | Posts an account has been tagged in, paginated | 1 (2 on a new username) |
User stories/api/v1/instagram/user/stories | Currently active stories with image / video URLs and expiry time | 2 |
Highlights/api/v1/instagram/user/highlights | Story highlights: id, title, cover and story count | 2 |
Highlight stories/api/v1/instagram/highlight/stories | Every story saved in one highlight, with media URLs | 2 |
Followers/api/v1/instagram/user/followers | An account's follower list, paginated | 2 / page |
Following/api/v1/instagram/user/followings | The accounts a user follows, paginated | 2 / page |
Similar accounts/api/v1/instagram/user/similar | Accounts similar to a creator: handle, name, verified | 2 |
Post detail/api/v1/instagram/post | One post by URL, shortcode or media_id: caption, media, video, author, location | 2 |
Post comments/api/v1/instagram/post/comments | Comment id, text, author, like and reply counts, paginated | 2 / page |
Comment replies/api/v1/instagram/post/comments/replies | Replies to a single comment, with the parent comment | 2 |
Post likers/api/v1/instagram/post/likers | Up to about 1,000 accounts that liked a post, plus its total like count | 2 |
User search/api/v1/instagram/search/users | Accounts matching a keyword: handle, name, verified, user_id | 2 (8 with cursor) |
Hashtag search/api/v1/instagram/search/hashtags | Hashtags matching a keyword, with media counts | 2 (8 with cursor) |
Reels search/api/v1/instagram/search/reels | Reels matching a keyword: caption, author, video URL, play / like counts | 2 / page |
Music search/api/v1/instagram/search/music | Audio tracks by song or artist: title, artist, duration, preview URL, music id | 2 |
Music posts/api/v1/instagram/music/posts | Reels that use an audio track, plus the track's total reel count | 1 / page |
Location search/api/v1/instagram/search/locations | Places by name: location id, address, city, coordinates | 2 |
50 free credits on signup covers about 50 profile lookups or 25 timeline pages. See plans
Two calls to a scored creator list
Resolve the profile, page the timeline, compute engagement yourself. The response on the right is a real capture, field names and all.
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# Profile - 1 credit
user = client.instagram.profile(username="nike")["data"]
print(user["full_name"], user["follower_count"])
# Timeline - 2 credits per page of about 12 posts
posts = client.instagram.user_posts(username="nike")
for p in posts["data"]["data"]["items"]:
caption = (p.get("caption") or {}).get("text", "")
print(p["code"], p["like_count"], caption[:80]){
"data": {
"pk": "13460080",
"id": "13460080",
"username": "nike",
"full_name": "Nike",
"follower_count": 291012907,
"following_count": 266,
"media_count": 1670,
"is_private": false,
"is_verified": true,
"biography": "Just Do It.",
"external_url": "http://empli.fi/nike"
},
"response_time": 5191,
"credits_used": 1,
"credits_remaining": 4727
}Why not Meta's own API?
Often you should — if you only need data for accounts that have authorised your app. For everything else the two are not substitutes.
Instagram Graph API
- Requires a Meta app, a linked business or creator account, and review for most permissions
- Returns data for accounts that authorise you — not arbitrary public profiles
- Basic Display API, the old read-only route, was retired in 2024
- OAuth tokens to issue, refresh and store per user
Scavio Instagram API
- One API key, issued at signup — no app, no review, no waiting
- Any public profile, post, reel or hashtag by handle, shortcode or URL
- Twenty endpoints live today, from 1 credit per call, documented with real responses
- Same key and JSON envelope as every other Scavio platform
Scavio returns publicly available data only, and never authenticates as an Instagram user.
What developers build with it
Influencer vetting at list scale
Resolve a handle to follower count and verification, then pull the last 12 posts and read real like and comment counts. Engagement rate you computed beats a number a media kit asserts.
profile + user/postsCompetitor and brand monitoring
Run a set of handles on a schedule and diff the results. Post cadence, caption themes and engagement trend all fall out of the same two calls, stored in your own database.
user/posts + post/commentsShort-form performance tracking
Reels carry play counts, so you can rank a creator's short-form output against their feed posts and see which format actually travels for a given audience.
user/reelsHashtag and trend discovery
Search hashtags by keyword to size a topic before committing to it, then walk the accounts posting under it with user search — no seed account required.
search/hashtags + search/usersComment mining and sentiment
Pull a post's comments and the replies under any thread, then feed the text to an LLM for themes, complaints or purchase intent. Pagination is a cursor, not a scraping problem.
post/comments + post/comments/repliesAudience and lookalike discovery
Pull the accounts that liked a post and the accounts Instagram rates as similar to a creator, then score them with profile calls. A prospect or collaborator list that starts from real engagement.
post/likers + user/similarSound and trend tracking
Search a song or artist, then list the Reels using that audio with its total reel count. Track how fast a sound spreads, and who is driving it, from one music id.
search/music + music/postsAgent tools and RAG pipelines
Point an agent at the remote MCP server and Instagram becomes a callable tool alongside every other Scavio platform — same key, same JSON envelope, no per-platform glue.
MCP + RESTNo code today? Use the free tools
Same endpoints behind them. 5 free runs a day, no account.
How to get Instagram data as JSON
- 1
Get an API key
Sign up for a Scavio account and copy your key from the dashboard. You get 50 credits free on signup, with no card required.
- 2
POST a username to an endpoint
Send {"username": "nike"} to https://api.scavio.dev/api/v1/instagram/profile with an Authorization: Bearer header. Every Instagram endpoint is a POST and takes a username, user_id, shortcode, post URL or keyword.
- 3
Read the JSON
The response wraps the Instagram data under data, plus credits_used and credits_remaining. Page through timelines by passing the cursor from the previous response.
Instagram API FAQ
What is the Scavio Instagram API?
+
It is a REST API that returns public Instagram data as structured JSON. Twenty POST endpoints cover profiles, posts, reels, stories, highlights, tagged posts, followers and following, similar accounts, post detail, comments, comment replies, post likers, and search across users, hashtags, Reels, music and locations. You authenticate with a Scavio API key and never handle Instagram credentials.
Who are these endpoints for?
+
Anyone who needs public Instagram data in a structured form rather than a browser tab. Developers and backend teams embedding it in a product; AI agent builders wiring Instagram in as an MCP or SDK tool; automation engineers running it inside n8n, Zapier or Make; GTM and sales teams enriching leads and building prospect lists from profile, likers and user-search results; brand managers tracking competitor posts, mentions and comment sentiment; and creators, agencies and influencer marketers vetting collaborators against real like, comment and play counts. The API is identical for all of them; what changes is which of the 20 endpoints you call.
Do I need a Meta app or app review to use it?
+
No. Meta's own Instagram APIs require a Facebook app, a linked business or creator account, and review for most permissions, and they return data for accounts that have authorised you, not arbitrary public profiles. Scavio needs none of that: sign up, take the key, send a username.
How much does an Instagram request cost?
+
Profile, user reels, tagged posts and music posts typically cost 1 credit; every other Instagram endpoint typically costs 2. User and hashtag search cost 8 when you send a cursor for deeper pages, and reels or tagged cost 2 the first time a username is looked up. A request can cost up to 10 when it needs extra work to answer, and credits_used in every response shows the exact charge. New accounts get 50 free credits on signup, one time, with no card required. Paid plans start at $30 per month for 7,000 credits.
Is this a low-cost Instagram scraper API?
+
Yes. A profile lookup is 1 credit, so the 50 free signup credits cover about 50 profiles or 25 timeline pages. On the $30 Project plan (7,000 credits) 1,000 profile lookups cost about $4.30, and on the $500 Growth plan (200,000 credits) about $2.50. There is no separate Instagram surcharge: the same credits work on every Scavio platform.
Can I get story highlights, likers and similar accounts?
+
Yes. User highlights lists an account's highlights with title, cover and story count, and highlight stories returns every story saved in one of them. Post likers returns up to about 1,000 accounts that liked a post plus its total like count, and similar accounts returns the creators Instagram suggests alongside an account. Each is 2 credits.
Can I search Reels, music and locations?
+
Yes. Reels search finds Reels by keyword with captions, authors, play counts and video URLs. Music search finds audio by song or artist, and music posts lists the Reels that use a track along with its total reel count. Location search returns places by name with id, address and coordinates.
Do I need Instagram login credentials?
+
No. You call the Scavio endpoint with your Scavio API key and get clean JSON back, so you never hand over an Instagram password, manage a session, or risk an account.
Can it read private accounts?
+
No. Only data Instagram makes publicly available is returned. A private account resolves to its profile shell (handle, name, counts and the is_private flag) and its posts are not accessible.
What does the response actually look like?
+
The API wraps the Instagram data under a data key and adds credits_used and credits_remaining. Profile fields include pk, id, username, full_name, biography, follower_count, following_count, media_count, is_verified and is_private. User posts returns data.data.items with code, caption.text, like_count, comment_count, media_type and media URLs per post, plus data.pagination_token for the next page.
How does pagination work?
+
Paginated endpoints return a cursor alongside the results: data.pagination_token for user posts and Reels search, next_max_id for reels, tagged, followers and following, next_min_id for comments, and paging_info.max_id for music posts. Pass it back as the cursor parameter on the next call to get the following page.
Which languages and tools are supported?
+
Official Python (pip install scavio) and JavaScript/TypeScript (npm i scavio) SDKs, a remote MCP server at mcp.scavio.dev for AI agents, and an n8n community node. Any language can call the REST endpoints directly with an HTTP client.
Is there a rate limit?
+
Requests are limited by your plan's credit balance and a per-plan concurrency ceiling rather than a fixed requests-per-second figure. Bursty batch jobs are fine; if you need sustained high concurrency, that is a plan question rather than a technical one.
Is scraping Instagram data legal?
+
Scavio returns publicly available data and does not access private content or authenticate as a user. You remain responsible for how you use the data, including compliance with Instagram's terms and with privacy law such as GDPR where personal data is involved. Talk to your own counsel for your specific use case.
Explore more of Scavio
TikTok API
Profiles, videos, comments and search as JSON.
Reddit API
Search Reddit and pull full comment threads.
X (Twitter) API
Post search, timelines and the social graph.
LinkedIn API
People, companies, jobs and posts.
Pricing
Credit packs and plans, with no per-platform surcharge.
MCP server
Every platform as a callable tool for your agents.
Start pulling Instagram data today
50 free credits on signup, no card. Your first request is a POST with a username in it.