Instagram post or reel details API
Caption, counts, media, owner, tagged users, co-authors, sound and carousel children of one post or reel.
GET /v1/instagram/post
GET /v1/instagram/post
Caption, counts, media, owner, tagged users, co-authors, sound and carousel children of one post or reel. For videos stats.views is the view count of the post's embed page (extra.views_source = embed_views), which differs from the play count of the reels tab.
- Cost: 1 credit
- Cache: Results are kept up to 30 days; send
max_age_daysto reuse them for free. - Timeout: A request still running after about 25 seconds answers
202with a job to poll (Batch and jobs).
Parameters#
| Name | Type | Required | Description |
|---|---|---|---|
url | URL | one of | Post or reel URL (/p/..., /reel/..., /tv/...). Accepted hosts: instagram.com, instagr.am. |
id | string | one of | Shortcode or numeric media id. Also accepted as shortcode, media_id. |
include_play_count | boolean | no | Set false to skip the extra fetch for the video view count and answer faster. Default true. |
Send at least one of url, id. If you send several, the first listed is used and the rest are ignored.
Every request also accepts:
region: two-letter country code for results that vary by country. Changing it restarts the cursor chain.trim:truefor a smaller response withoutnullfields andextra.raw:trueto also get the platform's original object asraw.max_age_days: accept a cached result up to this many days old, for 0 credits (Caching).
Example request#
Set your key in the environment first (see Authentication).
1curl -G "https://api.socialscrape.dev/v1/instagram/post" \2 -H "x-api-key: $SOCIALSCRAPE_API_KEY" \3 --data-urlencode "url=https://www.instagram.com/reel/DfF3eqGSKKc/"1import os2import requests34params = {5 "url": "https://www.instagram.com/reel/DfF3eqGSKKc/",6}7res = requests.get(8 "https://api.socialscrape.dev/v1/instagram/post",9 headers={"x-api-key": os.environ["SOCIALSCRAPE_API_KEY"]},10 params=params,11)12body = res.json()1314if body["ok"]:15 print(body["data"])16else:17 print(body["error"]["code"], body["error"]["message"])1const url = new URL("https://api.socialscrape.dev/v1/instagram/post");2url.search = new URLSearchParams({3 "url": "https://www.instagram.com/reel/DfF3eqGSKKc/"4}).toString();5const res = await fetch(url, {6 headers: { "x-api-key": process.env.SOCIALSCRAPE_API_KEY! },7});8const body = await res.json();910if (body.ok) {11 console.log(body.data);12} else {13 console.error(body.error.code, body.error.message);14}1{2 "nodes": [3 {4 "name": "SocialScrape Instagram post or reel details",5 "type": "n8n-nodes-base.httpRequest",6 "typeVersion": 4.2,7 "position": [8 0,9 010 ],11 "parameters": {12 "method": "GET",13 "url": "https://api.socialscrape.dev/v1/instagram/post",14 "sendQuery": true,15 "queryParameters": {16 "parameters": [17 {18 "name": "url",19 "value": "https://www.instagram.com/reel/DfF3eqGSKKc/"20 }21 ]22 },23 "sendHeaders": true,24 "headerParameters": {25 "parameters": [26 {27 "name": "x-api-key",28 "value": "={{ $env.SOCIALSCRAPE_API_KEY }}"29 }30 ]31 }32 }33 }34 ],35 "connections": {}36}Example response#
This is a sample from a recorded response, lists and long text are shortened. Status 200.
1{2 "ok": true,3 "credits_charged": 1,4 "credits_remaining": 4999,5 "cached": false,6 "cached_at": null,7 "request_id": "req_c79d38f5e72c10e56a98d808",8 "data": {9 "object": "post",10 "platform": "instagram",11 "id": "DfF3eqGSKKc",12 "url": "https://www.instagram.com/reel/DfF3eqGSKKc/",13 "type": "reel",14 "author": {15 "id": "673882723",16 "handle": "nasajohnson",17 "name": "NASA’s Johnson Space Center",18 "url": "https://www.instagram.com/nasajohnson/",19 "avatar_url": "https://scontent-ord5-2.cdninstagram.com/v/t51.2885-19/11421977_902607023152688_677352411_a.jpg?_nc_cat=1&ccb=7-5&_nc_sid=f7ccc5&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy4xNTAuQzMifQ%3D%3D&_nc_ohc=4BYI5YfrJ3MQ7kNvwFFve1G&_nc_oc=Adr183I...",20 "verified": true21 },22 "title": null,23 "text": "More power loading. 🔋\n\nToday, NASA astronaut Anil Menon and CSA (Canadian Space Agency) astronaut Joshua Kutryk conducted a spacewalk to install the 7th of 8 new roll out solar arrays. The final new array is slated to be installed during th...",24 "published_at": "2026-10-29T20:35:35Z",25 "duration_seconds": 41.376,26 "language": null,27 "hashtags": [],28 "mentions": [],29 "stats": {30 "views": 90356,31 "likes": 6271,32 "comments": 64,33 "shares": null,34 "saves": null,35 "dislikes": null36 },37 "media": {38 "thumbnail_url": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-15/865204930_18640535563026724_3353517023594775034_n.jpg?stp=dst-jpg_e35_s640x640_tt6&_nc_cat=1&ccb=7-5&_nc_sid=18de74&efg=eyJlZmdfdGFnIjoiQ0xJUFMuYmVzdF9pbWFnZV91cmxnZW4uQzMifQ%3D%3D&_nc...",39 "video_url": "https://scontent-ord5-2.cdninstagram.com/o1/v/t2/f2/m86/AQMgO65IBSO4D1Fg1v8qWRLjCR7N-LaX4H_sPQeyoyjFQE149o094RWHdy1qn9GBy1VHAND2Io7UoTGpUBgIXE-YSbD4UnaCrO694xk.mp4?_nc_cat=102&_nc_sid=5e9851&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_ohc=4...",40 "audio_url": null,41 "image_urls": null,42 "width": 1080,43 "height": 192044 },45 "song": {46 "id": "29430201353240150",47 "title": "Original audio",48 "artist": "nasajohnson",49 "url": "https://www.instagram.com/reels/audio/29430201353240150/"50 },51 "location": null,52 "is_pinned": null,53 "is_sponsored": null,54 "extra": {55 "accessibility_caption": "Video by NASA’s Johnson Space Center on October 29, 2026. May be an image of poster, magazine and text.",56 "coauthors": [57 "iss",58 "nasa"59 ],60 "media_id": "4018862241843028636",61 "owner_followers": 1578779,62 "product_type": "clips",63 "published_from": "taken_at",64 "tagged_users": [65 "nasa",66 "iss",67 "astro_anil"68 ],69 "topics": [70 "spacewalk",71 "iss",72 "astronaut"73 ],74 "views_source": "embed_views"75 }76 },77 "cursor": null,78 "has_more": null79}Response#
A Post object in data.
See Data models for every field. The envelope around data is described in Responses.
Errors#
Failures are free: credits_charged is 0. Branch on error.code, never on the message.
| Code | HTTP | Retry | Meaning |
|---|---|---|---|
invalid_params | 400 | no | A parameter is missing, unknown or has the wrong type. |
unsupported_url | 400 | no | The URL is not one this endpoint accepts (wrong platform or form). |
not_found | 404 | no | The platform says this profile, post or item does not exist. |
Every request can also fail with the account and platform errors listed on the Errors page.
Example error:
1{2 "ok": false,3 "error": {4 "code": "not_found",5 "message": "The platform says this profile, post or item does not exist.",6 "retryable": false7 },8 "credits_charged": 0,9 "request_id": "req_ad07f2ef1c7bd8ece6d4c1c3"10}Related endpoints#
- Instagram profile (
GET /v1/instagram/profile) - Instagram profile by user id (
GET /v1/instagram/basic-profile) - Instagram profile post count (
GET /v1/instagram/profile/post-count) - Instagram profile posts (
GET /v1/instagram/profile/posts) - Instagram profile reels (
GET /v1/instagram/profile/reels) - Instagram reel transcript (
GET /v1/instagram/post/transcript) - Instagram post comments (
GET /v1/instagram/post/comments) - Instagram popular topic (
GET /v1/instagram/search/popular)