ScavioScavio
Pricing
Tools
Sign InsGet Startedg
Blog
Instagram6 min readOct 27, 2026

How to Get Instagram Profile, Post and Reels Data Through an API

Use Scavio's Instagram API: one POST returns a profile, a page of reels with view, like and comment counts, or a feed with each reel's share and save counts.

Scavio Team

Oct 27, 2026

Try the Instagram API free
scavio
Social media / Creator analytics
Instagram

To get Instagram profile, post and reels data programmatically, use Scavio's Instagram API. POST /api/v1/instagram/profile returns follower, following and post counts, bio and link; /user/reels returns a page of reels, each with view_count, like_count and comment_count; and /user/posts returns the feed, where every reel also carries share_count and save_count. A profile or a page of reels typically costs 1 credit and a page of posts 2, about $0.002 a credit on the Growth plan billed yearly.

Meta's Instagram API is built for your own professional account: insights such as reach, shares and saves cover your app user's media, and other accounts are reachable only if they are business or creator accounts, through your own professional account and a Meta app. To read any public profile and its reels, call a third-party API. Every response below was captured on October 27, 2026, with long URLs trimmed.

Step 1: Get the profile

Bash
curl -s https://api.scavio.dev/api/v1/instagram/profile \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"username": "mkbhd"}'
JSON
{
  "data": {
    "pk": "28943446",
    "username": "mkbhd",
    "full_name": "Marques Brownlee",
    "follower_count": 5302311,
    "following_count": 582,
    "media_count": 2119,
    "is_private": false,
    "is_verified": true,
    "biography": "I promise I won't overdo the filters.",
    "external_url": "https://mkbhd.com/",
    "category": ""
  },
  "response_time": 3903,
  "credits_used": 1
}

pk is the numeric user id every other endpoint also accepts. Check is_private before you pay for post calls. Two fields are less reliable: category was empty for 6 of the 10 creators we pulled, and media_count came back as 0 for 3 of them, so count posts from Step 3 if you need the number.

Step 2: Pull a page of reels

Bash
curl -s https://api.scavio.dev/api/v1/instagram/user/reels \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"username": "mkbhd"}'

This returned 12 reels from October 21 back to May 25, 2026. One row, as captured (thumbnail and video URLs omitted):

JSON
{
  "id": "4012807457708925661_28943446",
  "pk": "4012807457708925661",
  "code": "DewWx88x2Ld",
  "media_type": 2,
  "is_video": true,
  "like_count": 251909,
  "comment_count": 1347,
  "view_count": 5667115,
  "taken_at": 1792584041,
  "caption_text": "ASMR iPhone Duo Unboxing. Full review is up on YouTube now",
  "owner": {
    "pk": "28943446",
    "username": "mkbhd",
    "full_name": "Marques Brownlee",
    "is_verified": true
  }
}

code is the shortcode in the reel's URL, taken_at is a Unix timestamp, and each row also has thumbnail_url and video_url. Across this page the median reel had 2,629,741 views against 5,302,311 followers: 49.6%. Run the same two calls over 10 creators and that share ranged from 2.9% to 49.6%, which is why reach belongs next to the follower count; the best Instagram profile scraper APIs has the chart.

Step 3: Read the feed for shares and saves

Bash
curl -s https://api.scavio.dev/api/v1/instagram/user/posts \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"username": "mkbhd"}'

The posts endpoint returns the feed in data.data.items: 12 items here, 8 reels (product_type "clips"), 2 photos and 2 carousels. Reels in the feed carry more counters than the reels endpoint. Selected fields from one item:

JSON
{
  "code": "DdFHJkpyy58",
  "product_type": "clips",
  "taken_at": 1788985593,
  "like_count": 1141620,
  "comment_count": 13691,
  "play_count": 31175846,
  "ig_play_count": 31175846,
  "share_count": 535913,
  "save_count": 60956,
  "video_duration": 19.9
}

caption.text, user, image_versions, video_versions and tagged_users are in the same object. Watch the two play counters on collaboration posts: on one MKBHD collaboration reel, play_count was 33,147,682 and ig_play_count 16,585,851, and the reels endpoint's view_count matched ig_play_count. Pick one and store it consistently. A page of posts costs 2 credits.

Step 4: Get one reel or post by shortcode

Bash
curl -s https://api.scavio.dev/api/v1/instagram/post \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"shortcode": "DewWx88x2Ld"}'

The post endpoint takes a shortcode, a post URL or a media id and returns the item in data.items[0]: play_count 5,667,152, like_count 251,910, comment_count 1,348, video_duration 46.4 seconds, the caption, the author and the audio details, in 1.8 seconds for 2 credits. Use it when you start from links rather than accounts. For the conversation under a reel, post comments returns comment text, author and like count a page at a time.

