TikTok Story Viewer Scraper
Pricing
Pay per event + usage
TikTok Story Viewer Scraper
🎬 Check public TikTok profiles for story availability, story status codes, and profile metadata without login.
Pricing
Pay per event + usage
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
Track public TikTok profile story availability and export story-status metadata at scale.
What does TikTok Story Viewer Scraper do?
TikTok Story Viewer Scraper checks public TikTok profiles and returns profile story availability, account metadata, and diagnostic story fields from TikTok's public profile HTML.
Use it when you need to know whether a brand, creator, competitor, or campaign account currently exposes story-related signals without manually opening each profile.
The actor is built for public data. It does not require TikTok login cookies, passwords, or private API keys.
Who is it for?
- 📣 Social media managers monitoring creator activity
- 🧑💼 Influencer agencies checking campaign participants
- 🕵️ Brand-monitoring teams watching competitor accounts
- 📊 Analysts combining TikTok profile data with content calendars
- 🤖 Automation teams that need repeatable story-status checks
Why use this actor?
TikTok Stories are temporary. Manual checks are slow, inconsistent, and hard to audit.
This actor turns a list of TikTok profile URLs or usernames into structured rows that can be exported to JSON, CSV, Excel, Google Sheets, Make, Zapier, or your own API workflow.
How the scraper works
The actor fetches each public TikTok profile page and reads the embedded __UNIVERSAL_DATA_FOR_REHYDRATION__ payload.
It extracts profile metadata and story-related status fields such as UserStoryStatus when TikTok exposes them in the public HTML.
Data you can extract
| Field | Description |
|---|---|
profileUrl | Normalized TikTok profile URL |
username | TikTok username |
nickname | Display name |
verified | Whether TikTok marks the account verified |
privateAccount | Whether the profile is private |
followerCount | Public follower count |
storyStatus | Raw TikTok story status code when available |
hasActiveStory | Normalized active-story indicator when determinable |
storyStatusLabel | Human-readable story status label |
storyItemCount | Number of story items found in embedded data |
storyIds | Story item IDs when embedded |
storyUrls | Story media URLs when embedded |
scrapedAt | ISO timestamp for the check |
How much does it cost to scrape TikTok story status?
The actor uses pay-per-event pricing with a small run-start event and one result event per saved profile row.
A small monitoring run with 10 profiles is designed to be inexpensive. Larger recurring checks scale with the number of profile rows saved.
Input
You can provide either full TikTok profile URLs or usernames.
Example input:
{"profileUrls": [{ "url": "https://www.tiktok.com/@tiktok" },{ "url": "https://www.tiktok.com/@tiktokforbusiness" }],"usernames": ["tiktok"],"maxProfiles": 10,"includeRawData": false}
Output
Example output row:
{"profileUrl": "https://www.tiktok.com/@tiktok","username": "tiktok","nickname": "TikTok","verified": true,"followerCount": 94465285,"storyStatus": 0,"hasActiveStory": false,"storyStatusLabel": "no_active_story","storyItemCount": 0,"storyIds": [],"storyUrls": [],"scrapedAt": "2026-06-19T00:00:00.000Z"}
Step-by-step usage
- Open the actor on Apify.
- Add TikTok profile URLs or usernames.
- Keep
maxProfileslow for your first test. - Run the actor.
- Export the dataset or connect it to an integration.
Tips for best results
- Use profile URLs when you already have them.
- Use usernames when your source system stores handles.
- Schedule repeated runs for ephemeral story monitoring.
- Keep raw diagnostics disabled unless you are debugging.
- Expect some profiles to have no active public story at check time.
Integrations
Send results to Google Sheets for campaign monitoring.
Trigger Make scenarios when hasActiveStory changes.
Use Zapier to notify account managers about creator story activity.
Pull dataset items through the Apify API for BI dashboards.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/tiktok-story-viewer-scraper').call({usernames: ['tiktok'],maxProfiles: 5});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/tiktok-story-viewer-scraper').call({'usernames': ['tiktok'],'maxProfiles': 5,})print(run['defaultDatasetId'])
API usage with cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~tiktok-story-viewer-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"usernames":["tiktok"],"maxProfiles":5}'
MCP usage
Use the actor from Claude through Apify MCP:
https://mcp.apify.com/?tools=automation-lab/tiktok-story-viewer-scraper
Claude Code setup:
$claude mcp add apify-tiktok-story-viewer https://mcp.apify.com/?tools=automation-lab/tiktok-story-viewer-scraper
Claude Desktop JSON config:
{"mcpServers": {"apify-tiktok-story-viewer": {"url": "https://mcp.apify.com/?tools=automation-lab/tiktok-story-viewer-scraper"}}}
Example prompts:
- "Check these TikTok profiles for public story status."
- "Create a table of TikTok accounts with active story signals."
- "Monitor these creator handles and summarize story availability."
Scheduling workflow
Stories are temporary, so a scheduled run is often more useful than a one-time run.
Run the actor hourly or daily, then compare the newest dataset with previous runs in your own database or spreadsheet.
Troubleshooting
If a profile returns an error, confirm that the profile URL is public and accessible in a browser.
If hasActiveStory is null, TikTok did not expose enough public story data to make a definitive active/inactive decision.
If storyItemCount is zero, the profile may simply have no active public story at the time of the run.
Limitations
TikTok may change public HTML fields at any time.
The actor does not log in to TikTok.
The actor does not bypass private accounts.
Story media URLs are only returned when TikTok embeds them in the public profile payload.
Legality and responsible use
This actor extracts publicly available profile information. Use it responsibly, respect TikTok's terms, follow privacy rules, and avoid collecting data you are not allowed to process.
Related TikTok scrapers
FAQ
Does this download TikTok stories?
It records story-status metadata and story media URLs only when they are exposed in public profile HTML. It is not a login-based downloader.
Do I need cookies?
No. The MVP is designed for public profile checks without cookies.
Can I monitor many profiles?
Yes. Add profile URLs or usernames and increase maxProfiles as needed.
Why do some rows say no active story?
Stories expire quickly, and many public profiles do not have an active story at the exact time of scraping.
Changelog
- Initial version: public TikTok profile story-status extraction.