Instagram Stories API
Fetch an account's currently live stories — the ones that expire in 24 hours — with direct image and video URLs, before they disappear.
50 free credits on signup · no card required
curl "https://api.instagramapi.dev/v1/profile/stories?handle=nike" \
-H "Authorization: Bearer $INSTAGRAMAPI_KEY"What you get
Structured JSON, not raw HTML
- ▹Every currently active story on the account, with type (photo or video)
- ▹Direct image_url and video_url for each story
- ▹video_duration for video stories
- ▹taken_at timestamp showing exactly when it was posted
- ▹Pair with /profile/highlights for a profile's permanently saved highlight reels
Example response
What comes back
{
"data": {
"items": [
{
"id": "3925236392186180177",
"shortcode": "DZxabc12345",
"type": "video",
"taken_at": "2026-06-23T18:02:11Z",
"image_url": "https://instagram.com/.../story.jpg",
"video_url": "https://instagram.com/.../story.mp4",
"video_duration": 14.2
}
],
"next_cursor": null
}
}Response fields
Fields returned by GET /v1/profile/stories
| Field | Description |
|---|---|
| items | The account's currently active stories. |
| id | Numeric story id. |
| shortcode | The story's shortcode. |
| type | Media type: photo or video. |
| taken_at | When the story was posted (ISO 8601, UTC). |
| image_url | URL of the story image (cover frame for video). |
| video_url | URL of the story video; null for photos. |
| video_duration | Story video length in seconds; null for photos. |
| next_cursor | Always null. This endpoint returns a single page and isn't paginated. |
No login required
Nothing to authenticate but your API key
No OAuth flow
One static API key in an Authorization: Bearer header. No redirect, no refresh tokens, no expiring session.
No Meta app review
Never touch Meta's developer platform, Business Verification, or a connected Facebook Page. Sign up directly with Instagram API.
Public data only
Every endpoint returns only what's already visible on Instagram without logging in. Private accounts are never accessible.
Pricing
2 credits per request. Credits start at $8.00 per 1,000 and drop to $6.00 per 1,000 at volume — no subscription, no minimums. New accounts get 50 free credits.
See full pricingFAQ
Instagram Stories API, explained
Can I get stories that have already expired?
No — Instagram stories are only visible for 24 hours, and this endpoint mirrors that: it returns whatever's currently live, nothing older.
How do I get older or pinned stories?
Use /v1/profile/highlights — it returns an account's saved highlight reels, which persist past the 24-hour window.
Does this require polling to catch stories in time?
Yes, if you need every story an account posts, poll on an interval shorter than 24 hours. There's no push or webhook mechanism for stories.
Do private accounts' stories show up?
No, only public accounts.
What does a stories lookup cost?
2 credits per request, returning every currently active story in one call.
Related
More ways to pull Instagram data
Start pulling stories api data
Create a free key and make your first request in under a minute — 50 credits on us.