Instagram Story Scraper πΈ
Pricing
from $4.99 / 1,000 results
Instagram Story Scraper πΈ
πΈ Instagram Story Scraper helps you efficiently collect Instagram Story data for insights, marketing & competitor research. π Save time, streamline workflows, and boost decision-making. πβ¨ Perfect for analysts & creators.
Pricing
from $4.99 / 1,000 results
Rating
0.0
(0)
Developer
API Empire
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
πΈ Instagram Story Scraper
Pull live (24-hour) Instagram stories for any public profile and get back the full, structured story payload β video & image versions, music, stickers, links, mentions, engagement flags, and optional on-image caption text (OCR). Feed it bare usernames, @handles, or full profile URLs in bulk and watch results stream into your dataset in real time.
β¨ Why Choose This Actor?
- π§± Complete data β nothing stripped. Every field Instagram returns for a story is preserved, in a clean canonical order.
- π€ Any input format β
natgeo,@kyliejenner,instagram.com/taylorswift, orhttps://www.instagram.com/therock/. Mix and match, in bulk. - π‘οΈ Self-healing proxy ladder β starts direct, auto-escalates to datacenter, then a sticky residential proxy only when needed. Clear logs at every step.
- π OCR captions β optionally reads text burned into the story frame (titles, stickers, mentions) into
extractedCaption. - πΎ Live saving β each story is pushed the moment it's ready, so a partial run never loses data.
- ποΈ Six ready-made table views β slice results by Media, Images, Music, Stickers, Engagement, or a quick Overview.
π Key Features
| Feature | Description |
|---|---|
| π Bulk input | Scrape many profiles in one run |
| π¬ Full media | video_versions, video_dash_manifest, codecs, qualities, dimensions |
| πΌοΈ Image versions | Every cover-frame candidate resolution |
| π΅ Music | music_metadata enriched from story music stickers |
| π Stickers & links | Link stickers, feed-media stickers, mentions, reshares |
| β±οΈ CDN expiry enrichment | Fills url_expiration_timestamp_us from CDN oe= when missing |
| π OCR caption | Optional extractedCaption per story |
π₯ Input
| Field | Type | Required | Description |
|---|---|---|---|
usernames | array | β | Usernames or profile URLs (bulk). |
sessionId | string | β | Your Instagram sessionid cookie (stories are login-gated). |
extractCaptionText | boolean | β | Enable OCR caption extraction. Default false. |
proxyConfiguration | object | β | Proxy settings. Default: direct with auto-fallback. |
Example
{"usernames": ["therock", "@kyliejenner", "https://www.instagram.com/natgeo/"],"sessionId": "REDACTED_SESSIONID_COOKIE","extractCaptionText": false,"proxyConfiguration": { "useApifyProxy": false }}
πͺ Where to get
sessionId: Log into Instagram in your browser β DevTools β Application β Cookies β instagram.com βsessionid. Treat it like a password.
π€ Output
Each dataset item is one story with the full Instagram payload. Abridged example:
{"scraped_username": "therock","id": "3920998746292350747_232192182","pk": "3920998746292350747","code": "DZqL5Xdge8b","taken_at": 1781637893,"expiring_at": 1781724293,"media_type": 2,"product_type": "story","video_duration": 60.04,"has_audio": true,"video_versions": [{ "width": 720, "height": 1280, "url": "https://β¦" }],"image_versions2": { "candidates": [{ "width": 1080, "height": 1920, "url": "https://β¦" }] },"music_metadata": { "music_asset_info": { "audio_asset_id": "18121840837670133" } },"story_link_stickers": [{ "story_link": { "url": "https://β¦" } }],"extractedCaption": ""}
ποΈ Dataset views
| View | Shows |
|---|---|
| ποΈ Overview | IDs, type, timestamps, duration, OCR caption |
| π¬ Media & Video | Codecs, qualities, dimensions, video versions |
| πΌοΈ Image Versions | All cover-frame candidates |
| π΅ Music | Music metadata & music stickers |
| π Stickers, Links & Mentions | Link stickers, feed media, mentions, reshares |
| π¬ Engagement & Flags | Like/reply/reshare/save flags, paid partnership |
π How to Use (Apify Console)
- Log in at https://console.apify.com β Actors.
- Open Instagram Story Scraper.
- Paste usernames / URLs, add your
sessionId, choose proxy & OCR options. - Click Start.
- Watch the logs stream live story collection.
- Open the Output tab and switch between the six section views.
- Export to JSON / CSV / XLSX.
π€ Use via API
curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"usernames": ["therock", "@kyliejenner"],"sessionId": "YOUR_SESSIONID","extractCaptionText": false}'
π― Best Use Cases
- π Monitor competitor / influencer story activity
- ποΈ Archive brand & creator stories before they expire
- π Track link stickers, promos, and product drops
- π΅ Analyze trending audio usage in stories
πΈ Pricing
This actor uses pay-per-event: you're charged per story successfully delivered to your dataset (story-result). Profiles with no live stories cost nothing beyond the run start. The optional OCR step runs on Apify compute and is included in the run usage.
β FAQ
Do I need a session cookie? Yes β stories are only visible to logged-in viewers, so a valid sessionid is required.
What if a profile has no active stories? You'll see a friendly "no live stories" log line and no items for that profile β no charge.
Will I get blocked? The actor starts direct and only escalates to datacenter then sticky residential proxies when Instagram pushes back, with backoff retries. For heavy use, enable Apify Proxy.
Why is pk sometimes huge? It's Instagram's numeric primary key, returned as-is.
βοΈ Legal & Compliance
- Data is collected only from publicly available profiles you have the right to view.
- Do not scrape private accounts or content you aren't authorized to access.
- You are responsible for compliance with GDPR, CCPA, Instagram's ToS, and local laws.
π Support & Feedback
Found a bug or want a new field exposed? Open an issue on the actor's Issues tab β real answers, fast.