TikTok Post Scraper — Video & Slideshow Data by URL or ID
Pricing
from $2.00 / 1,000 posts
TikTok Post Scraper — Video & Slideshow Data by URL or ID
Scrape any TikTok post by URL or ID — caption, play/like/comment/share/save/repost counts, author + follower stats, hashtags, mentions, music, and downloadable video/image URLs. No login or cookies. JSON, CSV, Excel.
Pricing
from $2.00 / 1,000 posts
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 hours ago
Last modified
Categories
Share
TikTok Post Scraper
Get the complete data behind any public TikTok post — video or photo slideshow — from a URL or ID. Caption, every engagement count (views, likes, comments, shares, saves, reposts), the author's profile and follower stats, hashtags, mentions, music, and downloadable video / image / cover URLs. No login, no cookies, no browser.

Why Use This Scraper?
- One request, the whole post — engagement stats, author identity, follower counts, music, hashtags, mentions, and media links all on a single row.
- Video and slideshow — photo carousels return their image URLs; videos return play + download URLs. The
postTypefield tells them apart. - Downloadable media URLs — signed CDN links for the video, cover, music, and each slideshow image, ready to fetch.
- Hashtags & mentions that don't go missing — pulled from TikTok's structured data, and re-parsed from the caption when TikTok omits them, so you never get an empty list on a post that clearly has tags.
- Newest stats — engagement is read from TikTok's
statsV2source, including therepostCountolder scrapers miss. - Bulk-friendly and honest — mix URLs, share links, and bare IDs in one run. Private, deleted, and invalid posts yield a clear error item instead of a failed run.
Overview
This Actor takes a list of TikTok posts and returns one structured row per post. It works with public posts only and requires no TikTok account.
Supported Inputs
| Input form | Example |
|---|---|
| Full post URL | https://www.tiktok.com/@nasa/video/723987198712345678 |
| Photo / slideshow URL | https://www.tiktok.com/@user/photo/723987198712345678 |
| Share link | https://vm.tiktok.com/ZMabc123/, https://vt.tiktok.com/xyz/ |
| Bare post ID | 723987198712345678 |
All forms can be mixed freely in the posts list.
Use Cases
- Influencer vetting — pull real engagement and follower counts before paying for a placement.
- Campaign & competitor tracking — snapshot the stats on any set of posts over time.
- Content archiving — grab the downloadable video / image / cover URLs for posts you need to keep.
- Trend research — analyze which hashtags, sounds, and formats are driving views in your niche.
- Datasets for AI — structured post records for training, analytics, or RAG pipelines.
- Ad & AIGC auditing — the
isAdandisAigcflags surface paid and AI-generated posts.
How It Works
- Resolve — every input is normalized to a numeric post ID. Share links are followed for free before any paid lookup.
- Extract — the post's full record is fetched: caption, engagement, author and follower stats, music, hashtags, mentions, and media.
- Deliver — one clean row per post, with downloadable media URLs, written to the dataset.
Input Configuration
| Field | Type | Default | Description |
|---|---|---|---|
posts | array | — (required) | TikTok post URLs, share links, or bare numeric IDs. |
includeMediaUrls | boolean | true | Include downloadable video / image / cover / music URLs (signed, expire in hours). |
includeAuthorStats | boolean | true | Include author bio, avatar, and follower / following / likes / video counts. |
includeHashtagsMentions | boolean | true | Include hashtag and @-mention arrays parsed from the caption. |
Example input:
{"posts": ["https://www.tiktok.com/@easyenglishwithfun/video/7607978879944379670","https://vm.tiktok.com/ZMabc123/","7673836093183151363"],"includeMediaUrls": true,"includeAuthorStats": true,"includeHashtagsMentions": true}
Output Overview
One row per post. Posts that cannot be delivered (private, deleted, invalid) produce a single error item with a message explaining why — the run itself still succeeds.
Output Samples
Post row (video, trimmed):
{"postId": "7607978879944379670","postUrl": "https://www.tiktok.com/@easyenglishwithfun/video/7607978879944379670","postType": "video","caption": "Simple English Conversation 💬 … #LearnEnglish #EnglishConversation","createdAt": "2026-02-17T23:23:48.000Z","locationCreated": "DE","durationSeconds": 72,"playCount": 2100000,"likeCount": 116800,"commentCount": 855,"shareCount": 11000,"saveCount": 21287,"repostCount": 0,"isAd": false,"isAigc": false,"stitchEnabled": false,"duetEnabled": false,"authorId": "7353205763273376800","authorUsername": "easyenglishwithfun","authorNickname": "Easy English with fun","authorVerified": false,"authorFollowerCount": 172500,"authorHeartCount": 533600,"authorVideoCount": 118,"hashtags": ["LearnEnglish", "EnglishConversation", "EnglishForBeginners"],"mentions": [],"musicTitle": "original sound - Easy English with fun","musicAuthor": "Easy English with fun","coverUrl": "https://p16-common-sign.tiktokcdn-us.com/…","videoUrl": "https://v16-webapp-prime.us.tiktok.com/…","videoDownloadUrl": "https://v16-webapp-prime.us.tiktok.com/…","imageUrls": [],"scrapedAt": "2026-08-16T18:33:00.000Z"}
Error item (private/deleted post):
{"post": "7582320231775816981","error": "post_unavailable","message": "Post 7582320231775816981 is not available — it is private, deleted, or region-blocked."}
Key Output Fields
| Field | Meaning |
|---|---|
postType | video or slideshow (photo carousel). |
playCount … repostCount | Engagement from TikTok's statsV2 — views, likes, comments, shares, saves, reposts. |
isAd / isAigc | Paid advertisement / AI-generated-content flags. |
authorFollowerCount … authorVideoCount | The author's follower, following, total-likes, and video counts. |
hashtags / mentions | Arrays parsed from the caption (structured data first, caption text as fallback). |
musicTitle / musicAuthor / musicUrl | The sound used, and its downloadable URL. |
videoUrl / videoDownloadUrl / coverUrl / imageUrls | Signed CDN media links. Slideshows fill imageUrls; videos fill the video links. |
subtitleUrl note | Need the spoken words too? See the TikTok Transcript Scraper below. |
FAQ
Do I need to log in or provide cookies? No. The Actor never touches your TikTok account and only reads public posts.
Does it handle photo slideshows?
Yes. Photo posts return their image URLs in imageUrls and are marked postType: "slideshow".
Why is a media URL not loading later? TikTok's media links are signed and expire after a few hours. Fetch them during or soon after the run — don't store the URL and expect it to work next week.
What happens with a private or deleted post? It returns an error item explaining why, and the run continues with your other posts.
Can I get the transcript / subtitles? That's a separate Actor — see TikTok Transcript Scraper. This one returns the post's metadata and media, not the spoken text.
What does it cost? Pay per result: one charge per post delivered, plus a small per-run start fee. Error items are the only thing a failed target ever costs you. No subscription.
Support
Found a bug or need a field added? Open an issue on the Actor's Issues tab in Apify Console, or email muhamed.didovic@gmail.com.
Additional Services
Need a custom TikTok or social-media scraper, enrichment pipeline, or a private version of this Actor? Custom builds available — reach out at muhamed.didovic@gmail.com.
Explore More Scrapers
- TikTok Transcript Scraper — full transcripts and subtitles from any video, every language
- TikTok Comments Scraper — every comment on any video, deduplicated, with commenter profiles
- TikTok Profile Scraper — profile details and stats for any account
- TikTok Hashtag Scraper — every video posted under a hashtag
- TikTok Search Scraper — TikTok's ranked search results for any keyword
Browse the full portfolio: muhamed-didovic.github.io
🤖 For AI Agents & LLM Apps
Purpose: Return the full structured record of public TikTok posts (video or slideshow) — caption, engagement, author + follower stats, hashtags, mentions, music, and downloadable media URLs.
Minimal tested input:
{ "posts": ["https://www.tiktok.com/@easyenglishwithfun/video/7607978879944379670"] }
Output: array of flat objects, one per post. Core fields: postId, postUrl, postType, caption, createdAt, durationSeconds, playCount, likeCount, commentCount, shareCount, saveCount, repostCount, isAd, isAigc, stitchEnabled, duetEnabled, shareEnabled, authorId, authorSecUid, authorUsername, authorNickname, authorVerified, authorPrivate, scrapedAt. With the default toggles on: authorBio, authorAvatarUrl, authorFollowerCount, authorFollowingCount, authorHeartCount, authorVideoCount, hashtags[], mentions[], musicId, musicTitle, musicAuthor, coverUrl, musicUrl, videoUrl, videoDownloadUrl, imageUrls[].
Behavior & billing: Pay-per-event — one charge per post. Media URLs are signed and expire within hours. Private/deleted/invalid posts and unresolvable links yield one error item each (error, message) instead of failing the run. No login/cookies required.
⚠️ Disclaimer
This Actor accesses publicly available data on TikTok for legitimate research, market-intelligence, and business-analysis purposes. It does not log in, bypass authentication, or access private content. Use of this Actor must comply with TikTok's Terms of Service and all applicable laws, including data-protection regulations (GDPR, CCPA, etc.). The authors are not responsible for any misuse. Users must:
- Respect rate limits and avoid overloading TikTok's infrastructure
- Not use scraped data to violate user privacy or platform terms
- Process any personal data only with a lawful basis and in compliance with their jurisdiction
- Not republish scraped content in violation of copyright
We do not store scraped data; the Actor returns it directly to your Apify dataset for your authorized use. TikTok is a trademark of ByteDance Ltd.; this Actor is not affiliated with or endorsed by TikTok or ByteDance.
SEO Keywords
tiktok post scraper, tiktok video scraper, scrape tiktok post, tiktok post data, tiktok video data, tiktok post api, tiktok video metadata, tiktok engagement scraper, tiktok stats scraper, tiktok video downloader url, tiktok slideshow scraper, tiktok photo post scraper, tiktok hashtag extractor, tiktok video stats, tiktok view count scraper, tiktok post export, tiktok video json, tiktok post to csv, tiktok content analysis, tiktok influencer data, tiktok video metrics, apify tiktok scraper