# Instagram Story Viewer (`igview-owner/instagram-story-viewer`) Actor

Just enter one or multiple usernames and instantly get all active stories with media URLs, timestamps, mentions, shared posts, and user details. Ideal for agencies, brands, and analysts tracking Instagram activity.

- **URL**: https://apify.com/igview-owner/instagram-story-viewer.md
- **Developed by:** [Sachin Kumar Yadav](https://apify.com/igview-owner) (community)
- **Categories:** Social media, Videos, Automation
- **Stats:** 854 total users, 116 monthly users, 100.0% runs succeeded, 11 bookmarks
- **User rating**: 4.71 out of 5 stars

## Pricing

from $5.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 📸 Instagram Story Viewer - View & Download Instagram Stories Anonymously

**View and download Instagram stories from any public account without logging in. Extract story images, videos, mentions, stickers, and shared media with comprehensive metadata. Perfect for social media monitoring, content analysis, and competitive research!**

### 📋 Table of Contents

- [🚀 Features](#-features)
- [🎯 Use Cases](#-use-cases)
- [⚡ Quick Start](#-quick-start)
- [📊 Input Parameters](#-input-parameters)
- [📤 Output Format](#-output-format)
- [🎨 Story Elements Extracted](#-story-elements-extracted)
- [❓ FAQ](#-faq)

### 🚀 Features

#### 📸 **Anonymous Story Viewing**

- ✅ **No Login Required** - View Instagram stories without an account
- ✅ **Anonymous Access** - Browse stories completely anonymously
- ✅ **Public Accounts** - Access stories from any public Instagram profile
- ✅ **Real-Time Data** - Get the latest active stories instantly
- ✅ **Batch Processing** - View stories from multiple users efficiently

#### 🎬 **Complete Media Extraction**

- ✅ **Images & Videos** - Download both image and video stories
- ✅ **Multiple Resolutions** - Get HD, standard, and thumbnail versions
- ✅ **Direct URLs** - Access direct download links for all media
- ✅ **Audio Detection** - Identify stories with audio content
- ✅ **Metadata Included** - Full story metadata with timestamps

#### 🏷️ **Advanced Story Elements**

- ✅ **User Mentions** - Extract @mentions with profile information
- ✅ **Stickers & Tags** - Capture all story stickers and their positions
- ✅ **Shared Media** - Detect shared posts and reels in stories
- ✅ **Position Data** - Get exact coordinates of all story elements
- ✅ **User Profiles** - Include complete user profile information

### 🎯 Use Cases

| Use Case | Description | Benefits |
|----------|-------------|----------|
| 📊 **Social Media Monitoring** | Track competitor stories and campaigns | Monitor brand activities, analyze content strategies |
| 🎯 **Influencer Research** | Analyze influencer story content | Identify collaboration opportunities, track engagement |
| 📢 **Brand Monitoring** | Monitor brand mentions in stories | Track brand visibility, measure campaign reach |
| 📝 **Content Archiving** | Save stories before they expire | Create content archives, preserve important moments |
| 🔍 **Competitive Analysis** | Study competitor story strategies | Benchmark performance, discover trends |
| 📈 **Marketing Analytics** | Analyze story content and timing | Optimize posting schedules, improve content strategy |
| 🎓 **Research & Analysis** | Study social media behavior | Collect data for academic or market research |
| 💼 **Agency Services** | Provide story monitoring for clients | Deliver comprehensive social media reports |

### ⚡ Quick Start

#### 1️⃣ **Basic Story Viewing**

```json
{
  "username": "instagram"
}
```

#### 2️⃣ **With User Information**

```json
{
  "username": "cristiano",
  "includeUserInfo": true,
  "includeStickers": true
}
```

#### 3️⃣ **Minimal Data Extraction**

```json
{
  "username": "selenagomez",
  "includeUserInfo": false,
  "includeStickers": false
}
```

### 📊 Input Parameters

#### Configuration Options

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `username` | String | ✅ | - | Instagram username (without @) to view stories from |
| `includeUserInfo` | Boolean | ❌ | `true` | Include user profile information in output |
| `includeStickers` | Boolean | ❌ | `true` | Extract mentions, stickers, and shared media |

#### 📝 **Parameter Details**

**username**

- Must be a valid Instagram username
- Do not include the @ symbol
- Examples: `instagram`, `cristiano`, `selenagomez`
- Case-insensitive

**includeUserInfo**

- When `true`: Includes user ID, username, privacy status, and profile picture URL
- When `false`: Only basic story data is returned
- Recommended: Keep enabled for complete data

**includeStickers**

- When `true`: Extracts mentions, stickers, and shared media with position data
- When `false`: Only media URLs and basic metadata
- Useful for analyzing story engagement and collaborations

### 📤 Output Format

#### 📸 **Story Data Structure**

```json
{
  "source": "instagram",
  "story_id": "3773069825095106469",
  "username": "instagram",
  "user_id": "25025320",
  "taken_at": 1764004982,
  "taken_at_date": "2024-11-23T10:30:00.000Z",
  "has_audio": true,
  "original_width": 720,
  "original_height": 1280,
  "media_type": "video",
  "image_url": "https://scontent-waw2-2.cdninstagram.com/...",
  "image_url_hd": "https://scontent-waw2-2.cdninstagram.com/...",
  "image_thumbnail": "https://scontent-waw2-2.cdninstagram.com/...",
  "video_url": "https://scontent-waw2-2.cdninstagram.com/...",
  "video_width": 720,
  "video_height": 1280,
  "user_info": {
    "id": "25025320",
    "username": "instagram",
    "is_private": false,
    "profile_pic_url": "https://..."
  },
  "mentions": [
    {
      "username": "discopretty",
      "full_name": "jay ˚⋆𐘚 🛍",
      "account_id": "65337104959",
      "profile_pic_url": "https://...",
      "position": {
        "x": 0.518,
        "y": 0.885,
        "width": 0.5,
        "height": 0.059,
        "rotation": 0
      }
    }
  ],
  "shared_media": [
    {
      "media_id": "3773063662429370792",
      "media_code": "DRcnWkSCXmo",
      "media_type": "video",
      "product_type": "clips",
      "position": {
        "x": 0.5,
        "y": 0.462,
        "width": 0.5,
        "height": 0.5,
        "rotation": 0
      }
    }
  ]
}
```

#### 📊 **Data Fields Explained**

| Field Category | Fields | Description |
|----------------|--------|-------------|
| **Basic Info** | `source`, `story_id`, `username`, `user_id` | Story identification and source |
| **Timestamps** | `taken_at`, `taken_at_date` | Unix timestamp and ISO date |
| **Media Type** | `media_type`, `has_audio` | Image or video, audio presence |
| **Dimensions** | `original_width`, `original_height` | Original media dimensions |
| **Image URLs** | `image_url`, `image_url_hd`, `image_thumbnail` | Multiple resolution options |
| **Video URLs** | `video_url`, `video_width`, `video_height` | Video download link and dimensions |
| **User Data** | `user_info` | Complete user profile information |
| **Interactions** | `mentions`, `shared_media` | Story mentions and shared content |

### 🎨 Story Elements Extracted

#### 📸 **Media Content**

| Element | Description | Format |
|---------|-------------|--------|
| **Images** | Story photos in multiple resolutions | JPG, PNG |
| **Videos** | Story videos with audio detection | MP4 |
| **HD Quality** | High-definition versions (640px+) | Direct URLs |
| **Thumbnails** | Low-res previews (320px) | Quick loading |

#### 🏷️ **Interactive Elements**

| Element | Data Extracted | Use Case |
|---------|----------------|----------|
| **Mentions** | Username, full name, profile pic, position | Track collaborations |
| **Stickers** | Type, position, rotation | Analyze engagement |
| **Shared Posts** | Media ID, type, code | Monitor content sharing |
| **Position Data** | X, Y coordinates, dimensions | Recreate story layout |

### ❓ FAQ

#### **Q: Do I need an Instagram account to use this?**

**A:** No! This actor works completely anonymously without requiring any Instagram login or authentication.

#### **Q: Can I view stories from private accounts?**

**A:** No, only public Instagram accounts are accessible. Private accounts will return an error or no results.

#### **Q: How long are stories available?**

**A:** Instagram stories expire after 24 hours. This actor can only access currently active stories.

#### **Q: What if a user has no stories?**

**A:** The actor will complete successfully but return an empty result set with a message indicating no stories were found.

#### **Q: Are the download links permanent?**

**A:** No, Instagram media URLs may expire after some time. Download and save media immediately if needed.

#### **Q: Can I download stories in bulk?**

**A:** Yes! You can run the actor multiple times with different usernames or integrate it into your workflow for batch processing.

#### **Q: What data is included in mentions?**

**A:** Mentions include the username, full name, account ID, profile picture URL, and exact position coordinates on the story.

#### **Q: Does this work for Instagram Reels?**

**A:** This actor is specifically for Instagram Stories. For Reels, you would need a different solution.

#### **Q: Is this legal and compliant?**

**A:** This tool accesses publicly available data only. Users must comply with Instagram's Terms of Service and applicable laws. Use responsibly and ethically.

#### **Q: How often can I run this actor?**

**A:** You can run it as often as needed, but be mindful of rate limits. The actor includes automatic retry logic and key rotation for reliability.

***

### Related Actors 🤝

- [Instagram Story Scraper](https://apify.com/igview-owner/instagram-story-viewer)
- [Instagram Highlights Scraper](https://apify.com/igview-owner/instagram-highlights-stories-viewer)
- [Instagram Post Scraper](https://apify.com/igview-owner/instagram-post-viewer)
- [Instagram Reels and Post downloader](https://apify.com/igview-owner/instagram-video-downloader)

***

### 🏷️ **Find Me Tags**

`instagram story viewer`, `instagram story downloader`, `instagram stories scraper`, `view instagram stories anonymously`, `download instagram stories`, `instagram story api`, `instagram story extractor`, `instagram story analytics`, `instagram story monitoring`, `instagram story archiver`, `instagram story saver`, `instagram story backup`, `instagram story data extraction`, `instagram story metadata`, `instagram mentions extractor`, `instagram stickers scraper`, `instagram story viewer without login`, `anonymous instagram story viewer`, `instagram story viewer online`, `instagram story downloader apify`, `instagram story scraper apify actor`, `instagram social media monitoring`, `instagram competitor analysis`, `instagram influencer research`, `instagram content analysis`, `instagram story automation`, `instagram story tracking`, `instagram story research tool`, `instagram story batch download`, `instagram story api scraper`, `instagram story viewer tool`, `instagram story data scraper`, `instagram story content extractor`

***

### 🚀 **Get Started Now**

**Ready to view Instagram stories anonymously?**

1. Click ["Try for free"](https://apify.com?fpr=ykgg9c) to test the actor
2. Enter an Instagram username
3. Get comprehensive story data instantly

**⭐ If this actor helps your workflow, please give it a star!**

***

*Built with ❤️ by Sachin Kumar Yadav using Apify Platform*

# Actor input Schema

## `usernames` (type: `array`):

Enter Instagram usernames (without @ symbol). Example: \['instagram', 'cristiano', 'leomessi']. You can add multiple usernames to scrape stories from multiple accounts in one run.

## Actor input object example

```json
{
  "usernames": [
    "instagram"
  ]
}
```

# Actor output Schema

## `storiesOverview` (type: `string`):

Open the dataset view with an overview of all scraped stories including media type, URLs, dimensions, and timestamps.

## `userProfiles` (type: `string`):

Open the dataset view with user profile details including profile pictures and privacy settings.

## `stickersAndMentions` (type: `string`):

Open the dataset view with detailed sticker and mention data for each story.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "usernames": [
        "instagram"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("igview-owner/instagram-story-viewer").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "usernames": ["instagram"] }

# Run the Actor and wait for it to finish
run = client.actor("igview-owner/instagram-story-viewer").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "usernames": [
    "instagram"
  ]
}' |
apify call igview-owner/instagram-story-viewer --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,igview-owner/instagram-story-viewer"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/7eNb0Yr5dLwy1jfPS/builds/jhZNplLsVKuGelTTm/openapi.json
