SocialToAIStart freeConsole
POST/v1/detail"platform": "instagram"

Instagram Detail API

One post by ID or link.

The Instagram Detail API returns one public Instagram post by ID or link: text, author, likes, comment count, views and publish time, in the same response format as every other SocialToAI call. One call costs 2 credits ($0.004 to $0.0067 depending on the pack); failed calls are free. Call it over HTTP or from your AI client over MCP. Last tested 2026-10-17.

100 credits on sign-up, no card needed
2 creditsper call
One objectreturned per call
2026-10-17last tested
1.0 KBsample response, 1 item

Last updated:

Request and response

curl https://api.socialtoai.com/v1/detail \  -H "Authorization: Bearer $SOCIALTOAI_KEY" \  -H "Content-Type: application/json" \  -d '{    "platform": "instagram",    "id": "DeCPVhERA8e"  }'
import osimport requestsresponse = requests.post(    "https://api.socialtoai.com/v1/detail",    headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"},    json={        "platform": "instagram",        "id": "DeCPVhERA8e",    },)print(response.json())
# Connected over MCP? Ask in plain words.Read this Instagram post: DeCPVhERA8e# Your AI calls the detail tool with:{  "platform": "instagram",  "id": "DeCPVhERA8e"}
Change the requestThe code above follows.
value
Sign in to run2 creditsOpens in the Playground with these parameters after you sign in. It never runs by itself.
200 OK1.0 KB2 credits
{  "platform": "instagram",  "status": "ok",  "items": [    {      "platform": "instagram",      "id": "…",      "ref": "…",      "approx": [],      "type": "content",      "url": "https://example.com/…",      "format": "video",      "title": null,      "text": "…",      "published_at": "2026-10-03T14:10:18.000Z",      "author": {        "id": "…",        "username": "…",        "name": "…",        "verified": true,        "followers": null      },      "metrics": {        "likes": 221586,        "comments": 2299,        "shares": null,        "collects": null,        "views": 5610912,        "reposts": null      },      "images": ["https://example.com/…"],      "hashtags": null,      "is_pinned": null    }  ],  "unavailable": ["title", "author.followers", "metrics.shares", "metrics.collects", "metrics.reposts", "hashtags", "is_pinned"],  "cost_credits": 2}
@…·
likes 221,586comments 2,299shares nullcollects nullviews 5,610,912

Names and text were removed from the sample; the numbers are as recorded.

Sample dataFull response

4 parameters.
1 required.

Send them as a JSON body with POST. Your key goes in the Authorization header, never in the URL.

NameTypeRequiredDefaultDescription
platformstringRequired—Always "instagram" on this page.
idstringOne of these—The post's shortcode: the part of its link after /p/ or /reel/
urlstringOne of these—Web link to the post or reel
includestringOptional—"transcript": the transcript of the video (2 credits).
"transcript"

Where to get what you send.

id

The post's shortcode: the part of its link after /p/ or /reel/ (e.g. DeCPVhERA8e)

Every item these return carries its ref; send it as it is:

Or send the web link: the url field of the same items.

The fields of each item.
What Instagram cannot give is marked.

FieldTypeMeaning
items[].urlstringA link that opens the item.
items[].formatstringvideo, image, text or article.
items[].titlestringalways nullThe title.
items[].textstringThe body text or caption.
items[].published_atstringWhen it was published, ISO 8601 in UTC.
items[].author.idstringThe author's account ID.
items[].author.usernamestringThe author's handle.
items[].author.namestringThe author's display name.
items[].author.verifiedbooleanWhether the author is verified.
items[].author.followersintegeralways nullThe author's follower count.
items[].metrics.likesintegerLikes.
items[].metrics.commentsintegerComments.
items[].metrics.sharesintegeralways nullShares.
items[].metrics.collectsintegeralways nullSaves.
items[].metrics.viewsintegerViews or plays.
items[].metrics.repostsintegeralways nullReposts.
items[].imagesstring[]Image addresses.
items[].hashtagsstring[]always nullHashtags, without the #.
items[].is_pinnedbooleanalways nullWhether the author pinned it.
nullFields Instagram cannot give

Read null as “Instagram did not give this”, not as zero. These are always null on this call:

  • titleThe title.
  • author.followersThe author's follower count.
  • metrics.sharesShares.
  • metrics.collectsSaves.
  • metrics.repostsReposts.
  • hashtagsHashtags, without the #.
  • is_pinnedWhether the author pinned it.
Other values of this call

Send the parameter and the call returns something else:

include=transcriptthe transcript of the video2 credits

Every item also has platform, id, ref, approx and type; the response around the items is the same on every call. Response format

What to expect.

One call returns one object, with no pages, for 2 credits.

1 call per second per key, 5 after a purchase; going over is not charged. Rate limits

A failed call costs 0 credits and is never retried on its own. Error codes

Once connected over MCP, these questions use it.

  1. Read this Instagram post: DeCPVhERA8e
    detail {"platform":"instagram","id":"DeCPVhERA8e"}
    2 credits
  2. Read this Instagram post: DeCPVhERA8e: the transcript of the video.
    detail {"platform":"instagram","id":"DeCPVhERA8e","include":"transcript"}
    2 credits
  3. Get a page of the newest Instagram posts under a hashtag, by its name, about 33 a page: nasa, then for the first 3: read this Instagram post.
    call {"op":"instagram.hashtag_posts","id":"nasa"}detail {"platform":"instagram","id":"<ref>"} × 3
    8 credits

These ready-made tools call it when they run.

The same call on other platforms.

All platforms and prices
Change one word in the request: platform. The response keeps the same shape.

Questions.
Short answers.

Everything on Instagram
Do I need a Instagram account or Instagram's own API access?
No. You only need a SocialToAI key. The call returns content and account information publicly visible on Instagram; you never sign in to Instagram or apply for anything there.
Can I get the transcript of the video?
Yes: send include=transcript in the request. That call costs 2 credits.

Your AI is one URL away
from all of social media.

100 credits on sign-up, no card needed