Step 5: Page back through older reels and posts

Reels responses include next_max_id; send it back as cursor:

Bash
curl -s https://api.scavio.dev/api/v1/instagram/user/reels \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"username": "mkbhd", "cursor": "<next_max_id from the previous page>"}'

The second page returned 12 more reels, May 25 back to January 30, 2026, with no overlap with the first, for 1 credit. Posts work the same way with data.pagination_token as the cursor. Stop when the cursor comes back empty.

All 20 Instagram endpoints

EndpointWhat it returnsCredits (typical)
/api/v1/instagram/profileCounts, bio, link, verified and private flags, user id1
/api/v1/instagram/user/reelsReels with view, like and comment counts1 (2 on a new username)
/api/v1/instagram/user/postsFeed posts; reels with plays, shares and saves2 per page
/api/v1/instagram/user/taggedPosts the account is tagged in1 (2 on a new username)
/api/v1/instagram/user/storiesActive stories with media URLs2
/api/v1/instagram/user/highlightsStory highlights with title and cover2
/api/v1/instagram/highlight/storiesEvery story in one highlight2
/api/v1/instagram/user/followersFollower list2 per page
/api/v1/instagram/user/followingsAccounts the user follows2 per page
/api/v1/instagram/user/similarSimilar accounts2
/api/v1/instagram/postOne post or reel by shortcode, URL or media id2
/api/v1/instagram/post/commentsComments with author and like count2 per page
/api/v1/instagram/post/comments/repliesReplies to one comment2
/api/v1/instagram/post/likersUp to about 1,000 likers and the total like count2
/api/v1/instagram/search/usersAccounts matching a keyword2 (8 with a cursor)
/api/v1/instagram/search/hashtagsHashtags with media counts2 (8 with a cursor)
/api/v1/instagram/search/reelsReels matching a keyword2 per page
/api/v1/instagram/search/musicAudio tracks by song or artist2
/api/v1/instagram/music/postsReels that use a track1 per page
/api/v1/instagram/search/locationsPlaces with id, address and coordinates2

Each call costs what it took to answer, shown in credits_used on every response and never more than 10: in our test 9 of 11 profile calls billed 1 credit and 2 billed 9.

Getting started

  1. Sign up at dashboard.scavio.dev/sign-up: 50 free credits, no card required.
  2. Copy your API key from the dashboard.
  3. Send a POST to /api/v1/instagram/profile with a username and your key in the Authorization header.

Try the Instagram API free in the playground first, or call it from Claude and other agents through the MCP server.

Reference: Instagram API overview · profile · user reels · user posts · post · reels search

Frequently asked questions

Can I get Instagram reel views through an API?

Yes. Scavio's /api/v1/instagram/user/reels returns a page of a public account's reels, each with view_count, like_count and comment_count, for 1 credit. Meta's own API returns views for reels on your own professional account, and for other professional accounts through business discovery.

How do I get share and save counts for Instagram reels?

For any public account, page the feed with /api/v1/instagram/user/posts. Each reel in it carries share_count and save_count next to play_count and like_count. For your own professional account, Meta's media insights endpoint returns shares and saved.

Do I need an Instagram account or a Meta app to get this data?

Not for public data through a third-party API. Meta's Instagram API needs a Meta app, an Instagram professional account and an access token, and reads other accounts only if they are business or creator accounts. A third-party API needs only its own API key.

How much does Instagram data cost with Scavio?

A profile or a page of reels typically costs 1 credit and a page of posts or a single post 2. Each call costs what it took to answer, shown in credits_used and never more than 10. At the Growth plan billed yearly a credit is about $0.002, and new accounts get 50 free credits with no card.

Can I get data from private Instagram accounts?

No. Only public data is returned. A private account resolves to its profile header with is_private set to true, and its posts and reels are not available.

Instagram data as JSON

  • Profiles, posts and reels in one API
  • Views, likes, shares and saves per reel
  • No Meta app, no Instagram login
Try the Instagram API free

50 free credits, no credit card

On this page

  1. Step 1: Get the profile
  2. Step 2: Pull a page of reels
  3. Step 3: Read the feed for shares and saves
  4. Step 4: Get one reel or post by shortcode

Related articles

View all
  • scavio
    Comparison / Social media
    Instagram
    6 Best Instagram Profile Scraper APIs in 2026: Scavio Pairs Every Profile With Its Reel Views
  • scavio
    Reels / Creator analytics
    Instagram
    Can You Pull Reels Views, Shares and Likes From an Instagram API? Yes, for Any Public Reel
ScavioScavio

One scraper API for every social, search, e-commerce and real estate platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy