Stories

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

FieldDescription
itemsThe account's currently active stories.
idNumeric story id.
shortcodeThe story's shortcode.
typeMedia type: photo or video.
taken_atWhen the story was posted (ISO 8601, UTC).
image_urlURL of the story image (cover frame for video).
video_urlURL of the story video; null for photos.
video_durationStory video length in seconds; null for photos.
next_cursorAlways 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 pricing

FAQ

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.

Start pulling stories api data

Create a free key and make your first request in under a minute — 50 credits on us.