TikTok Story Viewer
Pricing
from $0.04 / 1,000 story items
TikTok Story Viewer
View and export active public TikTok stories from usernames or profile URLs. Get video links, covers, timestamps, engagement stats, music metadata, author details, and clean dataset exports.
Pricing
from $0.04 / 1,000 story items
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
8
Total users
6
Monthly active users
5 days ago
Last modified
Categories
Share
🎬 TikTok Story Viewer for active public stories
TikTok Story Viewer exports active public stories from TikTok usernames, @handles, or profile URLs. Add profiles such as hbomax, @tiktok, or https://www.tiktok.com/@tiktok, then get one dataset row per active story with video links, cover images, timestamps, engagement stats, music metadata, author details, and source IDs.
Use this TikTok story viewer when you need a repeatable way to view TikTok stories for brand monitoring, creator research, social reporting, content review, or archiving workflows. The Actor is focused on public profile stories only. It does not ask for TikTok cookies, a TikTok login, or a TikTok API key.
For a useful first run, keep the prefilled profile list and default story limit. TikTok stories expire quickly, so a zero-row run usually means the submitted profiles had no active public stories when the Actor checked them.
✅ What this Actor does
- Accepts TikTok usernames, @handles, and public profile URLs.
- Checks active public stories for each submitted profile.
- Saves one dataset row per active story.
- Returns source IDs, creation time, duration, region, and ad/top flags when TikTok exposes them.
- Adds video URLs, watermarked video URLs, cover images, animated covers, origin covers, and media size fields when available.
- Adds visible engagement stats such as plays, likes, comments, shares, downloads, and collects.
- Adds music metadata such as sound title, author, audio URL, cover URL, duration, and original-sound flag when available.
- Adds author details such as TikTok user ID, username, display name, and avatar URL.
- Keeps commerce data in a structured
commerceobject when TikTok exposes it. - Skips private, unavailable, unsupported, or storyless profiles without saving placeholder rows.
This Actor does not discover profiles, scrape regular TikTok videos, scrape comments, search TikTok, monitor hashtags, collect followers, or download media files into Apify storage. It returns the public story data and media URLs TikTok exposes during the run.
📦 Data you can export
Each output row represents one active public TikTok story. Top-level fields include:
storyId,videoId,profileUsername,title,createdAt,durationSeconds,region,isAd, andisTopauthorwithid,username,name, andavatarUrlmediawithvideoUrl,watermarkedVideoUrl,coverUrl,dynamicCoverUrl,originCoverUrl,sizeBytes, andwatermarkedSizeBytesengagementwithplayCount,likeCount,commentCount,shareCount,downloadCount, andcollectCountmusicwithid,title,author,playUrl,coverUrl,durationSeconds, andisOriginalcommercewhen TikTok exposes commerce data for the story
You can open the dataset in Apify, export it as JSON, CSV, Excel, XML, RSS, or HTML, call it through the Apify API, schedule repeat checks, or send rows to webhooks and integrations.
🚀 How to run
- Add one or more profiles in TikTok profiles.
- Use usernames such as
hbomax, @handles such as@tiktok, or full profile URLs such ashttps://www.tiktok.com/@tiktok. - Leave Story limit per profile at
0to save all active stories TikTok exposes, or set a number to cap each profile. - Choose Story order if you need newest-first, oldest-first, or TikTok's profile order.
- Start the Actor and open the dataset.
Stories expire quickly. If a profile has no active public story when the Actor checks it, no row is saved for that profile.
🔧 Input
| Field | What to enter |
|---|---|
targets | TikTok usernames, @handles, or public profile URLs. |
maxStoriesPerProfile | Maximum active stories to save for each profile. 0 means all active stories TikTok exposes. |
sortStories | Output order for stories from each profile: newest, oldest, or profileOrder. |
Example input:
{"targets": ["hbomax", "@tiktok", "https://www.tiktok.com/@tiktok"],"maxStoriesPerProfile": 0,"sortStories": "newest"}
📄 Output example
{"storyId": "7645112817745480991","videoId": "7645112817745480991","profileUsername": "tiktok","title": "Example TikTok story","createdAt": "2026-06-23T10:15:27.000Z","durationSeconds": 14,"region": "US","isAd": false,"isTop": false,"author": {"id": "107955","username": "tiktok","name": "TikTok","avatarUrl": "https://p16-sign.tiktokcdn-us.com/example-avatar.jpeg"},"media": {"videoUrl": "https://www.tiktok.com/aweme/v1/play/?video_id=example","watermarkedVideoUrl": "https://www.tiktok.com/aweme/v1/playwm/?video_id=example","coverUrl": "https://p16-sign.tiktokcdn-us.com/example-cover.jpeg","dynamicCoverUrl": "https://p16-sign.tiktokcdn-us.com/example-dynamic-cover.webp","originCoverUrl": "https://p16-sign.tiktokcdn-us.com/example-origin-cover.jpeg","sizeBytes": 1845234,"watermarkedSizeBytes": 1960123},"engagement": {"playCount": 120350,"likeCount": 8420,"commentCount": 184,"shareCount": 91,"downloadCount": 12,"collectCount": 530},"music": {"id": "7398101500000000000","title": "Original sound","author": "TikTok","playUrl": "https://v16-webapp-prime.tiktok.com/example-audio.mp3","coverUrl": "https://p16-sign.tiktokcdn-us.com/example-music-cover.jpeg","durationSeconds": 18,"isOriginal": true},"commerce": null}
Some fields can be null when TikTok does not expose that value for a story. Photo-style story rows may include covers while video and music URLs are null.
💳 Pricing
This Actor uses pay-per-event pricing. You are charged once for each active public TikTok story the Actor finds and saves.
The local pricing artifact starts at $0.0753 per 1,000 saved stories on the FREE tier, then drops by tier to $0.0183 per 1,000 saved stories on DIAMOND. Profiles with no active public stories do not create charged story items. The live Pricing tab is the source of truth once the Actor is published.
⚠️ Limits and caveats
- TikTok stories are temporary and can disappear between runs.
- Media URLs may expire, so process important media soon after export.
- Private, deleted, unavailable, restricted, or storyless profiles are skipped.
- The Actor works with public profile stories, not regular profile videos or TikTok search.
- Output depends on what TikTok exposes publicly at run time.
❓ FAQ
🔐 Do I need TikTok cookies or a login?
No. The Actor is designed for public TikTok story data and does not ask for cookies, login details, or an API key.
🔎 Why did my run return zero rows?
Most often, the submitted profiles had no active public stories when the Actor checked them. TikTok stories are temporary, so try another public profile or run again later.
📥 Does this download the video files?
No. It exports TikTok media URLs and metadata. If you need saved media files from regular TikTok video URLs, use TikTok Video Downloader.
🕒 Can I run this on a schedule?
Yes. You can schedule the Actor on Apify to check the same profiles repeatedly and export each run's dataset through the API, webhooks, or integrations.
📝 Changelog
- 0.1: Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Other actors
- TikTok Video Downloader ↗ - export fresh media links from known public TikTok video URLs.
- TikTok Slideshow Downloader ↗ - download photos from public TikTok slideshow URLs.
- TikTok Transcript Scraper ↗ - extract transcripts, captions, subtitles, and metadata from public TikTok videos.
- TikTok Keywords Discovery Tool ↗ - collect TikTok autocomplete suggestions for keyword research.
- TikTok Live Search Scraper ↗ - search active TikTok LIVE rooms by keyword and export room data.
Made with ❤️ by Maxime Dupré