Instagram Stories Scraper
Pricing
$1.80 / 1,000 instagram stories
Instagram Stories Scraper
Collect active Instagram Stories from public Instagram usernames, @handles, or full profile URLs without an Instagram login. Get one dataset row per Story with its ID, owner details, source media URL, posted time, and audio status when available.
Pricing
$1.80 / 1,000 instagram stories
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
📸 See active Instagram Stories from public profiles
Instagram teams, creators, researchers, and developers can use this Instagram story viewer to collect active Stories from public accounts. The Actor saves one dataset row per Story with its ID, owner details, a source-hosted image or video URL, and the posting time. This gives you structured public Story data to review, archive, or use in your own workflow without an Instagram login. Source-hosted media URLs can expire or change.
- View active Stories from a public Instagram account without an Instagram login with View Instagram Anonymously.
- Review Story media and metadata from a public profile with Instagram Story Viewer Anonymous.
- Collect Story rows from several public accounts with Instagram Story Viewers Free.
- Check active Stories on a public account with Instagram Story Viewer.
- Find a way to view a public Story without an Instagram login with How to View Someone's Instagram Story Without It Showing.
🧾 Active Story rows
Each saved dataset row represents one active Instagram Story found for a submitted public account. A row includes the Story ID, owner details, the media type and source URL, and the time the Story was posted. It can also include extra media variants and the source audio status. Source-hosted media URLs can expire or change.
▶️ Check accounts and collect Stories
Run steps
- Add one or more public Instagram usernames,
@handles, or full Instagram profile URLs. - Put one account value on each line. The prefilled
nasavalue is a valid starting point. - Start the run and open the
datasetItemslink to view theoverviewdataset.
The Actor saves each eligible Story as it finds it. If the same source Story appears again from another submitted account value, the first saved match is kept and later repeats are ignored. If one account has no active Stories or cannot be retrieved, the Actor continues with the other submitted accounts.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
instagramAccounts | array of strings | Required. Adds one or more public Instagram usernames, @handles, or full Instagram profile URLs, with one value per line. Private accounts and login-only Stories are not supported. |
The list must contain at least one non-empty value. Use a username such as nasa, an @handle such as @leomessi, or a full profile URL such as https://www.instagram.com/nasa/.
Example input
This is the public input from a successful hosted run for nasa:
{"instagramAccounts": ["nasa"]}
🧾 Output
Output link
| Field | Type | What it does |
|---|---|---|
datasetItems | string | Opens the overview view of the run dataset with active Instagram Story rows. |
Every dataset row has the same active Story shape. Optional owner fields, media variants, and audio status appear when Instagram provides them.
Dataset row fields
| Field | Type | What it does |
|---|---|---|
storyId | string | Stable ID for the active Story. |
owner | object | Account that published the Story. |
owner.username | string | Username of the Story owner. |
owner.accountId | string | Stable account ID of the Story owner. |
owner.profileImageUrl | string, optional | Source profile image URL when available. |
owner.displayName | string, optional | Display name of the Story owner when available. |
owner.isVerified | boolean, optional | Whether the source marks the owner as verified. |
media | object | Story media and its source links. |
media.type | string | Media type, either image or video. |
media.url | string | Main source URL for viewing or downloading the media. |
media.variants | array of objects, optional | Additional source media links when available. |
media.variants[].url | string | Source URL for an additional media variant. |
postedAt | string | Source time when the Story was posted, in date-time format. |
hasAudio | boolean, optional | Whether the source says the Story has audio. |
Example row
This genuine video row is from a successful hosted run that used nasa and instagram. It shows optional media variants and hasAudio.
{"storyId": "3992001623786203220","owner": {"username": "instagram","accountId": "25025320","displayName": "Instagram","isVerified": true,"profileImageUrl": "https://scontent.cdninstagram.com/v/t51.82787-19/550891366_18667771684001321_1383210656577177067_n.jpg?stp=dst-jpg_s150x150_tt6&_nc_cat=1&ccb=7-5&_nc_sid=f7ccc5&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy4xMDgwLkMzIn0%3D&_nc_ohc=Ey-85Ni3L1oQ7kNvwFtfDhy&_nc_oc=AdpyD933nS7bfeP4BxsZVgnB-wnCVlSky3M2IHZeFWVnpugmMzThecFpkPlQ9NhcWU8&_nc_zt=24&_nc_ht=scontent.cdninstagram.com&_nc_gid=rC7j8K7DuDqqYEaydj9bgA&_nc_ss=70689&oh=00_AQKtHRXf3CzmD-mfUWyOuD3k0J598LopnNfXrLypNb2Vdg&oe=6AB8D7A7"},"media": {"type": "video","url": "https://scontent-ord5-2.cdninstagram.com/o1/v/t2/f2/m78/AQMxyrymDDRj4yFrV_HoheSbaOEVysnmwm_U-vfdXBgY3zCscIQSmY5Ex4BYguVamuxhH5APf2mYDuN3wl8Kbn-J537wvghBeA2iJxw.mp4?_nc_cat=102&_nc_sid=5e9851&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_ohc=d53MIIkyuwwQ7kNvwF2oo1i&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5JTlNUQUdSQU0uU1RPUlkuQzMuNzIwLmRhc2hfYmFzZWxpbmVfMV92MSIsInhwdl9hc3NldF9pZCI6MTg3OTU5MDQwNDUwMDEzMjEsImFzc2V0X2FnZV9kYXlzIjowLCJ2aV91c2VjYXNlX2lkIjoxMDEwMCwiZHVyYXRpb25fcyI6OCwidXJsZ2VuX3NvdXJjZSI6Ind3dyJ9&ccb=17-1&vs=6a3268af114eb87d&_nc_vs=HBksFQIYUWlnX3hwdl9wbGFjZW1lbnRfcGVybWFuZW50X3YyLzI4NDJFNjIxRkNDNzJDM0FEOTE0QjhBMUJENDNCQTk2X3ZpZGVvX2Rhc2hpbml0Lm1wNBUAAsgBEgAVAhhRaWdfeHB2X3BsYWNlbWVudF9wZXJtYW5lbnRfdjIvRDU0RjlGRjJEODEzQUMwNTVGNEE5RTJEMjBENTI5QThfYXVkaW9fZGFzaGluaXQubXA0FQICyAESACgAGAAbAogHdXNlX29pbAExEnByb2dyZXNzaXZlX3JlY2lwZQExFQAAJtKprf3NseNCFQIoAkMzLBdAISHKwIMSbxgSZGFzaF9iYXNlbGluZV8xX3YxEQB16Adl6J0BAA&_nc_gid=gEOrXLsKg0ch0hRckVh8EA&_nc_ss=7b62e&_nc_zt=28&oh=00_AQLc9nlaIDoDs9TH4wCmjsTIyhdCB--kRxxGkurqzorwwg&oe=6AB4D007","variants": [{"url": "https://scontent-ord5-1.cdninstagram.com/v/t51.71878-15/818988074_2596032594202917_8438114136002539121_n.jpg?stp=dst-jpg_e15_tt6&_nc_cat=1&ig_cache_key=Mzk5MjAwMTYyMzc4NjIwMzIyMA%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IlNUT1JZLnhwaWRzLjY0MC5zZHIudmlkZW9fZmlyc3RfZnJhbWVfdGh1bWJuYWlsLkMzIn0%3D&_nc_ohc=qvaWfU4Fo6QQ7kNvwEQtHsA&_nc_oc=Adp_FwXZSnejcKMMvKOlo8goAeZk_2xQldzgOWlXkP0B-ITjxB5rTZUN-LapA7rh488&_nc_zt=23&_nc_ht=scontent-ord5-1.cdninstagram.com&_nc_gid=gEOrXLsKg0ch0hRckVh8EA&_nc_ss=7b62e&oh=00_AQKqGfmDyoTGmYYA5okzVQuLi5I3uwFeQUkevXHOMWKLTQ&oe=6AB8D911"}]},"postedAt": "2026-09-22T19:01:35.000Z","hasAudio": true}
💳 Pricing
This Actor uses pay-per-event pricing. The charged event applies to each successfully retrieved active Instagram Story saved to the dataset. The current price is shown on the Pricing tab before you run.
🔌 Integrations
Open the datasetItems link in Apify or read the overview dataset through the Apify API. Use the source-hosted media URLs from each row in your own workflow. These URLs may expire, so use or store them soon after the run.
❓ FAQ
What happens if one account has no active Stories?
No row is saved for that account, and the Actor continues with the other submitted accounts.
Can I enter a username, @handle, or full profile URL?
Yes. Add a bare username, an @handle, or a full Instagram profile URL. Put one value on each line.
Does the Actor need my Instagram login?
No. It reads Stories from public accounts without an Instagram login.
Can it access private accounts or login-only Stories?
No. Private accounts and login-only Stories are outside the supported public-access boundary.
What does hasAudio tell me?
hasAudio is included when Instagram provides whether the Story has audio. It can be absent when the source does not provide it.
Can I use this like an Instagram story viewer website?
This is an Apify Actor, not an interactive Instagram page. It returns structured dataset rows and direct source-hosted media URLs that you can open or download.
Can I use it for Reels, posts, or Story Highlights?
No. This Actor is for active Stories from public accounts. Posts, Reels, Story Highlights, and standalone profile scraping are outside this product.
Is the same Story saved more than once?
When the same source Story appears again from another submitted account value, the first eligible match saved is kept and later repeats are ignored.
📝 Changelog
v0.0
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Instagram Downloader API collects media links from known public Instagram posts, reels, and TV pages.
- Instagram Profile Stats Scraper collects public profile counts, account flags, and profile details for known accounts.
- TikTok Story Viewer checks active public TikTok Stories from profile targets.
- Snapchat Story Viewer collects public Snapchat Stories and Highlights with source media links.
- Instagram User Search Scraper finds public Instagram accounts by keyword so you can choose profiles to check.
Made with ❤️ by Maxime Dupré