InsightSocial API
How-to

Get an Instagram account's current stories

List the stories a public Instagram account has live right now, with image or video URLs, duration and post time. 50 credits per call.

To get the stories an Instagram account has live right now, call GET /v1/instagram/stories with the account's handle or user_id. It returns each live story with its ID, image or video URLs, thumbnail, duration, post time and author. It costs 50 credits. An account with nothing live returns an empty list rather than an error, and empty results are free.

Cost

50 credits per call, for the whole story tray. Asking for the same account again within 6 hours is answered from the shared cache for 2 credits; add fresh=1 to fetch the tray as it is now, at the full price. Failed calls and empty results are free.

Make the request

The handle is the username without the @: https://www.instagram.com/natgeo/ has the handle natgeo. You can send the numeric user_id instead for faster responses.

cURL
curl "https://api.insightsocial.app/v1/instagram/stories?handle=natgeo" \
  -H "x-api-key: $INSIGHTSOCIAL_API_KEY"

What comes back

A real response from 2026-10-14, shortened: long URLs cut. National Geographic had one story live.

Response (shortened)
{
  "success": true,
  "endpoint": "/v1/instagram/stories",
  "schema_version": "2",
  "data": {
    "items": [
      {
        "post": {
          "id": "4007131251999054397",
          "url": "https://www.instagram.com/p/DecMKSbxRo9/",
          "kind": "image",
          "content": {
            "text": null,
            "media_urls": ["https://scontent-iad6-1.cdninstagram.com/v/t51.82787-15/…"],
            "thumbnail_url": null,
            "duration_seconds": null
          },
          "author": {
            "id": null,
            "username": "natgeo",
            "display_name": "National Geographic",
            "verified": true
          },
          "engagement": { "views": null, "likes": null, "comments": null, "shares": null, "saves": null },
          "published_at": "2026-10-13T16:01:34.000Z",
          "ext": { "media_type": "image", "coauthors": [] }
        }
      }
    ],
    "total": null,
    "truncated": null
  },
  "pagination": { "next_cursor": null, "has_more": false, "page_size": 1 },
  "unavailable": [
    "items[].post.author.id",
    "items[].post.engagement.views",
    "items[].post.engagement.likes",
    "items[].post.engagement.comments"
  ],
  "credits_used": 50
}
FieldWhat it holds
data.items[].post.idThe story's ID. Pass it as story_id to the download endpoint below.
data.items[].post.content.media_urlsThe image or video file of the story.
data.items[].post.content.thumbnail_url, duration_secondsA video story's thumbnail and length. Both are null on this image story.
data.items[].post.kind, ext.media_typeWhether the story is an image or a video.
data.items[].post.published_atWhen the story was posted.
unavailableFields this endpoint cannot fill: the author's id and the view, like and comment counts are null, which means unknown, not zero.

How do I download one story at full resolution?

Call GET /v1/instagram/story/download with the author's user_id and the story's story_id (the post.id above). It returns that one story's full-resolution image or video URLs and metadata, for 50 credits.

author.id is null on the stories response, so get the numeric user ID from GET /v1/instagram/profile/about (10 credits), which returns it as data.author.id.

What are the limits?

  • Live stories only. The endpoint returns what is in the tray at the time of the call. For stories an account saved to its profile, use GET /v1/instagram/highlights.
  • No counts. Story views, likes and comments are null.
  • No author ID. author.id is null; use the username, or look up the ID as shown above.
  • Empty is normal. An account with no live story returns an empty items list, which costs nothing.

What can I build with it?

  • Story archives. Check a set of brand or competitor accounts on a schedule and save the media of each new story ID.
  • Campaign checks. Confirm that a creator posted the story agreed in a deal, with the time it went up.
  • Competitor monitoring. Track how often competitors post stories and what kind (image or video).

On this page