Instagram Post Stats API
Scrape Instagram Post Stats data with one API call. Returns full engagement stats for a single Instagram post or reel — likes, comments, the view (play) count, and the share count (`engagement.shares`), which is the number shown next to the paper-plane Share icon in the app. The share count is a strong authenticity signal: unlike likes and comments, shares are hard to inflate, so it helps separate genuine reach from bought engagement. The standard /v1/instagram/post endpoint cannot return the share count. Metric availability depends on the media type: likes and comments populate on every post, but Instagram exposes a view (play) count and a share count only on video media (reels, videos, and carousels containing a video). On photo posts and photo-only carousels, `engagement.views` and `engagement.shares` are `null`, and because `computed.estimated_reach` and `computed.engagement_rate` derive from views, they are `null` there too. `engagement.saves` stays null on every post because Instagram does not expose a numeric save count. Use this endpoint for a single post; to get the share count for every reel or post across a whole feed in one call, use /v1/instagram/profile/reels/full or /v1/instagram/profile/posts/full. Note: Instagram's newer two-arrows Repost ("regram") counter shown in the mobile app is a separate metric that Instagram does not include in its post data, so no API can return it. Pass the post `url` (a /p/, /reel/, or /tv/ link; story URLs are not accepted, list a user's active stories with /v1/instagram/stories instead).
Last updated August 2026Maintained by the SocialCrawl team
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.
Use it when you need views or shares for a single post; photo posts return both as null, and post covers the caption and media details.
Searching 48 platforms in parallel
What can you do with the Post Stats API?
The Post Stats endpoint gives you structured Instagram data with computed fields in a single request. No scraping infrastructure to build or maintain.
Example Request
curl -H "x-api-key: YOUR_API_KEY" \
"https://www.socialcrawl.dev/v1/instagram/post/stats?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FCnpPou9hWqq%2F"import requests
response = requests.get(
"https://www.socialcrawl.dev/v1/instagram/post/stats",
params={
'url': 'https://www.instagram.com/p/CnpPou9hWqq/',
},
headers={"x-api-key": "YOUR_API_KEY"},
)
data = response.json()const response = await fetch(
"https://www.socialcrawl.dev/v1/instagram/post/stats?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FCnpPou9hWqq%2F",
{
headers: { "x-api-key": "YOUR_API_KEY" },
},
);
const data = await response.json();Parameters
| Parameter | Required | Description |
|---|---|---|
| url | Yes | URL of the Instagram post (a /p/, /reel/, or /tv/ link). |
| safe_url | No | When true, returns URL-safe media links suitable for embedding. |
What does the Instagram Post Stats API return?
Every response follows one unified schema. Here is a real, unmodified response body, so you can see the exact fields you get back before spending a credit.
Example response
{
"success": true,
"platform": "youtube",
"endpoint": "/v1/youtube/video",
"data": {
"post": {
"id": "dQw4w9WgXcQ",
"content": {
"text": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
"thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg",
"duration_seconds": 214,
"media_urls": "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw"
},
"author": {
"username": "UCuAXFkgsw1L7xaCfnd5JJOw",
"display_name": "Rick Astley",
"avatar_url": null,
"verified": null
},
"engagement": {
"views": 1789065639,
"likes": 19216844,
"comments": 2443809,
"shares": null,
"saves": null
},
"published_at": "2009-10-25T06:57:33Z",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"ext": {
"content_type": "video",
"tags": [
"rick astley",
"Never Gonna Give You Up",
"nggyu",
"never gonna give you up lyrics",
"rick rolled",
"Rick Roll",
"rick astley official",
"rickrolled",
"Fortnite song",
"Fortnite event",
"Fortnite dance",
"fortnite never gonna give you up",
"rick roll",
"rickrolling",
"rick rolling",
"never gonna give you up",
"80s music",
"rick astley new",
"animated video",
"rickroll",
"meme songs",
"never gonna give u up lyrics",
"Rick Astley 2022",
"never gonna let you down",
"animated",
"rick rolls 2022",
"never gonna give you up karaoke"
],
"categoryId": "10",
"categoryTitle": "Music",
"topicCategories": [
"https://en.wikipedia.org/wiki/Electronic_music",
"https://en.wikipedia.org/wiki/Music",
"https://en.wikipedia.org/wiki/Pop_music",
"https://en.wikipedia.org/wiki/Rhythm_and_blues",
"https://en.wikipedia.org/wiki/Soul_music"
],
"duration": "PT3M34S",
"license": "youtube",
"madeForKids": false,
"defaultAudioLanguage": "en",
"hasPaidProductPlacement": false,
"caption": "true",
"description": "The official video for “Never Gonna Give You Up” by Rick Astley. \n\nNever: The Autobiography 📚 OUT NOW! \nFollow this link to get your copy and listen to Rick’s ‘Never’ playlist ❤️ #RickAstleyNever\nhttps://linktr.ee/rickastleynever\n\n“Never Gonna Give You Up” was a global smash on its release in July 1987, topping the charts in 25 countries including Rick’s native UK and the US Billboard Hot 100. It also won the Brit Award for Best single in 1988. Stock Aitken and Waterman wrote and produced the track which was the lead-off single and lead track from Rick’s debut LP “Whenever You Need Somebody”. The album was itself a UK number one and would go on to sell over 15 million copies worldwide.\n\nThe legendary video was directed by Simon West – who later went on to make Hollywood blockbusters such as Con Air, Lara Croft – Tomb Raider and The Expendables 2. The video passed the 1bn YouTube views milestone on 28 July 2021.\n\nSubscribe to the official Rick Astley YouTube channel: https://RickAstley.lnk.to/YTSubID\n\nFollow Rick Astley:\nFacebook: https://RickAstley.lnk.to/FBFollowID \nTwitter: https://RickAstley.lnk.to/TwitterID \nInstagram: https://RickAstley.lnk.to/InstagramID \nWebsite: https://RickAstley.lnk.to/storeID \nTikTok: https://RickAstley.lnk.to/TikTokID\n\nListen to Rick Astley:\nSpotify: https://RickAstley.lnk.to/SpotifyID \nApple Music: https://RickAstley.lnk.to/AppleMusicID \nAmazon Music: https://RickAstley.lnk.to/AmazonMusicID \nDeezer: https://RickAstley.lnk.to/DeezerID \n\nLyrics:\nWe’re no strangers to love\nYou know the rules and so do I\nA full commitment’s what I’m thinking of\nYou wouldn’t get this from any other guy\n\nI just wanna tell you how I’m feeling\nGotta make you understand\n\nNever gonna give you up\nNever gonna let you down\nNever gonna run around and desert you\nNever gonna make you cry\nNever gonna say goodbye\nNever gonna tell a lie and hurt you\n\nWe’ve known each other for so long\nYour heart’s been aching but you’re too shy to say it\nInside we both know what’s been going on\nWe know the game and we’re gonna play it\n\nAnd if you ask me how I’m feeling\nDon’t tell me you’re too blind to see\n\nNever gonna give you up\nNever gonna let you down\nNever gonna run around and desert you\nNever gonna make you cry\nNever gonna say goodbye\nNever gonna tell a lie and hurt you\n\n#RickAstley #NeverGonnaGiveYouUp #WheneverYouNeedSomebody #OfficialMusicVideo",
"default_language": "en"
},
"flags": {
"deleted": false,
"nsfw": null,
"spoiler": null,
"pinned": null
}
},
"computed": {
"engagement_rate": 0.012107,
"language": "en",
"content_category": "entertainment",
"estimated_reach": 2146878767
}
},
"credits_used": 1,
"credits_remaining": 9999,
"request_id": "req_example000000",
"cached": false
}Example captured from the YouTube API. Every SocialCrawl endpoint returns this same unified schema, so your Instagram Post Stats response has the same fields.
How does the Instagram Post Stats API work?
Send a GET request with your API key and get back clean, structured JSON in our unified schema. Supported computed fields are populated when the source provides the required inputs.
Method
GET
Response
JSON
How do you scrape social media data in seconds?
The fastest social media scraping API for developers. Scrape profiles, posts, comments, and analytics from 48 platforms covering 10B+ monthly active users.
One schema, every platform
Query 48 platforms with identical response structures. Write your integration once.
Computed fields, not just scraped
When an endpoint supports these metrics and the source provides the required inputs, the normalized record includes engagement_rate, estimated_reach, content_category, and language — ready to use.
See your data before you code
Visual Data Explorer — paste any URL, get rich result cards, sortable tables, CSV export.
import requests
response = requests.get(
'https://www.socialcrawl.dev/v1/tiktok/profile',
params={'handle': 'charlidamelio'},
headers={'x-api-key': 'sc_YOUR_API_KEY'}
)
data = response.json(){
"success": true,
"platform": "tiktok",
"data": {
"author": {
"username": "charlidamelio",
"followers": 152400000
},
"engagement": {
"likes": 12400000000,
"engagement_rate": 0.087
},
"metadata": {
"language": "en",
"content_category": "lifestyle"
}
}
}Have a question? We got answers
Find answers to frequently asked questions about SocialCrawl's API, pricing, and capabilities.
Contact usHow do I get the share count for an Instagram post?
Why can't the standard post endpoint return share count?
Why does the share count matter for authenticity?
Does it return the save count or the repost count?
What post URLs and pricing does the endpoint use?
Ask AI about SocialCrawl
Ready to scrape Instagram Post Stats data?
Get your API key and start pulling Instagram data in under 60 seconds.
