TikTok Post Scraper — Video & Slideshow Data by URL or ID avatar

TikTok Post Scraper — Video & Slideshow Data by URL or ID

Pricing

from $2.00 / 1,000 posts

Go to Apify Store
TikTok Post Scraper — Video & Slideshow Data by URL or ID

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

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

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.

How it works

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 postType field 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 statsV2 source, including the repostCount older 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 formExample
Full post URLhttps://www.tiktok.com/@nasa/video/723987198712345678
Photo / slideshow URLhttps://www.tiktok.com/@user/photo/723987198712345678
Share linkhttps://vm.tiktok.com/ZMabc123/, https://vt.tiktok.com/xyz/
Bare post ID723987198712345678

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 isAd and isAigc flags surface paid and AI-generated posts.

How It Works

  1. Resolve — every input is normalized to a numeric post ID. Share links are followed for free before any paid lookup.
  2. Extract — the post's full record is fetched: caption, engagement, author and follower stats, music, hashtags, mentions, and media.
  3. Deliver — one clean row per post, with downloadable media URLs, written to the dataset.

Input Configuration

FieldTypeDefaultDescription
postsarray— (required)TikTok post URLs, share links, or bare numeric IDs.
includeMediaUrlsbooleantrueInclude downloadable video / image / cover / music URLs (signed, expire in hours).
includeAuthorStatsbooleantrueInclude author bio, avatar, and follower / following / likes / video counts.
includeHashtagsMentionsbooleantrueInclude 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

FieldMeaning
postTypevideo or slideshow (photo carousel).
playCountrepostCountEngagement from TikTok's statsV2 — views, likes, comments, shares, saves, reposts.
isAd / isAigcPaid advertisement / AI-generated-content flags.
authorFollowerCountauthorVideoCountThe author's follower, following, total-likes, and video counts.
hashtags / mentionsArrays parsed from the caption (structured data first, caption text as fallback).
musicTitle / musicAuthor / musicUrlThe sound used, and its downloadable URL.
videoUrl / videoDownloadUrl / coverUrl / imageUrlsSigned CDN media links. Slideshows fill imageUrls; videos fill the video links.
subtitleUrl noteNeed 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

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