Instagram Stories & Highlights Scraper

Export public Instagram story and highlight metadata, media URLs, timestamps, captions, profile context, and status rows from usernames or profile URLs.

Data fields

FieldTypeDescription
kindstringRow type: story, highlight_item, or profile_status.
usernamestringInstagram username.
profileUrlstringPublic Instagram profile URL.
profileIdstring | nullInstagram numeric profile ID when available.
fullNamestring | nullProfile display name.
isVerifiedboolean | nullWhether the profile is verified.
isPrivateboolean | nullWhether the profile is private.
profilePicUrlstring | nullProfile image URL.

Input preview

targets馃懁 Instagram profiles *
includeStoriesInclude active stories
includeHighlightsInclude saved highlights
maxProfilesMaximum profiles
maxHighlightsPerProfileMaximum highlights per profile
maxItemsPerHighlightMaximum items per highlight

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Export public Instagram story and highlight metadata, media URLs, timestamps, captions, profile context, and status rows from usernames or profile URLs.

Use this actor when you need a repeatable CSV, JSON, Excel, or API export of Instagram Stories and Highlights data for social media monitoring, creator research, campaign review, content archiving, or AI-agent workflows.

At a glance

  • Input: Instagram usernames or profile URLs.
  • Output: Profile context, story/highlight metadata, media URLs, thumbnails, captions, timestamps, highlight titles, status rows, and errors.
  • Controls: Stories vs highlights, max profiles, max highlights per profile, max items per highlight, no-media profile rows, cookies, and proxy.
  • Best for: Public story/highlight exports, creator monitoring, social listening, and Instagram API alternative workflows.
  • Authentication-aware: Some profiles or story endpoints may require Instagram cookies.

What can it do?

  • Export Instagram story metadata: Save story media IDs, media types, URLs, thumbnails, captions, timestamps, and expiry times when available.
  • Export highlights: Save highlight IDs, titles, cover URLs, item media, and owner IDs.
  • Collect profile context: Save username, profile URL, profile ID, full name, verification/private flags, and profile image.
  • Record status rows: Save status and error fields so failed or no-media profiles can be audited.
  • Use as an Instagram Stories API alternative: Run from the Apify UI, API, schedules, webhooks, or the official Apify MCP server.

Common workflows

  • Creator monitoring: Track public story/highlight availability for selected profiles.
  • Campaign review: Export story media and timestamps for influencer or brand campaigns.
  • Content archiving: Save public story/highlight metadata and media URLs before they expire or change.
  • Social media research: Compare profile story/highlight activity across creators or brands.
  • AI-agent summaries: Let an agent collect story rows before summarizing campaign activity.

Input example

{
  "targets": ["natgeo", "https://www.instagram.com/instagram/"],
  "includeStories": true,
  "includeHighlights": true,
  "maxProfiles": 10,
  "maxHighlightsPerProfile": 5,
  "maxItemsPerHighlight": 20,
  "saveProfileOnNoMedia": true,
  "instagramCookies": "",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}

Output example

{
  "kind": "story",
  "username": "instagram",
  "profileUrl": "https://www.instagram.com/instagram/",
  "profileId": "25025320",
  "fullName": "Instagram",
  "isVerified": true,
  "isPrivate": false,
  "profilePicUrl": "https://instagram.f.../profile.jpg",
  "status": "ok",
  "sourceUrl": "https://www.instagram.com/instagram/",
  "stableId": "story:25025320:123456789",
  "mediaId": "123456789",
  "mediaType": "image",
  "mediaUrl": "https://instagram.f.../media.jpg",
  "thumbnailUrl": "https://instagram.f.../thumb.jpg",
  "caption": "New update",
  "takenAt": "2026-07-03T10:00:00.000Z",
  "expiringAt": "2026-07-04T10:00:00.000Z",
  "highlightId": null,
  "highlightTitle": null,
  "ownerId": "25025320"
}

Tips for best results

  • Start with public usernames and a small maxProfiles value.
  • Use cookies only when public requests return auth_required or similar status.
  • Keep saveProfileOnNoMedia enabled for monitoring workflows where status rows matter.
  • Use proxy for larger runs or repeated monitoring.
  • Store cookies securely and rotate them if Instagram rate-limits or invalidates the session.

Limits and caveats

  • This actor exports metadata and media URLs for public or accessible stories/highlights. It cannot bypass private-profile permissions.
  • Stories expire and may disappear between runs.
  • Some media URLs may expire or require the same session context later.
  • Instagram can require login, rate-limit requests, or change response formats.
  • Do not paste sensitive cookies into support messages or public issues.

API usage

curl "https://api.apify.com/v2/acts/fetch_cat~instagram-stories-highlights-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "targets": ["instagram"],
    "includeStories": true,
    "includeHighlights": true,
    "maxProfiles": 1
  }'

MCP and AI agents

You can run this actor through the official Apify MCP server at https://mcp.apify.com.

For a focused single-actor tool, use:

https://mcp.apify.com?tools=fetch_cat/instagram-stories-highlights-scraper

Agent-friendly inputs are targets, includeStories, includeHighlights, maxProfiles, maxHighlightsPerProfile, maxItemsPerHighlight, saveProfileOnNoMedia, instagramCookies, and proxyConfiguration.

Support

If a run fails, returns no data, or a field looks wrong, open an issue from the Actor page.

Please include the Apify run ID or run URL, input JSON, one example public URL, query, or input item, what you expected, and what the dataset returned. Small reproducible inputs make parsing or site-layout issues much faster to fix.

Common questions

Questions and answers reused from the canonical actor README.

Can this access private stories?

No. It cannot bypass privacy permissions. Cookies only help with content your session can access.

Do I need cookies?

Sometimes. Public profiles may work without cookies, but Instagram can require login for story/highlight endpoints.

Can I export to CSV or Excel?

Yes. Download the Apify dataset as CSV, Excel, JSON, XML, RSS, or through the Dataset API.

Why is mediaUrl empty?

Instagram may hide media URLs, require authentication, rate-limit the request, or return a status/error row.