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 "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.
{
"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
}| Field | What it holds |
|---|---|
data.items[].post.id | The story's ID. Pass it as story_id to the download endpoint below. |
data.items[].post.content.media_urls | The image or video file of the story. |
data.items[].post.content.thumbnail_url, duration_seconds | A video story's thumbnail and length. Both are null on this image story. |
data.items[].post.kind, ext.media_type | Whether the story is an image or a video. |
data.items[].post.published_at | When the story was posted. |
unavailable | Fields 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.idisnull; use the username, or look up the ID as shown above. - Empty is normal. An account with no live story returns an empty
itemslist, 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).
Related
GET /v1/instagram/storiesreference: every parameter and field.GET /v1/instagram/story/download: one story's full-resolution media.GET /v1/instagram/highlights: stories an account saved to its profile.- Instagram endpoints: everything the API covers on Instagram.
Get Instagram posts an account is tagged in
List the posts other people tagged an Instagram account in, with caption, media URLs, engagement counts and who posted each. 50 credits per page.
Find Instagram accounts similar to another account
Get the accounts Instagram suggests as similar to a user, with username, name, avatar and verified badge. 50 credits; more with profile details.